首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 系统软件 / 操作系统 / 进程 / 基于资源预分配与公共引导代理的多核作业调度方法

基于资源预分配与公共引导代理的多核作业调度方法

阅读:355发布:2024-02-01

专利汇可以提供基于资源预分配与公共引导代理的多核作业调度方法专利检索,专利查询,专利分析的服务。并且本 发明 是基于资源预分配与公共引导代理的多核作业调度方法,采用统一的方式规范化不同类型作业的基本信息、资源需求及状态转换;获取 站点 资源配置信息,依据不同的层次对站点资源信息进行分类;依据当前资源管理系统提供的站点资源使用情况,得出用户作业的需求类型;以站点作业调度队列信息、引导代理作业的提交数量、引导代理作业的大小、用户的认证信息以及作业的运行共享目录为参数,向用户 指定 站点的作业调度队列提交引导代理作业并占据与引导代理大小相同的计算资源;依据作业的标识信息,创建调度 进程 执行用户作业。本发明的计算资源分配方式简单、耗时短,以公用引导代理的方实现了多核作业的调度,大大的减少了内存资源的消耗问题。,下面是基于资源预分配与公共引导代理的多核作业调度方法专利的具体信息内容。

1.基于资源预分配与公共引导代理的多核作业调度方法,其特征在于,该方法包括以下步骤:
步骤1)用户作业分类
用统一的方式规范化不同类型作业的基本信息、资源需求及状态转换,并通过分析用户作业的需求特征,把相同特征的用户作业归入同一作业队列,形成规范化作业;
步骤2)资源状态采集
获取站点资源配置信息,依据不同的层次对站点资源信息进行分类,获取单核和多核队列的资源状态,依据当前资源管理系统提供的站点资源使用情况,得出各个队列所支持的用户作业的需求类型,将资源信息与作业队列需求进行匹配检测,记录满足需求的队列的资源特征;
步骤3)分布式资源分配
对用户作业指定站点的作业处理环境进行检测,依据当前作业等待队列的源需求,利用资源管理系统提供的当前引导代理的运行状态,以站点作业调度队列信息、引导代理的提交数量、引导代理的大小、用户的认证信息以及作业的运行共享目录为参数,通过资源公共访问接口,向用户指定站点的作业调度队列提交引导代理作业并占据与引导代理大小相同的计算资源,以方便用户作业的拉取;
步骤4)作业调度
检测满足资源需求的作业等待队列,依据检测结果,以当前可利用的计算资源为主,在作业等待队列中随机匹配满足资源需求的用户作业,将成功匹配的作业添加到执行队列,并为作业提供执行所需的基本信息,监控作业运行情况以及资源状态,实时更新作业的状态和引导代理的可利用资源数;
步骤5)作业并行化执行
初始化引导代理作业的资源共享池,依据该作业的标识信息,从资源管理系统中获取作业的输入文件、输出日志和文件信息的配置信息,获取当前资源之内的可利用资源数,并依据本地站点调度队列的资源类型,将计算资源分配给当前用户作业,在资源池内创建调度进程执行用户作业,并实时监控作业的运行情况。
步骤6)获取作业输出结果文件,日志文件以及错误信息。
2.根据权利要求1所述的基于资源预分配与公共引导代理的多核作业调度方法,其特征在于,所述步骤1)中的规范化作业包括以下三个部分:
A.基本信息
描述作业的基本属性,包括作业号、作业类型、所属用户、作业组、作业优先级及相关联的文件信息;
B.需求信息
描述作业调度和执行所需的存储、内存和CPU资源的信息,包括执行环境、指定站点、所需CPU资源、存储空间、内存需求及CPU运行时间;
C.状态信息
描述用户作业在生命周期内的状态以及资源实际使用的信息,包括作业的基本状态、创建时间、开始执行时间、完成时间、所处节点信息、内存实际消耗、CPU实际运行时间。
3.根据权利要求1所述的基于资源预分配与公共引导代理的多核作业调度方法,其特征在于,所述步骤3)中采用资源预分配策略,将引导代理作业作为资源预留容器发送到分布式计算平台的指定站点,引导代理大小被指定为该调度队列可支持最大作业核数和当前最大作业需求核数两者的最小值,引导代理作业的数量则是由资源状态和作业队列信息共同决定的,计算公式为:
pilotsToSubmit=max(0,min(totalSlots,totalTQJobs-totalWaitingPilots)),其中,pilotsToSubmit为站点代理一次循环下提交引导代理作业的数量,totalSlots为该站点资源数量,totalTQJobs为当前队列的作业等待数量,totalWaitingPilots为当前等待占取资源的引导代理数量。
4.根据权利要求1所述的基于资源预分配与公共引导代理的多核作业调度方法,其特征在于,所述步骤4)至步骤5)是在公用引导代理调度模式下,完成多核作业的调度与执行,作业的调度从计算站点移动到引导代理内部,假设现有M个混合作业等待调度,是第i个作业的核数,i∈[1,M],若站点存在N核引导代理,当 +...+ ≤N时,其中1≤k≤m≤M,则作业 ... 可被引导代理同时调度执行,若 +...+=N,则表示引导代理资源无空闲,反之则会产生资源碎片;
在多用户不同类型作业的调度与执行情况下,将作业的完成情况及资源利用率作为系统性能的评价指标,作业资源利用率的计算公式可表示为:

其中,站点可用资源数为N,作业完成数目为n, 为第i个作业的核数, 为该作业的运行时间。
5.根据权利要求2所述的基于资源预分配与公共引导代理的多核作业调度方法,其特征在于,所述作业的基本状态包括等待、匹配、运行、结束和失败。

说明书全文

基于资源预分配与公共引导代理的多核作业调度方法

技术领域

[0001] 本发明涉及高能物理实验领域,具体涉及一种基于资源预分配与公共引导代理的多核作业调度方法。

背景技术

[0002] 为了处理和分析高能物理实验所产生模拟数据、数据处理产生的重建数据,并为物理学家提供良好的分析计算环境,分布式计算正是计算机辅助计算技术发展的必然结果。分布式计算技术是利用网络把异地的异构计算资源整合起来,形成一台虚拟的超级计算机,并为大规模的计算作业提供强大的计算能。其中,代表性的有中间件、点对点传输、网页服务、网格和计算技术。
[0003] 国外高能物理领域对分布式计算系统的多核作业调度模式设计与资源分配技术的研究比较早,对实验作业的结构、作业调度模式以及多核资源的分配等工作做了大量的探索与研究,具有代表性的就是欧洲大型强子对撞机CMS(compact muon solenoid,紧凑型缪子螺线管探测器)和ATLAS(AToroidal LHC Apparatus,环形LHC装置)实验作业处理系统。相对于国外,JUNO(Jiangmen Underground Neutrino Observatory,江中微子实验)的作业处理系统在多核并行方面的研究相对较少,最具有代表性的就是中科院高能物理研究所的JUNO并行仿真框架
[0004] 高能物理实验的作业处理过程主要包含作业的提交,资源的分配以及作业的处理,而作业的处理又包含作业的调度、执行以及结果的输出等功能,这也是高能物理分布式计算系统的核心。在现今状况下,随着实验数据量及事件复杂性不断的增加,将会导致每个作业的处理时间变长,极大地增加内存资源的消耗,从而导致实验现有的单核作业处理模式将难以满足每个单核作业的内存需求。本发明目的之一是提出一种耗时短且简单的资源分配策略;本发明另一目的旨在优化了用户对分布式计算资源的访问,实现了多核作业的调度与并行化执行。

发明内容

[0005] 本发明的目的在于克服现有技术存在的问题,提供一种基于资源预分配与公共引导代理的多核作业调度方法,能够避免在分布式计算单核处理模式下内存资源不足的现象,并提高了分布式计算资源的利用率及作业处理效率。
[0006] 为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:一种基于资源预分配与公共引导代理的多核作业调度方法,该方法包括以下步骤:
步骤1)用户作业分类
用统一的方式规范化不同类型作业的基本信息、资源需求及状态转换,并通过分析用户作业的需求特征,把相同特征的用户作业归入同一作业队列,形成规范化作业;
步骤2)资源状态采集
获取站点资源配置信息,依据不同的层次对站点资源信息进行分类,获取单核和多核队列的资源状态,依据当前资源管理系统提供的站点资源使用情况,得出各个队列所支持的用户作业的需求类型,将资源信息与作业队列需求进行匹配检测,记录满足需求的队列的资源特征;
步骤3)分布式资源分配
对用户作业指定站点的作业处理环境进行检测,依据当前作业等待队列的源需求,利用资源管理系统提供的当前引导代理的运行状态,以站点作业调度队列信息、引导代理的提交数量、引导代理的大小、用户的认证信息以及作业的运行共享目录为参数,通过资源公共访问接口,向用户指定站点的作业调度队列提交引导代理作业并占据与引导代理大小相同的计算资源,以方便用户作业的拉取;
步骤4)作业调度
检测满足资源需求的作业等待队列,依据检测结果,以当前可利用的计算资源为主,在作业等待队列中随机匹配满足资源需求的用户作业,将成功匹配的作业添加到执行队列,并为作业提供执行所需的基本信息,监控作业运行情况以及资源状态,实时更新作业的状态和引导代理的可利用资源数;
步骤5)作业并行化执行
初始化引导代理作业的资源共享池,依据该作业的标识信息,从资源管理系统中获取作业的输入文件、输出日志和文件信息的配置信息,获取当前资源之内的可利用资源数,并依据本地站点调度队列的资源类型,将计算资源分配给当前用户作业,在资源池内创建调度进程执行用户作业,并实时监控作业的运行情况。
[0007] 步骤6)获取作业输出结果文件,日志文件以及错误信息。
[0008] 进一步的,所述步骤1)中的规范化作业包括以下三个部分:A.基本信息
描述作业的基本属性,包括作业号、作业类型、所属用户、作业组、作业优先级及相关联的文件信息;
B.需求信息
描述作业调度和执行所需的存储、内存和CPU资源的信息,包括执行环境、指定站点、所需CPU资源、存储空间、内存需求及CPU运行时间;
C.状态信息
描述用户作业在生命周期内的状态以及资源实际使用的信息,包括作业的基本状态、创建时间、开始执行时间、完成时间、所处节点信息、内存实际消耗、CPU实际运行时间。
[0009] 进一步的,所述步骤3)中采用资源预分配策略,将引导代理作业作为资源预留容器发送到分布式计算平台的指定站点,引导代理大小被指定为该调度队列可支持最大作业核数和当前最大作业需求核数两者的最小值,引导代理作业的数量则是由资源状态和作业队列信息共同决定的,计算公式为:pilotsToSubmit=max(0,min(totalSlots,totalTQJobs-totalWaitingPilots)),其中,pilotsToSubmit为站点代理一次循环下提交引导代理作业的数量,totalSlots为该站点资源数量,totalTQJobs为当前队列的作业等待数量,totalWaitingPilots为当前等待占取资源的引导代理数量。
[0010] 进一步的,所述步骤4)至步骤5)是在公用引导代理调度模式下,完成多核作业的调度与执行,作业的调度从计算站点移动到引导代理内部,假设现有M个混合作业等待调度, 是第i个作业的核数,i∈[1,M],若站点存在N核引导代理,当 +...+≤N时,其中1≤k≤m≤M,则作业 ... 可被引导代理同时调度执行,若+...+ =N,则表示引导代理资源无空闲,反之则会产生资源碎片;
在多用户不同类型作业的调度与执行情况下,将作业的完成情况及资源利用率作为系统性能的评价指标,作业资源利用率的计算公式可表示为:

其中,站点可用资源数为N,作业完成数目为n, 为第i个作业的核数, 为该作业的运行时间。
[0011] 进一步的,所述作业的基本状态包括等待、匹配、运行、结束和失败。
[0012] 本发明的有益效果是:本发明能够避免在分布式计算单核处理模式下内存资源不足的现象,并提高了分布式计算资源的利用率及作业处理效率,并且计算资源分配方式简单、耗时短,以公用引导代理的方实现了多核作业的调度,大大的减少了内存资源的消耗问题。
附图说明
[0013] 图1为本发明基于引导代理的资源预分配策略;图2为本发明公用引导代理的作业调度模式;
图3为本发明多核作业调度方法的具体流程图

具体实施方式

[0014] 下面将参考附图并结合实施例,来详细说明本发明。
[0015] 一种基于资源预分配与公共引导代理的多核作业调度方法,该方法包括以下步骤:步骤1)用户作业分类
用统一的方式规范化不同类型作业的基本信息、资源需求及状态转换,并通过分析用户作业的需求特征,把相同特征的用户作业归入同一作业队列,形成规范化作业;
步骤2)资源状态采集
获取站点资源配置信息,依据不同的层次对站点资源信息进行分类,获取单核和多核队列的资源状态,依据当前资源管理系统提供的站点资源使用情况,得出各个队列所支持的用户作业的需求类型,将资源信息与作业队列需求进行匹配检测,记录满足需求的队列的资源特征;
步骤3)分布式资源分配
对用户作业指定站点的作业处理环境进行检测,依据当前作业等待队列的源需求,利用资源管理系统提供的当前引导代理的运行状态,以站点作业调度队列信息、引导代理的提交数量、引导代理的大小、用户的认证信息以及作业的运行共享目录为参数,通过资源公共访问接口,向用户指定站点的作业调度队列提交引导代理作业并占据与引导代理大小相同的计算资源,以方便用户作业的拉取;
步骤4)作业调度
检测满足资源需求的作业等待队列,依据检测结果,以当前可利用的计算资源为主,在作业等待队列中随机匹配满足资源需求的用户作业,将成功匹配的作业添加到执行队列,并为作业提供执行所需的基本信息,监控作业运行情况以及资源状态,实时更新作业的状态和引导代理的可利用资源数;
步骤5)作业并行化执行
初始化引导代理作业的资源共享池,依据该作业的标识信息,从资源管理系统中获取作业的输入文件、输出日志和文件信息的配置信息,获取当前资源之内的可利用资源数,并依据本地站点调度队列的资源类型(单核或多核),将计算资源分配给当前用户作业,在资源池内创建调度进程执行用户作业,并实时监控作业的运行情况。
[0016] 步骤6)获取作业输出结果文件,日志文件以及错误信息。
[0017] 所述步骤1)中的规范化作业包括以下三个部分:A.基本信息
描述作业的基本属性,包括作业号、作业类型、所属用户、作业组、作业优先级及相关联的文件信息;
B.需求信息
描述作业调度和执行所需的存储、内存和CPU资源的信息,包括执行环境、指定站点、所需CPU资源、存储空间、内存需求及CPU运行时间;
C.状态信息
描述用户作业在生命周期内的状态以及资源实际使用的信息,包括作业的基本状态、创建时间、开始执行时间、完成时间、所处节点信息、内存实际消耗、CPU实际运行时间。
[0018] 所述步骤3)中采用资源预分配策略,具体的设计如图1所示,将引导代理作业作为资源预留容器发送到分布式计算平台的指定站点,其中,引导代理作业的大小和数量是分布式计算资源利用率影响的关键因素,引导代理大小被指定为该调度队列可支持最大作业核数和当前最大作业需求核数两者的最小值,引导代理作业的数量则是由资源状态和作业队列信息共同决定的,计算公式为:pilotsToSubmit=max(0,min(totalSlots,totalTQJobs-totalWaitingPilots)),其中,pilotsToSubmit为站点代理一次循环下提交引导代理作业的数量,totalSlots为该站点资源数量,totalTQJobs为当前队列的作业等待数量,totalWaitingPilots为当前等待占取资源的引导代理数量。
[0019] 所述步骤4)至步骤5)是在公用引导代理调度模式下,完成多核作业的调度与执行,作业的调度从计算站点移动到引导代理内部,具体的模式图如图2所示,假设现有M个混合作业等待调度, 是第i个作业的核数,i∈[1,M],若站点存在N核引导代理,当+...+ ≤N时,其中1≤k≤m≤M,则作业 ... 可被引导代理同时调度执行,若 +...+ =N,则表示引导代理资源无空闲,反之则会产生资源碎片;
在多用户不同类型作业的调度与执行情况下,将作业的完成情况及资源利用率作为系统性能的评价指标,作业资源利用率的计算公式可表示为:

其中,站点可用资源数为N,作业完成数目为n, 为第i个作业的核数, 为该作业的运行时间。
[0020] 所述作业的基本状态包括等待、匹配、运行、结束和失败。
[0021] 在本实施例中,参考附图3,来详细说明本发明:1)初始化作业队列,根据作业集Job = { job1  , job2  ,  ..., jobi ,  ... ,jobn}内作业的资源需求和用户优先级,分类并加入作业队列;
2)以循环时间为时间间隔,遍历站点集S,检测并统计S的资源状态;
3)根据作业队列中作业的资源需求,采用本发明的资源预分配策略,将引导代理作业集P={pt1,pt2 ,..., pti ,...,ptn}提交到指定站点集S中的工作节点WNj;
4)工作节点WNj为引导代理作业pti分配计算资源,pti启动作业代理,并初始化剩余资源;
5)通过匹配服务,根据可利用资源数动态匹配作业队列中等待作业;
6)若作业jobk匹配成功,资源池会主动获取作业jobk的参数信息,执行作业jobk,并更新剩余资源;
7)作业jobk执行成功后,更新剩余资源,并反馈作业信息;若作业出现错误,则pti结束并释放计算资源;
8)若pti到达生命周期,则pti结束并主动释放工作节点的计算资源,并把引导代理信息反馈至监控系统
[0022] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈