一种异构计算系统动态任务分配方法技术方案

技术编号:4174567 阅读:197 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种异构计算系统动态任务分配方法,异构计算系统由一组异构的处理机共同协作完成应用任务,其将任务分解成一组并行的子任务,并按执行顺序调度到各处理机,本方法通过处理器对待处理任务的动态选择,实现了异构计算系统中任务的动态分配和任务的优化分配。与现有技术相比,本发明专利技术从动态的角度考虑了异构计算系统的优化调度问题,利用群体智能技术,提出了一种基于异构计算系统的优化调度方法,该方法能够根据异构计算系统中不同处理器的处理能力进行动态的任务分配,并考虑了其中可能出现的竞争问题;本发明专利技术动态的考虑处理器的计算能力,处理器的负载情况,可以进一步加快异构计算系统的执行时间。

A dynamic assignment method for heterogeneous computing systems

The invention relates to a heterogeneous computing system dynamic task allocation method, heterogeneous computing system is completed by a group of heterogeneous processor collaborative application tasks, the tasks will be decomposed into a set of parallel sub tasks, and according to the order of execution scheduling to each processor, the dynamic selection approach to processing tasks by processing the dynamic Optimization Allocation allocation and task implementation tasks in the heterogeneous computing system. Compared with the prior art, the invention considers the scheduling problem in heterogeneous computing system from the dynamic angle, using the intelligent technology, puts forward a kind of optimal scheduling method for heterogeneous computing system based on this method, according to the different heterogeneous computing system capacity of processor dynamic task allocation, and considering the competition where possible; the invention dynamically considers processor computing power load processor, can further accelerate the execution time of heterogeneous computing systems.

【技术实现步骤摘要】

本专利技术涉及异构计算系统的优化调度技术,特别是涉及一种异构计算系统 动态任务分配方法。
技术介绍
异构计算系统HCS (Heterogeneous Computing System)是利用一组异构的 计算机共同协作完成某一应用任务。将任务分解成多个并行子任务,按执行顺 序调度到HCS的各处理机,这样不但满足了不同类型的应用,也开发利用了系 统中各种机器的计算能力,从而使系统有较高的性能。以往人们认为增加更多 机器就可以提高系统的性能。但是在很多情况下,使用数量更多的机器并不能 达到预期的效果,因为即使选用大量的机器,但是由于各种机型的计算能力不 同,从而使得各子任务间在计算过程中相互等待,延长了整个任务的执行时间, 从而降低了系统的性能,为此人们在考虑如何合理的分配任务使得异构计算系 统的性能能够很好的发挥。
技术实现思路
本专利技术所要解决的技术问题就是为了克服上述现有技术存在的缺陷而提 供。本专利技术的目的可以通过以下技术方案来实现 一种异构计算系统动态任务 分配方法,异构计算系统由一组异构的处理机共同协作完成应用任务,其将任务分 解成一组并行的子任务,并按执行顺序调度到各处理机,其特征在于,该方法包括 以下步骤a. 为各处理机设置一个进队列门限值和一个停止进队列门限值;b. 分配任务给各处理机,执行步骤如下-(bl)计算处理机上的等待队列的长度值;3(b2)判断该长度值是否小于该处理机的进队列门限值,若是,则执行步骤 (b3);(b3)计算子任务组中各子任务被分配给该处理机中的概率; (b4)将概率最大的子任务加入该处理机的等待队列,并将该子任务从子任 务组中删除;(b5)计算该处理机上的等待队列的长度值;(b6)判断该长度值是否小于该处理机的停止进队列门限值,若是,则返回 步骤(b3),若否,则返回步骤(bl);C.在多个处理机竞争同一个子任务时,计算该多个处理机的负载强度,将该 子任务分配给负载强度最小的处理机。与现有技术相比,本专利技术从动态的角度考虑了异构计算系统的优化调度问 题,利用群体智能技术,提出了一种基于异构计算系统的优化调度方法,该方 法能够根据异构计算系统中不同处理器的处理能力进行动态的任务分配,并考 虑了其中可能出现的竞争问题;本专利技术动态的考虑处理器的计算能力,处理器的负载情况,可以进一步加快异构计算系统的执行时间。 附图说明图1为本专利技术的流程图。图2为本专利技术的实施例的采用一台台式机时执行时间比较的比较示意图; 图3为本专利技术的实施例的采用六台台式机时执行时间比较的比较示意图; 图4为本专利技术的实施例的采用不同测试环境下的执行时间比较示意图。具体实施例方式下面结合附图对本专利技术作进一步说明。如图1 4所示, ,异构计算系统由一组 异构的处理机共同协作完成应用任务,其将任务分解成一组并行的子任务,并按执 行顺序调度到各处理机,该方法包括以下步骤a. 为各处理机设置一个进队列门限值和一个停止进队列门限值;b. 分配任务给各处理机,执行步骤如下(bl)计算处理机上的等待队列的长度值;(b2)判断该长度值是否小于该处理机的进队列门限值,若是,则执行步骤 (b3);(b3)计算子任务组中各子任务被分配给该处理机中的概率; (b4)将概率最大的子任务加入该处理机的等待队列,并将该子任务从子任 务组中删除;(b5)计算该处理机上的等待队列的长度值;(b6)判断该长度值是否小于该处理机的停止进队列门限值,若是,则返回 步骤(b3),若否,则返回步骤(bl);C.在多个处理机竞争同一个子任务时,计算该多个处理机的负载强度,将该 子任务分配给负载强度最小的处理机。异构计算系统由一系列不同的处理机P:(A,A,^L ;U组成,将任务分解为一 系列的子任务r-",","L ~},假设这些任务是相互独立的, 一般iKm。需要解决 的问题是如何根据处理机的不同处理能力,合理的分配子任务,使处理任务T的 时间尽可能的短,发挥异构计算系统的性能优势。参数定义任务^的优先级记作",,由于是异构系统定义^,,,;7;)表示任务^在处理机/^.上 运行的时间,定义印",A)表示任务f,通过网络分配到处理机^上执行时,所需要 的传输时间。Comp",巧)表示任务^在A上的完成时间,那么Com械,^)= ,,/ 》+抓,a) (1)『(,,)表示任务/;从分配给处理器到完成所用的时间,即^的等待时间。丄(户,A) 表示处理机A上等待执行队列的长度,其中,集合户表示处理机^中的任务,则 有z(A)=i>,") (2)。.表示处理机&完成所有任务的时间,集合S表示处理机&中处理的所有任 务的集合。那么有定义r为整个g务的完成时间,我们的目标是最小化r,即r = min{maxls;s rj (4) 动态任务分配模型异构计算系统如何分配任务可以采用蜂群任务分配方式,如处理机对应蜜 蜂,任务对应蜜蜂觅食、照顾后代等工作,任务分配对应蜜蜂的任务分配。因 此,蜜蜂和环境之间的信息交流模型可以被用于异构计算系统的任务调度中, 以实现动态的、自适应的任务分配方式。在异构计算系统任务分配的蜂群算法中,对处理器的等待队列规定一个进 队门限值4和停止进队门限值Z一,当该处理器的等待队列的长度小于或等于 进队门限值Z,"时,则从未分配的任务中挑选任务加入该处理器的等待队列,当 该处理器的等待队列长度大于或等于丄一时,停止该处理器的等待队列加入任 务。每个处理器^对系统中尚未分配资源的任务都有一个对应的反应阙值。我 们用一组mx"矩阵来表示。,"11 "12L 、MM O M其中^.表示处理器A对任务^的相应门限值,^与该任务在处理器^上 的执行时间r(』A),以及任务传输到处理器A上的传输时间7M^^)有关,其 公式如下ay =^ + "><抓,/7;) + />^",; 》 (5) 其中f,t/,/为常数。从式(5)中可以看出,任务执行时间和数据传输时间越长,反应阙值越大, 接受该任务的可能性越小;任务执行时间和数据传输时间越长,反应阙值越小, 接收该任务的可能性越大。同样,尚未分配的任务对可供选择使用的处理器会发出刺激信号,用向量 S =(《《L《)来表示。其中《表示任务发出的刺激信号,与任务等待时间 『("、以及任务的优先级々,有关,其公式如下6>,=A+//x『(。 (6) 其中//为常数。从式(6)中可以看出,任务等待时间r(。越长,任务的优先级/ ,优先级越 大则该任务发出的剌激信号越强,能够被优先选入处理器的负载队列。那么,在任务分配时可以根据各个处理器的反应阙值和未完成的任务所发 出的刺激信号来选择任务进入处理器的等待队列。可以按概率根据式(7)我们可以得出以下结论,任务f,发出的刺激信号越强,或处理器A的反应阙值越低,则任务被分配到该处理器的可能性越大。下面给出了各处理器上选择任务的步骤Stepl.计算该处理器上的等待对列丄的长度,如果^<4则继续; Step2.根据公式(5),计算所有为调度任务的刺激信号《,根据公式(6),计算该处理器的反应阙值%.,根据公式(7),计算出调度任务被选入该处理器的概率^("#.,《);Step3.选出概率P(cv《)最大的一组",A), ^进本文档来自技高网...

【技术保护点】
一种异构计算系统动态任务分配方法,异构计算系统由一组异构的处理机共同协作完成应用任务,其将任务分解成一组并行的子任务,并按执行顺序调度到各处理机,其特征在于,该方法包括以下步骤: a.为各处理机设置一个进队列门限值和一个停止进队列门限 值; b.分配任务给各处理机,执行步骤如下: (b1)计算处理机上的等待队列的长度值; (b2)判断该长度值是否小于该处理机的进队列门限值,若是,则执行步骤(b3); (b3)计算子任务组中各子任务被分配给该处理机中 的概率; (b4)将概率最大的子任务加入该处理机的等待队列,并将该子任务从子任务组中删除; (b5)计算该处理机上的等待队列的长度值; (b6)判断该长度值是否小于该处理机的停止进队列门限值,若是,则返回步骤(b3),若否 ,则返回步骤(b1); c.在多个处理机竞争同一个子任务时,计算该多个处理机的负载强度,将该子任务分配给负载强度最小的处理机。

【技术特征摘要】

【专利技术属性】
技术研发人员:郑骏胡文心蔡建华
申请(专利权)人:华东师范大学
类型:发明
国别省市:31[中国|上海]

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

1