一种基于异构计算的任务调度方法及装置制造方法及图纸

技术编号:27291467 阅读:23 留言:0更新日期:2021-02-06 12:00
本发明专利技术涉及一种基于异构计算的任务调度方法,包括以下步骤:建立待调度任务的DAG模型,根据所述DAG模型建立作业队列;建立异构处理器之间的网络拓扑图,根据各处理器的计算速度为各处理器分配初始任务量;将所述作业队列中任务按初始任务量随机分配给各处理器,并为各处理器随机分配初始电压,构建初始调度列表;根据所述初始调度列表生成初始种群,初始化遗传算法参数,各处理器并行执行遗传算法进行种群迭代更新,得到最优种群;获取所述最优种群对应的任务调度列表作为最优任务调度列表。本发明专利技术能够获取任务调度的全局最优解,全面发挥异构计算的优势。面发挥异构计算的优势。面发挥异构计算的优势。

【技术实现步骤摘要】
一种基于异构计算的任务调度方法及装置


[0001]本专利技术涉及计算任务调度
,尤其涉及一种基于异构计算的任务调度方法、装置及计算机存储介质。

技术介绍

[0002]计算机技术的飞速发展,芯片的发展经历一次次的性能提升。但随着互联网的爆炸式发展和信息化的普及,以及近几年兴起的诸如机器学习、深度学习、人工智能、工业仿真等对计算性能的需求极高的领域崛起后,出现了计算性能瓶颈,如并行度不高、带宽不够、时延高等。不同类型的处理器的计算性能及特性不同,例如:CPU是由内运算逻辑部件、寄存器部件和控制部件组成的,但是占据70%的部分晶体管是用来构建缓存和一部分控制单元,负责逻辑算数的部分并不多,其更多的是注重控制;而GPU设计作为协处理器,适合做大量密集型计算类型,适于执行高度线程化的并行处理任务;FPGA具有可重复编程,低功耗的特点,FPGA具有更大的并行度,主要是通过并发和流水两种技术实现。为了提高计算性能,可以采用不同的类型的处理器组成异构计算系统,实现各类处理器之间的取长补短。目前异构计算往往采用的是CPU+GPU、CPU+FPGA的异构计算方式。CPU+GPU的异构计算方式未能实现灵活编程,增加了能耗成本。GPU相对于FPGA,GPU的内存接口的带宽远远优于FPGA的接口,此外,FPGA基本单元的计算能力有限。为了实现可重构特性,FPGA内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠LUT查找表)都远远低于CPU和GPU中的ALU模块。
[0003]异构处理器之间在执行计算任务时,需要对任务进行合理的调度,从而在保证任务顺利完成的同时最小化任务调度的调度长度。目前采用的任务调度方法存在以下问题:
[0004]1、采用表调度的技术方式,首先计算任务的优先级,然后根据优先级进行排序,最后根据优先级排序将任务调度给合适的处理器进行处理。这种调度方式有个明显的缺点,没有考虑能耗。
[0005]2、采用启发式调度算法,如基于遗传算法的任务调度,基于模拟退火的任务调度,基于蚁群算法的任务调度,这些调度算法很容易使结果进入局部最优解,因此亟需找到合适的解决方案进行改进。目前,虽然有部分研究者研究并行遗传算法,但是所研究得算法在并行过程中有一个致命得缺陷,那就是将子群体均匀得分配给各个处理器,但是,计算特性、计算速度以及传输所耗费的时间以及功耗的大小在不同得处理器上所表现出来得特性是不同的,这种均匀分配得规则显然不适合异构系统,不能充分发挥异构计算的优势。
[0006]3、目前,任务调度时降低功耗采用的技术主要是DPM和DVFS,其中DPM的工作原理是将空闲组件切换到低功耗模式或者将空闲组件进行关闭以达到降低功耗的目的。但是DPM降低了CPU的处理速度,所以一般都具有这个约束:在保证系统QoS的同时减少能耗。DVFS即动态电压频率调整,动态技术是根据芯片所运行的应用程序对计算能力的不同需要,动态调节芯片的运行频率和电压,从而达到节能的目的。但是在动态电压频率调整这一技术的文章中的能耗来自两个方面,一个是CMOS电路开关时的动态能耗,一个是CMOS电路
泄露的静态能耗。但是在实际应用场景下,一部分能耗还应该包括传输过程中的能耗损失,睡眠状态下,虽然能耗损失相对于激活状态下能耗的速度要慢,但是在小任务,经常处于睡眠状态下的任务来说,降低睡眠能耗也是促进实现低能耗目标的有效方式。
[0007]综上所述,现有任务调度方法存在缺陷,亟需一种新的异构计算任务调度方式。

技术实现思路

[0008]有鉴于此,有必要提供一种基于异构计算的任务调度方法及装置,用以解决异构计算的任务调度优化容易陷入局部最优解,无法最大程度发挥异构计算优势的问题。
[0009]本专利技术提供一种基于异构计算的任务调度方法,包括以下步骤:
[0010]建立待调度任务的DAG模型,根据所述DAG模型建立作业队列;
[0011]建立异构处理器之间的网络拓扑图,根据各处理器的计算速度为各处理器分配初始任务量;
[0012]将所述作业队列中任务按初始任务量随机分配给各处理器,并为各处理器随机分配初始电压,构建初始调度列表;
[0013]根据所述初始调度列表生成初始种群,初始化遗传算法参数,各处理器并行执行遗传算法进行种群迭代更新,得到最优种群;
[0014]获取所述最优种群对应的任务调度列表作为最优任务调度列表。
[0015]进一步的,建立待调度任务的DAG模型,具体为:
[0016]以待调度任务所包含的作业作为DAG模型的节点,以作业执行时间作为节点属性,根据作业之间的执行顺序依赖关系建立各节点之间的有向边,以作业之间的通信量作为有向边属性,建立所述DAG模型。
[0017]进一步的,根据所述DAG模型建立作业队列,具体为:
[0018]复制DAG模型中所有节点得到节点集;
[0019]筛选出出入度为0的节点,如果出入度为0的节点只有一个,则直接将其放入作业队列,如果出入度为0的节点有多个,则进一步筛选出作业大小最小的节点,如果作业大小最小的节点只有一个,则直接将其放入作业队列,如果作业大小最小的节点有多个,则从中随机选择一个节点放入作业队列;
[0020]将已入队的节点从所述节点集中删除,并将与已入队节点相连接的后续节点之间的依赖关系删除;判断当前节点集是否为空,如果为空,则输出作业队列,如果不为空,则转上一步进行下一次节点入队。
[0021]进一步的,建立异构处理器之间的网络拓扑图,具体为:
[0022]以各处理器作为网络拓扑图的节点,以处理器的执行速度作为节点属性,根据各处理器之间的是否可以通信建立节点之间的无向边,以处理器之间的通信速度作为无向边属性,建立所述网络拓扑图。
[0023]进一步的,根据各处理器的计算速度为各处理器分配初始任务量,具体为:
[0024]根据各处理器的计算速度,计算每一处理器的超参数:
[0025][0026]其中,θ
a
为第a个处理器的超参数,W(p
a
)为第a个处理器的计算速率,W(p
b
)为第b个
处理器的计算速率,1≤a≤d,b=1,

,d,d为处理器数量;
[0027]根据所述超参数为各处理器分配初始任务量:
[0028]Num(p
a
)=θ
a
*M;
[0029]其中,Num(p
a
)为第a个处理器所分配的初始任务量,M为任务总数量。
[0030]进一步的,各处理器并行执行遗传算法进行种群迭代更新,得到最优种群,具体为:
[0031]以最小能耗量作为目标函数,以任务执行时间作为约束条件,建立优化模型;
[0032]根据所述目标函数评价当前种群的适应度,各处理器并行对当前种群进行选择算子、交叉算子以及变异算子的遗传操作;各处理器进行信息交换,实现种群更新;
[0033]判本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于异构计算的任务调度方法,其特征在于,包括以下步骤:建立待调度任务的DAG模型,根据所述DAG模型建立作业队列;建立异构处理器之间的网络拓扑图,根据各处理器的计算速度为各处理器分配初始任务量;将所述作业队列中任务按初始任务量随机分配给各处理器,并为各处理器随机分配初始电压,构建初始调度列表;根据所述初始调度列表生成初始种群,初始化遗传算法参数,各处理器并行执行遗传算法进行种群迭代更新,得到最优种群;获取所述最优种群对应的任务调度列表作为最优任务调度列表。2.根据权利要求1所述的基于异构计算的任务调度方法,其特征在于,建立待调度任务的DAG模型,具体为:以待调度任务所包含的作业作为DAG模型的节点,以作业执行时间作为节点属性,根据作业之间的执行顺序依赖关系建立各节点之间的有向边,以作业之间的通信量作为有向边属性,建立所述DAG模型。3.根据权利要求2所述的基于异构计算的任务调度方法,其特征在于,根据所述DAG模型建立作业队列,具体为:复制DAG模型中所有节点得到节点集;筛选出出入度为0的节点,如果出入度为0的节点只有一个,则直接将其放入作业队列,如果出入度为0的节点有多个,则进一步筛选出作业大小最小的节点,如果作业大小最小的节点只有一个,则直接将其放入作业队列,如果作业大小最小的节点有多个,则从中随机选择一个节点放入作业队列;将已入队的节点从所述节点集中删除,并将与已入队节点相连接的后续节点之间的依赖关系删除;判断当前节点集是否为空,如果为空,则输出作业队列,如果不为空,则转上一步进行下一次节点入队。4.根据权利要求1所述的基于异构计算的任务调度方法,其特征在于,建立异构处理器之间的网络拓扑图,具体为:以各处理器作为网络拓扑图的节点,以处理器的执行速度作为节点属性,根据各处理器之间的是否可以通信建立节点之间的无向边,以处理器之间的通信速度作为无向边属性,建立所述网络拓扑图。5.根据权利要求1所述的基于异构计算的任务调度方法,其特征在于,根据各处理器的计算速度为各处理器分配初始任务量,具体为:根据各处理器的计算速度,计算每一处理器的超参数:其中,θ
a
为第a个处理器的超参数,W(p
a
)为第a个处理器的计算速率,W(p
b
)为第b个处理器的计算速率,1≤a≤d,b=1,

,d,d为处理器数量;根据所述超参数为各处理器分配初始任务量:Num(p
a
)=θ
a
*M;
其中,Num(p
a
)为第a个处理器所分配的初始任务量,M为任务总数量。6.根据权利要求1所述的基于异构计算的任...

【专利技术属性】
技术研发人员:邹承明史梦园
申请(专利权)人:武汉理工大学
类型:发明
国别省市:

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

1