一种计算多应用功能异步并发调度方法

文档序号:6623547阅读:113来源:国知局
一种计算多应用功能异步并发调度方法
【专利摘要】本发明公开了一种计算多应用功能异步并发调度方法,该方法综合各个应用功能的计算任务的耗时特性和数量以及计算机群节点的规模和性能信息,通过为各个应用功能独立设置合适的计算作业调度粒度,形成各个应用功能的计算作业,添加到分布式计算管理平台的调度序列中,实现多个应用功能的计算任务异步并发提交、多个应用功能的计算作业的统一调度计算和多个应用功能的计算结果异步回收。实施本发明的有益效果是,支持在多个应用功能内部多计算任务的异步并发,通过合理利用空闲计算节点以执行计算任务,提高了整个系统的计算效率。
【专利说明】一种计算多应用功能异步并发调度方法

【技术领域】
[0001]本发明涉及计算应用领域,尤其涉及一种计算多应用功能异步并发调度方法。

【背景技术】
[0002]在云计算领域,特别是需要进行大量计算的领域,计算技术通过网络构建计算计算管理平台,充分利用多台计算机的并行处理能力,在规定的计算周期内,通过静态、暂态、动态安全稳定分析计算,实现电网安全稳定性的实时监视、分析和控制。但是,目前已实现云计算的计算管理平台有的只支持在一个应用功能内部多计算任务的异步并发,有的只支持多个应用功能同步并发,但是在一个计算周期内,在还有计算任务等待调度的情况下无法保证计算完成的计算节点都能立刻触发新的调度,造成计算资源的闲置浪费,也延长了整个系统的计算周期。


【发明内容】

[0003]本发明要解决的技术问题在于,针对上述只支持在一个应用功能内部多计算任务的异步并发或者多个应用功能同步并发,无法合理利用计算节点而造成计算资源的闲置浪费的问题,提供一种计算多应用功能异步并发调度方法。
[0004]本发明解决其技术问题所采用的技术方案是:构造一种计算多应用功能异步并发调度方法,提供包括管理节点及多个计算节点的计算管理平台,该方法包括以下步骤:
[0005]S1、所述管理节点接收计算数据,启动满足启动条件的应用功能;若启动的应用功能需要向计算管理平台提交计算任务,则转至步骤S2 ;若否,则启动后续应用功能;
[0006]S2、所述计算管理平台接收所提交的计算任务,依据公式(I)、(2)和(3)计算每一所述应用功能的计算任务调度粒度Tg,其中,所提交的应用功能的计算任务的数目为m个,每个计算任务的预计执行时间为CTi (I ( i <m),所述计算管理平台中具有η个计算节点,每个所述计算节点可同时运行α “I彡j彡η)个计算任务,每个计算作业的调度开销时间为',λ ^为预设的计算管理平台调度开销时间性能因子的门槛值;公式(I)定义了使该应用功能的计算时间Et的最小的优化目标函数;公式(2)定义了应用功能的计算任务调度粒度Tg大于或等于该应用功能的最小计算任务预计执行时间的约束;公式(3)定义了应用功能的计算时间和调度开销时间的性能约束;

(V m/IΛ
[0007]min(尽(CT, [, m, /7, Ti')) ~ min ~(^ + Γ ) (I)


IiaJ
vLJ J
[0008]TgSminlCTJ (2)
[0009]Tg/Te 彡 λ ? (3)
[0010]S3、所述计算管理平台根据应用功能的计算任务预计执行时间,形成各个应用功能的计算任务序列;
[0011]S4、计算管理平台根据应用功能预设的计算优先级,将各个应用功能的计算任务序列添加到计算管理平台的计算任务调度队列中;
[0012]S5、对计算任务调度队列按照应用功能的调度粒度和计算任务的预计执行时间形成分配到对应的所述计算节点的计算作业,并将所述计算作业添加到计算作业调度队列中,依次分配给计算管理平台中对应处于空闲状态的计算节点进行计算;
[0013]S6、当计算节点计算完成后,向管理节点传送计算结果。管理节点感知后,回收合并相应的计算结果,同时将已回送计算结果的计算节点置为空闲状态,并触发新的计算节点空闲调度,若还有尚未计算的计算任务,转至步骤S5 ;直到所有应用功能的计算任务调度完毕;对于回收到计算结果的计算作业,判断其所属的应用功能是否所有计算任务的计算结果都已经返回,若都已返回,则向该应用功能返回计算完成信息,同时根据系统的计算流程判断是否有新的应用功能满足启动条件,若有,则启动满足启动条件的应用功能,转至步骤S2 ;若没有满足启动条件的应用功能,且其它满足启动条件的应用功能都计算完成后,则本次流程计算结束。
[0014]在本发明所述的计算多应用功能异步并发调度方法中,所述步骤S5包括以下子步骤:
[0015]S51、在计算任务调度队列中找到第一个尚未计算或需要重新计算的计算任务,并记录该计算任务的应用功能标识a,假定目前应用功能a已生成了 J个计算作业,每个计算作业包含的计算任务数目为Ntask(I) (I ^ I ^ J),当前处于空闲状态等待调度的计算节点编号为C,新生成的计算作业编号记为J+1 ;
[0016]S52、从计算任务调度队列中依次取出该应用功能a尚未计算或需要重新计算的计算任务,若应用功能a存在需要计算的计算任务k (I < k < m),则先判断式(4)约束条件是否满足,若满足约束,则将该计算任务k直接加入到该计算作业J+1中,则进行后续计算任务遍历;否则,则转至步骤S53进行计算作业预计执行时间约束判断;若该应用功能a所有计算任务都已经添加到计算作业,转至步骤S54进行计算作业下发;其中,式(4)定义了当前计算任务k直接添加到计算作业J+1的计算任务数量约束条件,即当前计算作业J+1包含的计算任务数量应小于分配到的计算节点上运行计算进程数目;
[0017]Ntask (J+l)+l ^ Qc (4)
[0018]S53、对于应用功能a的计算任务k,判断其加入到计算作业J+1后,计算作业J+1的预计计算时间是否满足式(5)的调度粒度约束;若满足,则将该计算任务k直接加入到计算作业J+1中,转至步骤S52继续遍历应用功能a后续的其它计算任务;若不满足式(5)的约束,再判断计算任务调度队列中是否还存在该应用功能a其它需要调度的计算任务,若存在,转至步骤S51继续进行后续计算任务遍历;若不存在,则转步骤S54;其中,式(5)定义计算任务k加入到计算作业J+1的预计执行时间约束条件,即当前计算作业J+1包含的计算任务预计执行时间总和应小于所述计算任务调度粒度Tg的α。倍:

(J+1)
[0019]Y,CT + CTk <acxTg (5)
[0020]S54、从高性能计算管理平台计算作业队列中将编号为J+1的计算作业取出调度给计算节点C进行计算。
[0021]在本发明所述的计算多应用功能异步并发调度方法中,在所述步骤S4中,所述计算优先级包括所述应用功能的运行触发条件、运行优先级、运行资源消耗权值。
[0022]实施本发明的一种计算多应用功能异步并发调度方法,具有以下有益效果:支持在多个应用功能内部多计算任务的异步并发,通过合理利用空闲计算节点以执行计算任务,提高了整个系统的计算效率。

【专利附图】

【附图说明】
[0023]下面将结合附图及实施例子对本发明作进一步说明,附图中:
[0024]图1为高性能计算管理平台多个应用功能异步并发调度示意图;
[0025]图2为高性能计算异步并发调度方法的流程图;
[0026]图3为应用功能计算任务形成计算作业示意图。

【具体实施方式】
[0027]为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的【具体实施方式】。
[0028]本发明目的在于提供一种计算多应用功能异步并发调度方法,同时本发明在兼容传统应用功能的计算任务串行调度的基础上,支持多个应用功能的计算任务同时并发提交给计算管理平台进行调度计算,可充分利用计算节点的计算资源,有效避免由于某个应用功能在一个计算节点上那个计算作业正在计算而导致其它计算节点不能被其它应用功能使用的情况。同时提供给应用功能一种计算作业粒度设置方法,可根据应用功能的计算任务的规模、单个计算任务的预计计算耗时、计算节点数量和计算管理平台的调度开销时间为每个应用功能指定一个计算作业的调度粒度,在缩短整个系统计算周期的基础上,尽可能减少计算平台的开销时间,提高整个系统的计算效率。
[0029]图1为高性能计算管理平台多个应用功能异步并发调度示意图,图1通过示意图的方式,简单说明i个应用功能同时并发提交计算任务,计算管理平台感知后,形成i个应用功能的调度序列,进行异步并发调度的示意流程。
[0030]图2为高性能计算异步并发调度方法的流程图,参见图2,本发明提供的一种计算多应用功能异步并发调度方法包括以下步骤:
[0031]S1、图2中步骤I描述的是计算管理平台管理节点接收到计算数据后,根据系统的计算流程,启动满足启动条件的A个应用功能,分别为应用功能1、应用功能2、…一直到应用功能A ;若启动的应用功能需要向计算管理平台提交计算任务,转2)进行计算作业准备;否则,转I)继续启动后续应用功能;
[0032]S2、图2中步骤2描述的是每个应用功能都向计算管理平台提交计算任务信息,假定第a个应用功能(l<a<A)的计算任务数目为m个,每个计算任务的预计执行时间为CTi (I彡i彡m),假定系统中具有η个计算节点,每个计算节点j可同时运行α」(1彡j彡η)个计算任务(即计算进程数目),每个计算作业计算管理平台的调度开销时间为Te,选择的计算任务调度粒度Tg满足式(I):
/Tm /IΛ


YtCTi /
[0033]mi 11(^(CT1,Γ:,m,n,T )) ^ min ~,,(^ + Γ )(I)



M
\L」 7
[0034]同时计算任务调度粒度应大于等于该应用功能提交计算任务的最小预计执行时间,即满足式(2)约束:
[0035]TgSminlCTJ (2)
[0036]为提高并行计算效率,应尽可能减少计算管理平台调度开销在计算周期中所占的比例,假定计算管理平台的调度开销时间性能因子为λ ^,计算任务调度粒度应满足式
(3):
[0037]Tg/Te 彡 λ。⑶
[0038]S3、图2中步骤3描述的是计算管理平台根据应用功能的计算任务预计执行时间,形成各个应用功能的计算任务序列;
[0039]S4、图2中步骤4描述的是计算管理平台根据应用功能的计算优先级,将各个应用功能的计算任务序列添加到计算管理平台的计算任务调度队列中;
[0040]S5、图2中步骤5描述的是计算按照计算节点“空闲优先触发调度”的原则,对计算任务调度队列按照应用功能的调度粒度和计算任务的预计执行时间进行计算作业组织,并将形成的计算作业添加到计算作业调度队列中,依次分配给计算机群中对应处于空闲状态的计算节点进行计算。计算作业形成和调度的具体步骤如下:
[0041]S51、在计算任务调度队列中找到第一个尚未计算或需要重新计算的计算任务,并记录该计算任务的应用功能标识a,假定目前应用功能a已生成了 J个计算作业(已完成计算或正在计算),每个计算作业包含的计算任务数目为Ntask(j) (I ^ j ^ J),当前处于空闲状态等待调度的计算节点编号为C,新生成的计算作业编号记为J+1 ;
[0042]S52、从计算任务调度队列中依次取出该应用功能a尚未计算或需要重新计算的计算任务,若应用功能a存在需要计算的计算任务k (I < k < m),则先判断式(4)约束条件是否满足,若满足约束,则将该计算任务k直接加入到该计算作业J+1中(具体如图3情况一所描述),进行后续计算任务遍历;否则,则转S53进行计算作业预计执行时间约束判断;若该应用功能a所有计算任务都已经添加到计算作业,转S54进行计算作业下发;
[0043]Ntask (J+l)+l ^ Qc (4)
[0044]S53、对于应用功能a的计算任务k,判断其加入到计算作业J+1后,计算作业J+1的预计计算时间是否满足式(5)的调度粒度约束;若满足,则将该计算任务k直接加入到计算作业J+1中(具体如图3情况二所描述),转S52继续遍历应用功能a后续的其它计算任务;若不满足式(5)的约束,再判断计算任务调度队列中是否还存在该应用功能a其它需要调度的计算任务,若存在,转S51继续进行后续计算任务遍历;若不存在,则转S54 ;
j— M 丨)
[0045]'Y.CT +CT, <a XT(5)
(4IkCg

ι=1
[0046]S54、从计算管理平台计算作业队列中将编号为J+1的计算作业取出调度给计算节点C进行计算。
[0047]S6、图2中步骤6描述的是当计算节点计算完成后,向管理节点传送计算结果。管理节点感知后,回收合并相应的计算结果,同时将已回送计算结果的计算节点置为空闲状态,并触发新的计算节点空闲调度,若还有尚未计算的计算任务,转S5 ;直到所有应用功能的计算任务调度完毕;对于回收到计算结果的计算作业,判断其所属的应用功能是否所有计算任务的计算结果都已经返回,若都已返回,则向该应用功能返回计算完成信息,同时根据系统的计算流程判断是否有新的应用功能满足启动条件,若有,则启动满足启动条件的应用功能,转S2 ;若没有满足启动条件的应用功能,且其它满足启动条件的应用功能都计算完成后,则本次流程计算结束。
[0048]上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的【具体实施方式】,上述的【具体实施方式】仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
【权利要求】
1.一种计算多应用功能异步并发调度方法,提供包括管理节点及多个计算节点的计算管理平台,其特征在于,包括以下步骤: 51、所述管理节点接收计算数据,启动满足启动条件的应用功能;若启动的应用功能需要向计算管理平台提交计算任务,则转至步骤S2 ;若否,则启动后续应用功能; 52、所述计算管理平台接收所提交的计算任务,依据公式(I)、(2)和(3)计算每一所述应用功能的计算任务调度粒度Tg,其中,所提交的应用功能的计算任务的数目为m个,每个计算任务的预计执行时间为CTi (I ( i <m),所述计算管理平台中具有η个计算节点,每个所述计算节点可同时运行α “I彡j彡η)个计算任务,每个计算作业的调度开销时间为Te, λ ^为预设的计算管理平台调度开销时间性能因子的门槛值;公式(I)定义了使该应用功能的计算时间Et的最小的优化目标函数;公式(2)定义了应用功能的计算任务调度粒度Tg大于或等于该应用功能的最小计算任务预计执行时间的约束;公式(3)定义了应用功能的计算时间和调度开销时间的性能约束;
(Y m/IΛ min(£; (CT, 7;, m, /7, T )) = min ~? g (7;? + T,) UJtaj TgSminICTJ (2)
Tg/Te ^ λ0 (3) 53、所述计算管理平台根据应用功能的计算任务预计执行时间,形成各个应用功能的计算任务序列; 54、计算管理平台根据应用功能预设的计算优先级,将各个应用功能的计算任务序列添加到计算管理平台的计算任务调度队列中; 55、对计算任务调度队列按照应用功能的调度粒度和计算任务的预计执行时间形成分配到对应的所述计算节点的计算作业,并将所述计算作业添加到计算作业调度队列中,依次分配给计算管理平台中对应处于空闲状态的计算节点进行计算; 56、当计算节点计算完成后,向管理节点传送计算结果。管理节点感知后,回收合并相应的计算结果,同时将已回送计算结果的计算节点置为空闲状态,并触发新的计算节点空闲调度,若还有尚未计算的计算任务,转至步骤S5 ;直到所有应用功能的计算任务调度完毕;对于回收到计算结果的计算作业,判断其所属的应用功能是否所有计算任务的计算结果都已经返回,若都已返回,则向该应用功能返回计算完成信息,同时根据系统的计算流程判断是否有新的应用功能满足启动条件,若有,则启动满足启动条件的应用功能,转至步骤S2;若没有满足启动条件的应用功能,且其它满足启动条件的应用功能都计算完成后,则本次流程计算结束。
2.根据权利要求1所述的计算多应用功能异步并发调度方法,其特征在于,所述步骤S5包括以下子步骤: S51、在计算任务调度队列中找到第一个尚未计算或需要重新计算的计算任务,并记录该计算任务的应用功能标识a,假定目前应用功能a已生成了 J个计算作业,每个计算作业包含的计算任务数目为Ntask(I) (I ^ I ^ J),当前处于空闲状态等待调度的计算节点编号为C,新生成的计算作业编号记为J+1 ; 552、从计算任务调度队列中依次取出该应用功能a尚未计算或需要重新计算的计算任务,若应用功能a存在需要计算的计算任务k(l彡k彡m),则先判断式(4)约束条件是否满足,若满足约束,则将该计算任务k直接加入到该计算作业J+1中,则进行后续计算任务遍历;否则,则转至步骤S53进行计算作业预计执行时间约束判断;若该应用功能a所有计算任务都已经添加到计算作业,转至步骤S54进行计算作业下发;其中,式(4)定义了当前计算任务k直接添加到计算作业J+1的计算任务数量约束条件,即当前计算作业J+1包含的计算任务数量应小于分配到的计算节点上运行计算进程数目C^(KcSn);
Ntask (J+D+1 彡 α c ⑷ 553、对于应用功能a的计算任务k,判断其加入到计算作业J+1后,计算作业J+1的预计计算时间是否满足式(5)的调度粒度约束;若满足,则将该计算任务k直接加入到计算作业J+1中,转至步骤S52继续遍历应用功能a后续的其它计算任务;若不满足式(5)的约束,再判断计算任务调度队列中是否还存在该应用功能a其它需要调度的计算任务,若存在,转至步骤S51继续进行后续计算任务遍历;若不存在,则转步骤S54;其中,式(5)定义计算任务k加入到计算作业J+1的预计执行时间约束条件,即当前计算作业J+1包含的计算任务预计执行时间总和应小于所述计算任务调度粒度Tg的α。倍:
叫ortU+i)
YCT+ CT1 <a XT (5) ιkeg
/=1 554、从高性能计算管理平台计算作业队列中将编号为J+1的计算作业取出调度给计算节点c进行计算。
3.根据权利要求1所述的计算多应用功能异步并发调度方法,其特征在于,在所述步骤S4中,所述计算优先级包括所述应用功能的运行触发条件、运行优先级、运行资源消耗权值。
【文档编号】G06F9/48GK104166593SQ201410401606
【公开日】2014年11月26日 申请日期:2014年8月14日 优先权日:2014年8月14日
【发明者】王智, 都政, 刘建文, 井革新, 李健来, 熊超超, 徐颖俊, 周志平, 靳绍巍, 罗文龙, 陈远磊 申请人:国家超级计算深圳中心(深圳云计算中心), 深圳云计算中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1