任务分配装置和任务分配方法制造方法及图纸

技术编号:7562805 阅读:139 留言:0更新日期:2012-07-14 12:57
本发明专利技术提供了一种任务分配装置,包括:依赖分析模块,根据第一组任务以及所述第一组任务之间的依赖关系,从所述第一组任务中取得被依赖任务不存在或已完成的第二组任务;时间计算模块,计算所述第二组任务中每个任务的预计完成时间;任务分配模块,根据所述预计完成时间,将为所述第二组任务逐次分配给计算资源以进行执行。相应地,本发明专利技术还提供了一种任务分配方法。通过对依赖关系和计算量的分析,实现了更合理地分配计算资源,提高了计算效率。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,涉及。
技术介绍
在计算机
中,大量存在着这样的计算场景一个复杂的计算任务模型由多个有依赖性的计算任务组成,依赖任务只能在被依赖任务完成后才能进行计算,而不具有依赖关系的计算任务可并行计算。同时,这些任务计算量具有时间可变性即每次计算时任务计算量不同,且其计算量对被依赖任务的输出敏感;同时,不同的任务其计算量具有较大的差异性。如图1,一个典型的计算任务模型实例的执行过程如下在这个实例中包含任务1-1、任务2-1、任务2-2、任务3-1、任务3-2,这些任务的计算量均不相同且不可分割。其中任务2-1、任务2-2这两个任务依赖于任务1-1的完成,并且可以并行计算。任务3-1依赖于任务2-1的完成,任务3-2依赖于任务2-1,任务2-2的完成,并且任务3-1、任务3-2可以并行计算。对于这类计算任务模型,如何把任务分配到计算资源上,以获得优选的计算时间, 是一个很重要的问题。在并行计算领域现有技术解决方案主要有以下几种1,基于计算资源的能力,人为静态指定任务分配到哪些计算资源;2,引入分配服务器,对计算资源建立任务队列,分配服务器监测计算资源任务队列中待执行任务数的多少来分配计算资源;3,编译时建立任务间的静态依赖关系,依赖于其它任务完成的任务设置启动点,被依赖任务完成后通知依赖任务执行,同时在编译时基于任务关键路径进行任务分配建立执行链。目前这些方法均要求任务的计算量有基本稳定的特征,任务间的计算量差异较小的特征,同时未考虑计算资源的能力差异性。这些方法会导致不同计算资源从计算量角度看会出现分配不合理的情况,出现计算任务未分配到可最早可完成的计算资源上,从而导致任务最终完成需要更多的时间。分析目前技术方案主要存在的问题在于没有考虑任务的计算量的可变性、任务间计算量的差异性、计算资源的计算能力差异。因此,需要一种新的任务分配方法,能够更合理地分配计算资源,提高整个计算任务的执行效率。
技术实现思路
本专利技术所要解决的技术问题在于,需要提出一种新的任务分配方法,能够更合理地分配计算资源,提高整个计算任务的执行效率。有鉴于此,本专利技术提供了一种任务分配装置,包括依赖分析模块,根据第一组任务以及所述第一组任务之间的依赖关系,从所述第一组任务中取得被依赖任务不存在或已完成的第二组任务;时间计算模块,计算所述第二组任务中每个任务的预计完成时间;任务分配模块,根据所述预计完成时间,将为所述第二组任务逐次分配给计算资源以进行执行。在该技术方案中,以预计完成时间为标准,对当前可执行(被依赖任务不存在或已完成)的任务进行了计算量计算,实现了任务的合理分配。在上述技术方案中,优选地,所述依赖分析模块在所述第二组任务中的任一任务执行完成时,从所述第一组任务中取得新的被依赖任务不存在或已完成的任务,加入所述第二组任务。在该技术方案中,根据任务完成情况,更新被依赖任务不存在或已完成的任务,能够保证当前情况下任务的合理分配。在上述技术方案中,优选地,所述依赖分析模块还存储所述依赖关系,并在所述第二组任务中的任一任务执行完成时,对所述依赖关系中与所述已完成任务相关的部分进行修改,并根据所述依赖关系修改的部分,取得所述新的被依赖任务不存在或已完成的任务。 在该技术方案中,可以防止给依赖任务分配计算资源,同时当依赖任务状态改变时,可以及时根据改变的依赖关系来分配任务,保证了任务分配的合理性。在上述技术方案中,优选地,所述的任务分配装置,还包括状态设置模块,为所述第二组任务设置任务状态,所述时间计算模块根据所述任务状态,识别并选取所述第二组任务,再计算所述预计完成时间。在该技术方案中,通过任务状态的设置,可以轻易地识别出被哪些任务的被依赖任务已不存在,并准确地进行选取。在上述技术方案中,优选地,所述预计完成时间=max(所述计算资源当前执行任务的预计完工时间,当前时间)+ (所述第二组任务中每个任务的计算量/所述计算资源的处理速度)。在该技术方案中,通过在计算资源当前执行任务的预计完工时间与当前时间之间选取最大值,可以准确计算出任务完成所需的时间。本专利技术还提供了一种任务分配方法,包括步骤302,根据第一组任务以及所述第一组任务之间的依赖关系,从所述第一组任务中取得被依赖任务不存在或已完成的第二组任务;步骤304,计算所述第二组任务中每个任务的预计完成时间;步骤306,根据所述预计完成时间,将为所述第二组任务逐次分配给计算资源以进行执行。在该技术方案中,以预计完成时间为标准,对当前可执行(被依赖任务不存在或已完成)的任务进行了计算量计算, 实现了任务的合理分配。在上述技术方案中,优选地,所述的任务分配方法,还包括步骤308,在所述第二组任务中的任一任务执行完成时,从所述第一组任务中取得新的被依赖任务不存在或已完成的任务,加入所述第二组任务。在该技术方案中,根据任务完成情况,更新被依赖任务不存在或已完成的任务,能够保证当前情况下任务的合理分配。在上述技术方案中,优选地,所述步骤302还包括存储所述依赖关系;所述步骤 308具体包括在所述第二组任务中的任一任务执行完成时,对所述依赖关系中与所述已完成任务相关的部分进行修改,并根据所述依赖关系修改的部分,取得所述新的被依赖任务不存在或已完成的任务。在该技术方案中,可以防止给依赖任务分配计算资源,同时当依赖任务状态改变时,可以及时根据改变的依赖关系来分配任务,保证了任务分配的合理性。在上述技术方案中,优选地,所述步骤302还包括为所述第二组任务设置任务状态;所述步骤304具体包括根据所述任务状态,识别并选取所述第二组任务,再计算所述与预计完成时间。在该技术方案中,通过任务状态的设置,可以轻易地识别出被哪些任务的被依赖任务已不存在,并准确地进行选取。在上述技术方案中,优选地,所述预计完成时间=max(所述计算资源当前执行任务的预计完工时间,当前时间)+ (所述第二组任务中每个任务的计算量/所述计算资源的处理速度)。在该技术方案中,通过在计算资源当前执行任务的预计完工时间与当前时间之间选取最大值,可以准确计算出任务完成所需的时间。 综上所述,本专利技术通过充分考虑任务的计算量的可变性、任务间计算量的差异性、 计算资源的计算能力差异,通过对计算任务建立计算量模型,在每次计算时动态计算其计算量,按计算量及计算资源的时间分析来分配计算资源,以使任务能够按最早完成的原则分配计算资源,从而实现缩短计算任务执行时间的目的,使计算任务得到更好了的执行效能,提高了计算效率。附图说明图1是现有技术中--个计算任务模型实例的示意图2是根据本专利技术--个实施例的任务分配装置的框图3是根据本专利技术--个实施例的任务分配方法的流程图4是根据本专利技术--个实施例的任务分配方法进行任务分配的流程图图5是根据本专利技术--个实施例的任务分配方法进行任务分配的流程图图6是根据本专利技术--个实施例的任务分配方法的原理示意图7是根据本专利技术--个实施例的计算资源状况的示意图8是根据本专利技术--个实施例的物料清单的示意图9是根据本专利技术--个实施例的任务依赖关系的示意图。具体实施例方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。在下面的描述中阐述了很多具体本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:祝奇
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术