异构环境下带有特殊任务的任务调度方法、系统及应用技术方案

技术编号:28372973 阅读:22 留言:0更新日期:2021-05-08 00:00
本发明专利技术属于任务调度技术领域,公开了一种异构环境下带有特殊任务的任务调度方法、系统及应用,包括:判断任务性质即判断调度任务是否为特殊任务,基于任务性质选择任务处理器,确定任务调度列表,进行任务调度。本发明专利技术提供的异构环境下带有特殊任务的任务调度方法解决了在处理资源异构下的任务调度问题,不仅有效利用当前环境下所包含的计算资源,还降低了整个任务处理流程的最终完成时间,而且在此基础上增加了对特殊任务的调度,实现了对异构环境下不同类型处理器的充分使用,提升了资源的整体利用率。本发明专利技术在进行整体任务调度的同时,会根据任务的性质不同,相应分配对应的处理资源,提升资源的利用效率且缩短整体的完成时间。

【技术实现步骤摘要】
异构环境下带有特殊任务的任务调度方法、系统及应用
本专利技术属于任务调度
,尤其涉及一种异构环境下带有特殊任务的任务调度方法、系统及应用。
技术介绍
目前:随着计算机体系结构的发展和高性能计算的广泛使用,很多新的处理器架构被提出和应用于处理器设计中,如FPGA,GPU,DSP等计算资源,丰富多样的计算资源提供了一种新的计算环境-异构计算环境,在异构计算环境下,可以执行大量的并发式任务。在异构计算环境下包含着许多计算能力以及适用场景都各不相同的资源,因此调度问题始终处于至关重要的问题,调度算法关系着运行成本的高低,资源的利用效率以及整个处理流程的实际完成时间等。表调度算法是最经典的DAG(有向无环图)调度算法。表调度算法一般包含两种步骤,任务优先级确定和处理器选择。任务优先级确定是结合某种优先级决定策略决定任务之间的优先级并且构造一个调度列表,然后按照调度列表中优先级自高向低的顺序为任务分配处理器,具有较低的时间复杂度和空间复杂度。常见的表调度算法有HEFT,CPOP等。HEFT算法:HEFT算法是针对单DAG的表调度算法,该算法的目标是满足整个任务调度最小跨度的同时,将任务集中的每个任务映射到资源集中的每个计算资源上。任务集中每个任务的优先级由向上排序值ranku(从任务节点到出口节点的关键路径长度)确定,即任务的ranku值越大,优先级越高,反之,则优先级越低;在任务调度过程中,先找到具有最早完成时间的处理机节点,然后将任务分配此节点上执。HEFT算法总体上分为任务排序和任务调度两个阶段。在任务排序阶段,即计算所有任务的优先级并按从高到低的顺序降序排列;在任务调度阶段,从已排好序的任务队列中,选择优先级最高的任务,然后找出能使此任务完成时间最早的处理机节点。CPOP算法将向上排序值ranku和向下排序值rankd(从入口节点到被调度任务的关键路径长度)的值相加,作为计算所有任务的优先级的参数,CPOP算法与HEFT算法类似,算法先根据ranku+rankd的值确定所有任务的优先级,然后在确定优先级的基础上将任务调度到相应的处理机。CPOP算法确定任务优先级的方法以及选择合适的处理机策略与HEFT算法不完全相同。常见的调度算法通常没有考虑不同的硬件处理器使用于不同类型的任务,且像FPGA这样需提前加载处理算法的处理资源,在一定时间内对应的功能是无法改变的,相对能处理的任务是有限制的,因此调度算法不能随意分配资源,需要将这些特殊任务区别对待。通过上述分析,现有技术存在的问题及缺陷为:现有的调度方法没有考虑不同的硬件处理器使用不同类型的任务,不能随意分配资源,资源利用率低,且调度结果不佳。解决以上问题及缺陷的难度为:现有的表调度算法一般分为两个步骤,并没有考虑对任务进行分析,导致任务调度阶段无法确定特殊任务是否存在。解决以上问题及缺陷的意义为:在设计计算任务优先级之前,先对调度任务进行分析,确定特殊任务集合。同时采取任务优先级两级计算方式,生成更合理的任务优先级列表。最后,设计任务处理器选择算法,提高调度算法在实际工程中的使用意义,使算法更加匹配真实调度场景。且在最大程度的缩短整体任务的调度时间长度。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种异构环境下带有特殊任务的任务调度方法、系统及应用。本专利技术是这样实现的,一种异构环境下带有特殊任务的任务调度方法,所述异构环境下带有特殊任务的任务调度方法包括:通过在任务优先级确认之前,根据任务性质以及当前所使用的处理器情况,判断任务的性质,生成特殊任务列表,然后根据任务优先级的确认方式生成任务调度列表,最后根据任务调度列表以及特殊任务列表进行任务以及处理器匹配关系,完成整体的任务调度。进一步,所述异构环境下带有特殊任务的任务调度方法包括以下步骤:步骤一,初始化生成包含任务前后依赖关系及权重的DAG图;初始化生成任务i在处理器j上的计算开销TP(i,j);步骤二,初始化生成特殊任务集合SP(i);计算每个任务的优先级rankvalue;依据每个任务的优先级进行自高向低排序,生成任务调度列表;步骤三,判断当前调度队列是否为空,若空则调度结束,若非空则选取调度列表中的第一个任务i即本次循环中所调度任务;步骤四,判断此次选中的任务是否为入口任务及关键任务,若是则执行步骤五;若不是,则执行步骤六;步骤五,将任务i对应的计算开销最小的处理器j分配给i,更新任务与处理器组合,并更新该任务的实际开始时间以及实际完成时间;更新任务队列,返回步骤三;步骤六,计算任务的最早完成时间,选取使目标函数值最小的任务与处理器组合;步骤七,更新任务调度队列,返回步骤三。进一步,步骤二中,所述任务的优先级rankvalue计算公式如下:rankvalue(i)=TP(i,j)+maxi∈succ(i)(DAG(i,j)+rankvalue(j));其中:TP(i,j)表示任务i在处理器j上的计算开销;DAG(i,j)表示任务i与任务j的依赖关系及权重。进一步,步骤四中,所述判断此次选中的任务是否为入口任务及关键任务包括:若此次任务为入口任务,则est=avail;其中:est(Ti,Pk)=max{avail(Pk),maxTi∈pred(Ti){aft(Tj)+DAG(i,j)}};avail(Pk)=maxtp(Ti)=Pkaft(Tj);式中,T表示任务集合;P表示处理器集合;est表示任务最早开始时间;eft表示任务最早结束时间;aft表示任务实际结束时间。进一步,步骤五中,所述将任务i对应的计算开销最小的处理器j分配给i,更新任务与处理器组合,并更新该任务的实际开始时间以及实际完成时间包括:(1)依据公式tp(i)=minj∈p(TP(i,j)),选择合适的处理器进行组合;其中,tp表示任务与处理器映射;(2)根据tp(Ti)计算任务实际开始时间ast(i),任务实际结束时间aft(i)以及avail(i),其中:ast(Ti)=est(Ti,tp(Ti))aft(Ti)=eft(Ti,tp(Ti))avail(Pk)=maxtp(Tj)=Pkaft(Tj)。进一步,步骤六中,所述选取使目标函数值最小的任务与处理器组合包括:依据公式OPT(i,j)=eft(i,j),计算当前任务在每个处理器的目标函数值,选择值最小的那个组合,更新tp;其中,OPT表示目标优化函数。本专利技术的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:判断任务性质,基于任务性质选择任务处理器,确定任务调度列表,进行任务调度。本专利技术的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:判断任务本文档来自技高网
...

【技术保护点】
1.一种异构环境下带有特殊任务的任务调度方法,其特征在于,所述异构环境下带有特殊任务的任务调度方法包括:通过在任务优先级确认之前,根据任务性质以及当前所使用的处理器情况,判断任务的性质,生成特殊任务列表,然后根据任务优先级的确认方式生成任务调度列表,最后根据任务调度列表以及特殊任务列表进行任务以及处理器匹配关系,完成整体的任务调度。/n

【技术特征摘要】
1.一种异构环境下带有特殊任务的任务调度方法,其特征在于,所述异构环境下带有特殊任务的任务调度方法包括:通过在任务优先级确认之前,根据任务性质以及当前所使用的处理器情况,判断任务的性质,生成特殊任务列表,然后根据任务优先级的确认方式生成任务调度列表,最后根据任务调度列表以及特殊任务列表进行任务以及处理器匹配关系,完成整体的任务调度。


2.如权利要求1所述异构环境下带有特殊任务的任务调度方法,其特征在于,所述判断任务性质即判断调度任务是否为特殊任务。


3.如权利要求1所述异构环境下带有特殊任务的任务调度方法,其特征在于,所述异构环境下带有特殊任务的任务调度方法包括以下步骤:
步骤一,初始化生成包含任务前后依赖关系及权重的DAG图;初始化生成任务i在处理器j上的计算开销TP(i,j);
步骤二,初始化生成特殊任务集合SP(i);计算每个任务的优先级rankvalue;依据每个任务的优先级进行自高向低排序,生成任务调度列表;
步骤三,判断当前调度队列是否为空,若空则调度结束,若非空则选取调度列表中的第一个任务i即本次循环中所调度任务;
步骤四,判断此次选中的任务是否为入口任务及关键任务,若是则执行步骤五;若不是,则执行步骤六;
步骤五,将任务i对应的计算开销最小的处理器j分配给i,更新任务与处理器组合,并更新该任务的实际开始时间以及实际完成时间;更新任务队列,返回步骤三;
步骤六,计算任务的最早完成时间,选取使目标函数值最小的任务与处理器组合;
步骤七,更新任务调度队列,返回步骤三。


4.如权利要求3所述异构环境下带有特殊任务的任务调度方法,其特征在于,步骤二中,所述任务的优先级rankvalue计算公式如下:
rankvalue(i)=TP(i,j)+maxi∈succ(i)(DAG(i,j)+rankvalue(j));
其中:TP(i,j)表示任务i在处理器j上的计算开销;DAG(i,j)表示任务i与任务j的依赖关系及权重。


5.如权利要求3所述异构环境下带有特殊任务的任务调度方法,其特征在于,步骤四中,所述判断此次选中的任务是否为入口任务及关键任务包括:
若此次任务为入口任务,则est=avail;
其中:
est(Ti,Pk)=max{avail(Pk),maxTi∈pred(Ti){aft(Tj)+DAG(i,j)}};
avail(Pk)=maxt...

【专利技术属性】
技术研发人员:李静磊孙泽文张亮杨清海张帅
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

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

1