《一种分布式计算多应用功能异步并发调度方法.pdf》由会员分享,可在线阅读,更多相关《一种分布式计算多应用功能异步并发调度方法.pdf(12页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102063336A43申请公布日20110518CN102063336ACN102063336A21申请号201110005759522申请日20110112G06F9/48200601G06F9/5020060171申请人国网电力科学研究院地址210003江苏省南京市鼓楼区南瑞路8号申请人南京南瑞集团公司72发明人王胜明徐泰山方勇杰许剑冰徐健洪姗姗邵伟张劲中卢耀华74专利代理机构南京知识律师事务所32207代理人汪旭东54发明名称一种分布式计算多应用功能异步并发调度方法57摘要本发明属分布式计算领域,提出一种多个应用功能的异步并发调度的方法,应用于分布式计算管理平台中。分。
2、布式计算管理平台综合各个应用功能的计算任务的耗时特性和数量以及计算机群节点的规模和性能信息,通过为各个应用功能独立设置合适的计算作业调度粒度,形成各个应用功能的计算作业,添加到分布式计算管理平台的调度序列中,实现多个应用功能的计算任务异步并发提交、多个应用功能的计算作业的统一调度计算和多个应用功能的计算结果异步回收,从而充分利用计算机群的计算能力,缩短计算时间。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图3页CN102063346A1/2页21一种分布式计算多应用功能异步并发调度方法,包括以下步骤1分布式计算管理平台管理节点接收到计算数据后,根据系。
3、统的计算流程,启动相应的应用功能程序;每个启动的应用功能向分布式计算管理平台提交计算任务信息,根据其计算任务数目以及每个计算任务的预计执行时间,再结合计算机群的规模和计算节点的性能配置以及每次计算作业的调度开销时间,确定该应用功能的计算任务的调度粒度;3分布式计算管理平台根据各个应用功能的计算优先级,将每个应用功能的计算任务序列添加到分布式计算管理平台的计算任务调度序列中;分布式计算管理平台按照计算节点“空闲优先触发调度”的原则,对计算任务调度序列,按照其预计执行时间和调度粒度形成分配到该计算节点的计算作业(同一应用功能计算任务的集合),将队列中计算任务进行组合,依次分配给计算机群中处于空闲状。
4、态的各个计算节点;5当计算节点计算完成后,向管理节点传送计算结果,管理节点感知后,回收合并相应的计算结果,同时将已回送计算结果的计算节点置为空闲状态,并触发新的计算节点空闲调度,直到所有已提交计算任务的应用功能的计算作业都调度完毕;对于回收到计算结果的计算作业,判断其所属的应用功能的所有计算作业的计算结果是否都已经返回若尚未完全返回,转4;若都已返回,则向该应用功能返回计算结果和完成信息,同时根据系统的计算流程判断是否有后续的应用功能满足启动条件,若有则启动满足启动条件的应用功能,转2;若没有满足启动条件的应用功能,且其它满足启动条件的应用功能都计算完成后,本次流程计算结束。2根据权利要求1所。
5、述的分布式计算多应用功能异步并发调度方法,其特征在于,步骤2)中多个应用功能可以根据其计算任务的特性,以及计算机群的规模及特点,单独向分布式计算管理平台设置其计算任务的调度粒度;应用功能的计算任务粒度由公式(1)、(2)(3)计算得出;123其中M是该应用功能的计算任务数目,1IM是每个计算任务的预计执行时间,N为系统中计算机群的计算节点数目,每个计算节点J可同时运行1JN个计算任务(即计算进程数目),为分布式计算管理平台的计算作业调度开销时间(主要包括权利要求书CN102063336ACN102063346A2/2页3通信时间和数据处理时间),为设定的分布式计算管理平台调度开销时间性能因子的。
6、门槛值。3根据权利要求1所述的分布式计算多应用功能异步并发调度方法,其特征在于,步骤4)中各个应用功能根据其提交的计算任务和调度粒度信息,形成各个应用功能的计算作业序列;公式(4)要求每个计算作业包含的计算任务数量应大于等于分配到的计算节点上运行计算进程数目1KN(最后一个作业除外),在满足公式(4)的基础上,公式(5)是对每个计算作业预计执行时间的约束条件;(4)(5)J为该应用功能根据调度粒度形成的计算作业数目,(1JJ)为每个计算作业包含的计算任务数目。4根据权利要求1所述的分布式计算多应用功能异步并发调度方法,其特征在于,步骤5)中多个应用功能可以异步并发地与分布式计算管理平台进行计算。
7、任务和计算结果的交互;当应用功能满足其启动条件时,可以向分布式计算管理平台提交计算任务,分布式计算管理平台按照提交计算任务的各个应用功能的计算优先级进行排队,对同一应用功能的多个计算任务按照调度粒度形成计算作业调度序列,对计算节点资源按照先空闲先调度原则进行资源分配;当某个应用功能的所有计算任务都完成计算时,其计算结果可以立刻返回,实现计算数据和计算结果的异步并发交互,从而充分利用计算资源。权利要求书CN102063336ACN102063346A1/6页4一种分布式计算多应用功能异步并发调度方法技术领域0001本发明属于分布式计算领域,更准确地说是一种可用于电力系统分析计算但不仅限于此的分布。
8、式计算管理平台的多应用功能异步并发调度方法。背景技术0002在分布式计算领域,特别是需要进行大量计算的领域,例如在电力系统安全稳定分析领域,随着电网规模日益扩大,尤其在线应用方面,稳定分析计算的实时响应速度已成为问题的焦点。目前,分布式计算技术被公认为是解决大规模、复杂电网在线分析计算实时性的有效的技术手段之一。0003分布式计算技术通过网络构建分布式计算管理平台,充分利用多台计算机的并行处理能力,在规定的计算周期内,通过静态、暂态、动态安全稳定分析计算,实现电网安全稳定性的实时监视、分析和控制。但是,目前已实现的分布式计算管理平台有的只支持在一个应用功能内部多计算任务的异步并发,有的只支持多。
9、个应用功能同步并发,但是在一个计算周期内,在还有计算任务等待调度的情况下无法保证计算完成的计算节点都能立刻触发新的调度,造成计算资源的闲置浪费,也延长了整个系统的计算周期。0004文献一基于大规模并行处理的电网在线综合预警方法和系统(申请号CN200810168189X)披露了一种应用于电力系统的大规模分布式并行处理实现方法。各个计算节点进行在线并行计算准备;管理节点向各个计算节点广播在线运行计算数据;计算节点根据在线运行计算数据进行稳定计算;计算节点根据判断条件对稳定计算结果进行判别,以进行综合预警。0005文献二分布式并行计算平台系统及其计算任务分配方法(申请号CN200810239104。
10、2)披露了一种分布式并行计算平台的计算任务分配方法。该方法中在线调度服务器接收外部的计算输入文件,形成在线和离线的任务分配方案,并下发到计算节点,同时进行计算结果的回收。其重要特征在于在线调度服务器一次接收且只接收一个在线计算请求,处理完上一批在线计算任务后才能接收下一个计算请求;计算任务分配信息总表在计算任务提交时统一确定,计算任务的分配按照计算任务数目和CPU核数一次全部分配完毕,计算节点过滤自身相关的计算任务后自动进行计算。0006文献三应用级异步任务调度系统和方法(申请号CN2010102172837)披露了一种异步任务调度的方法。该方法中采用数据服务装置存放异步任务的参数信息和处理结。
11、果,异步任务应用装置接收到异步任务请求时进行特征识别,按任务特征字在数据服务装置中进行检索,减少相同特征任务的重复处理,减少资源消耗,提高系统性能。0007上述发明专利不支持综合考虑多个应用功能的时序关系,实现多个应用功能的计算任务异步并发计算;不能结合不同应用功能的计算任务的耗时特点差异,自动选择相应的调度策略,减少调度开销时间,从而缩短整个系统的计算周期。因此,迫切需要设计一种分布式计算管理平台,能够支持电力系统多应用功能的异步并发调度方法,实现计算资源的充分利用,缩短计算周期。说明书CN102063336ACN102063346A2/6页5发明内容0008本发明所要解决的技术问题是,克服。
12、现有技术的缺点,提供一种分布式计算多应用功能异步并发调度的方法,支持对多个应用功能按照各自独立的计算任务调度粒度形成计算作业,实现多个应用功能的异步并发调度,充分利用计算机群的计算资源,缩短计算所耗费的时间。0009本发明解决其技术问题所采用的技术方案如下1)分布式计算管理平台管理节点接收到计算数据后,根据系统的计算流程,启动相应的应用功能程序;2)每个启动的应用功能向分布式计算管理平台提交计算任务信息,假定某个应用功能的计算任务数目为M个,每个计算任务的预计执行时间为1IM,假定系统中具有N个计算节点,每个计算节点J可同时运行1JN个计算任务(即计算进程数目),每个计算作业的分布式计算管理平。
13、台的调度开销时间为(主要包括通信时间和数据处理时间),选择的计算任务调度粒度满足式(1)1同时保证每个计算节点上每个计算进程都可以分配到一个计算任务,因此计算任务调度粒度应大于等于该应用功能提交计算任务的最小预计执行时间,即满足式(2)约束2为提高并行计算效率,应尽可能减少分布式计算管理平台调度开销在计算周期中所占的比例,考虑到多个应用功能同时并发进行计算,避免为了提高一个应用功能的计算时间而增加分布式计算管理平台调度开销在整个计算周期中的比例,假定分布式计算管理平台的调度开销时间性能因子(分布式计算管理平台一个应用功能的计算任务调度粒度时间与一个计算作业的调度开销时间的比率,性能因子越大,调。
14、度开销时间在整个计算周期中占用比例越小)的门槛值为,计算任务调度粒度应满足式(3)33)分布式计算管理平台根据各个应用功能的计算任务预计执行时间,将每个应用功能的计算任务进行降序排列,形成该应用功能的计算任务调度序列;4)分布式计算管理平台根据各个应用功能的计算优先级,按顺序添加到分布式计算管理平台的计算任务调度队列中;5)分布式计算管理平台按照计算节点“空闲优先触发调度”的原则,对计算任务调度队说明书CN102063336ACN102063346A3/6页6列按照其预计执行时间和调度粒度形成分配到每个计算节点的计算作业(同一应用功能计算任务的集合),并将形成的计算作业添加到计算作业调度队列中。
15、,依次分配给计算机群中对应处于空闲状态的计算节点进行计算。计算作业形成和调度的具体步骤如下。0010I在计算任务调度队列中找到第一个尚未计算或需要重新计算的计算任务,设该计算任务属于应用功能A,A目前已生成了J个计算作业,每个计算作业包含的计算任务数目为(1JJ),当前处于空闲状态等待调度的计算节点编号为C,新生成的计算作业编号记为J1;II从计算任务调度队列中依次取出该应用功能尚未计算或需要重新计算的计算任务;若应用功能A存在需要计算的计算任务K,则先判断式(4)约束条件(保证计算节点上每个计算进程至少能分配到一个计算任务)是否满足,若满足约束,则将该计算任务K直接加入到该计算作业J1中,转。
16、II进行后续计算任务遍历;否则,则转III进行计算作业预计执行时间约束判断;若该应用功能A所有计算任务都已经添加到计算作业中,转IV进行计算作业下发;(4)III对于应用功能A的计算任务K,判断其加入到计算作业J1后,计算作业J1的预计计算时间是否满足式(5)(保证每个计算进程分配到计算任务的预计计算时间总和尽可能接近于(小于等于)调度粒度)的调度粒度约束若满足,则将该计算任务K直接加入到计算作业J1中,转II继续遍历应用功能A后续其他需要计算的任务;若不满足式(5)的约束,再判断计算任务调度队列中是否还存在该应用功能A其他需要调度的计算任务,若存在,转II继续进行后续计算任务遍历;若不存在,。
17、则转IV;(5)IV从分布式计算管理平台计算作业队列中将编号为J1的计算作业取出调度给计算节点C进行计算。00116)当计算节点计算完成后,向管理节点传送计算结果。管理节点感知后,回收合并相应的计算结果,同时将已回送计算结果的计算节点置为空闲状态,并触发新的计算节点空闲调度,若还有尚未计算的计算任务,转5;直到所有应用功能的计算任务调度完毕。对于回收到计算结果的计算作业,判断其所属的应用功能是否所有计算任务的计算结果都已经返回,若都已返回,则向该应用功能返回计算完成信息,同时根据系统的计算流程判断是否有新的应用功能满足启动条件,若有,则启动满足启动条件的应用功能,转2;若没有满足启动条件的应用。
18、功能,且其它满足启动条件的应用功能都计算完成后,则本次流程计算结束。0012效果和优点本发明在兼容传统应用功能的计算任务串行调度的基础上,支持多个应用功能的计算任务同时并发提交给分布式计算管理平台进行调度计算,可充分利用计算节点的计算资源,有效避免由于某个应用功能在一个计算节点上计算作业正在计算而导致其他计算节点不能被其他应用功能使用的情况。同时提供给应用功能一种计算作业粒度设置方法,可根据应用功能的计算任务的规模、单个计算任务的预计计算耗时、计算节点数量和分布式计说明书CN102063336ACN102063346A4/6页7算管理平台的调度开销时间为每个应用功能指定一个计算作业的调度粒度,。
19、在缩短整个系统计算周期的基础上,尽可能减少分布式计算管理平台的开销时间,提高整个系统的计算效率。附图说明0013此处所说明的附图用来提供对本发明做进一步描述,构成本申请的一部分,但不构成对本发明限定。在附图中图1为分布式计算管理平台多个应用功能异步并发调度示意图。0014图2为分布式计算异步并发调度方法的流程图。0015图3为应用功能计算任务形成计算作业示意图。具体实施方式0016为使本发明实施例的目的、技术方案和优点更加明白,下面结合实施例和附图对本发明作进一步详细描述。但是本发明并不限于所给出的示例。0017图1通过示意图的方式,简单说明I个应用功能同时并发提交计算任务,分布式计算管理平台。
20、感知后,形成I个应用功能的调度序列,进行异步并发调度的示意流程。0018下面参考图2,详细描述本发明的分布式计算异步并发调度方法。具体如下1图2中步骤1描述的是分布式计算管理平台管理节点接收到计算数据后,根据系统的计算流程,启动满足启动条件的A个应用功能,分别为应用功能1、应用功能2、一直到应用功能A;若启动的应用功能需要向分布式计算管理平台提交计算任务,转2进行计算作业准备;否则,转1继续启动后续应用功能;2图2中步骤2描述的是每个应用功能都向分布式计算管理平台提交计算任务信息,假定第A个应用功能(1AA)的计算任务数目为M个,每个计算任务的预计执行时间为1IM,假定系统中具有N个计算节点,。
21、每个计算节点J可同时运行1JN个计算任务(即计算进程数目),每个计算作业分布式计算管理平台的调度开销时间为,选择的计算任务调度粒度满足式(1)1同时计算任务调度粒度应大于等于该应用功能提交计算任务的最小预计执行时间,即满足式(2)约束2为提高并行计算效率,应尽可能减少分布式计算管理平台调度开销在计算周期中所占的比例,假定分布式计算管理平台的调度开销时间性能因子门槛值为,计算任务调度粒度应满足式(3)说明书CN102063336ACN102063346A5/6页833)图2中步骤3描述的是分布式计算管理平台根据应用功能的计算任务预计执行时间,形成各个应用功能的计算任务序列;4)图2中步骤4描述的。
22、是分布式计算管理平台根据各个应用功能的计算优先级,将各个应用功能的计算任务序列添加到分布式计算管理平台的计算任务调度队列中;5图2中步骤5描述的是分布式计算管理平台按照计算节点“空闲优先触发调度”的原则,对计算任务调度队列按照应用功能的调度粒度和计算任务的预计执行时间进行计算作业组织,并将形成的计算作业添加到计算作业调度队列中,依次分配给计算机群中对应处于空闲状态的计算节点进行计算。计算作业形成和调度的具体步骤如下I在计算任务调度队列中找到第一个尚未计算或需要重新计算的计算任务,并记录该计算任务的应用功能标识A,假定目前应用功能A目前已生成了J个计算作业(已完成计算或正在计算),每个计算作业包。
23、含的计算任务数目为(1JJ),当前处于空闲状态等待调度的计算节点编号为C,新生成的计算作业编号记为J1;II从计算任务调度队列中依次取出应用功能A尚未计算或需要重新计算的计算任务,若应用功能A存在需要计算的计算任务K1KM,则先判断式(4)约束条件是否满足,若满足约束,则将该计算任务K直接加入到该计算作业J1中(具体如图3情况一所描述),转I继续进行后续计算任务遍历;否则,则转III进行计算作业预计执行时间约束判断;若该应用功能A所有计算任务都已经添加到计算作业中,转IV进行计算作业下发;(4)III对于应用功能A的计算任务K,判断其加入到计算作业J1后,计算作业J1的预计计算时间是否满足式(。
24、5)的调度粒度约束若满足,则将该计算任务K直接加入到计算作业J1中(具体如图3情况二所描述),转II继续遍历应用功能A后续的其他计算任务;若不满足式(5)的约束,再判断计算任务调度队列中是否还存在该应用功能A其他需要调度的计算任务,若存在,转I继续进行后续计算任务遍历;若不存在,则转IV;(5)IV从分布式计算管理平台计算作业队列中将编号为J1的计算作业取出调度给计算节点C进行计算。00196)图2中步骤6描述的是当计算节点计算完成后,向管理节点传送计算结果。管理节点感知后,回收合并相应的计算结果,同时将已回送计算结果的计算节点置为空闲状态,并触发新的计算节点空闲调度,若还有尚未计算的计算任务。
25、,则转5,直到所有应用功能的计算任务调度完毕;对于回收到计算结果的计算作业,判断其所属的应用功能是否所有计算任务的计算结果都已经返回,若都已返回,则向该应用功能返回计算完成信息,同时根据系统的计算流程判断是否有新的应用功能满足启动条件,若有,则启动满足启动条件的应用功能,转2;若没有满足启动条件的应用功能,且其它满足启动条件的应用功能都计算完成后,则本次流程计算结束。0020通过上面对本发明中提出的分布式计算异步并发调度方法进行了详细的阐述,从说明书CN102063336ACN102063346A6/6页9中可以归纳出该方法的特点。0021第一个特点是异步并发交互。多个应用功能的计算任务可以并。
26、发地向分布式计算管理平台提交,分布式计算管理平台可以向提交的多个应用功能异步返回计算结果。这样可充分利用分布式计算平台的计算资源,有效避免计算过程中的由于一个应用功能在部分计算节点上没有计算完成,导致其他处于空闲状态的计算节点不能被其他应用功能使用的情况。同时支持一个应用功能与分布式计算管理平台进行零次、一次和多次交互。0022第二个特点是调度粒度自治。各个应用功能可以根据自己提交计算任务的特点,考虑到分布式计算管理平台的调度开销,独立设置其的计算作业调度粒度,减少调度开销所花费的时间,从而缩短计算时间。此外,由于各个计算任务的预计执行时间不同,所以采用预计执行时间作为调度粒度可以更好地将计算。
27、任务平均分配给各个计算节点。0023第三个特点是调度序列优化。基于各个应用功能的调度粒度,对其提交的计算任务按照粒度进行优化组合;同时基于各个应用功能的计算优先级和最长预计计算时间优先的调度算法,可以实现将存在较多后续计算任务应用功能先进行计算,以及计算时间长的计算作业先进行计算,从计算任务分配上优化调度顺序,缩短计算时间。在计算节点配置相同的情况下,可提前按照调度粒度形成各个应用功能的计算作业,将计算作业的形成时间和前一应用功能的计算时间并行,从而节省整个系统的计算时间。0024分布式计算多应用功能异步并发调度方法为分布式计算管理平台提供了一种高效快速的多应用功能计算任务调度和分配方法,可充分利用分布式计算管理平台的所有计算资源,提高计算效率,缩短系统的计算周期。0025以上所述的具体实施例,只是针对本发明的目的、技术方案和有益效果进行进一步详细的阐述,且电力系统的应用只是其一个应用实例,并不用于限定本发明的保护范围,凡在本发明原则和基础上所进行的任何改进和变形等,均应包含在本发明的保护范围之内。说明书CN102063336ACN102063346A1/3页10图1说明书附图CN102063336ACN102063346A2/3页11图2说明书附图CN102063336ACN102063346A3/3页12图3说明书附图CN102063336A。