CN109857532B - 基于蒙特卡洛树搜索的dag任务调度方法 - Google Patents

基于蒙特卡洛树搜索的dag任务调度方法 Download PDF

Info

Publication number
CN109857532B
CN109857532B CN201910059454.9A CN201910059454A CN109857532B CN 109857532 B CN109857532 B CN 109857532B CN 201910059454 A CN201910059454 A CN 201910059454A CN 109857532 B CN109857532 B CN 109857532B
Authority
CN
China
Prior art keywords
node
task
processor
value
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910059454.9A
Other languages
English (en)
Other versions
CN109857532A (zh
Inventor
程雨夏
刘奎
吴志伟
吴卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201910059454.9A priority Critical patent/CN109857532B/zh
Publication of CN109857532A publication Critical patent/CN109857532A/zh
Application granted granted Critical
Publication of CN109857532B publication Critical patent/CN109857532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于蒙特卡洛树搜索的DAG任务调度方法,包括如下步骤:首先使用CPOP算法里求关键路径的方法计算DAG图的关键路径;然后执行本方法的蒙特卡洛树搜索四个阶段,从根节点开始判断当前结点是否扩展完,如果扩展完选择UCT值最大的结点作为搜索路径结点,如果没有扩展完则添加一个新的结点作为扩展结点,以扩展结点开始模拟任务调度过程,使用随机选择策略选择处理器和任务,模拟结束得到一个makspan值,根据makespan值回传更新结点,最后根据蒙特卡洛树搜索的结果找到一条能使makespan值最小的调度顺序。本发明具有能够在加速保证算法效率的同时,提高算法的搜索效率的特点。

Description

基于蒙特卡洛树搜索的DAG任务调度方法
技术领域
本发明涉及任务调度系统技术领域,尤其是涉及一种能够加速保证算法的效率,同时提高算法搜索效率的基于蒙特卡洛树搜索的DAG任务调度方法。
背景技术
在分布式异构计算系统中,如何优化DAG任务调度是一个开放的研究问题。DAG任务调度的目标是给出一个调度方案,将DAG图中的任务按照一定的顺序调度到处理器上执行,使调度长度最小化。其模型如下:
用一个有向无环图(DAG)G(V,E)代表一个计算应用。其中V代表应用程序中n个任务的集合,E代表任务之间e条边的集合。边e(i,j)∈E表示优先约束,任务nj必须等到ni完成它才可以执行。通常把没有前驱的任务称为入口任务,记为nentry;没有后继的任务称为出口任务,记为nexit。给出一个包含m个处理器的集合Q={p1,p2,…,pm}。Wi,j表示任务ni调度到处理器pj上执行的计算开销;
Figure BDA0001953661200000014
表示任务ni调度到处理器上执行的平均计算开销;Ci,j表示任务ni和任务nj之间的通信开销,当任务ni和任务nj在同一处理器上执行时通信开销为0;ESTi,j表示任务ni调度到处理器pj上的开始执行时间;EFTi,j表示任务ni调度到处理器pj上的执行结束时间;三者关系为:EFTi,j=ESTi,j+Wi,j。所有的任务都调度完后,最后一个任务的EFT被命名为调度长度,也称为makespan。
CPOP算法中,任务ni的上行权重用如下公式计算,其中
Figure BDA0001953661200000011
Figure BDA0001953661200000012
任务ni的下行权重则用如下公式计算,其中rankd(nentry)=0:
Figure BDA0001953661200000013
任务的权重值为上下行权重之和,用如下公式计算:
CT(ni)=ranku(ni)+rankd(ni)。
关键路径的任务结点为上下权重值最大的任务结点。
DAG任务调度在实际调度系统中被证明是NP完全问题,由于其重要性,它已在文献中得到了广泛的研究。许多基于DAG的任务调度算法已经被提出,例如列表启发式调度算法、基于任务复制的算法、基于遗传和进化的随机搜索算法等等。然而,列表启发式调度算法缺乏适应各种异构硬件和快速变化的应用需求;基于任务复制的算法的时间复杂度比较高;基于遗传和进化的随机搜索算法需要多次迭代过程,才能找到相对比较好的解,而且整个迭代过程执行时间较长。
因此,设计一种能够加速保证算法的效率,同时提高算法搜索效率的DAG任务调度方法,就显得十分重要。
发明内容
本发明是为了克服现有技术中,目前分布式环境下工作流调度方法存在执行时间长的问题,提供了一种能够加速保证算法的效率,同时提高算法搜索效率的基于蒙特卡洛树搜索的DAG任务调度方法。
为实现上述目的,本发明采用以下技术方案:
一种基于蒙特卡洛树搜索的DAG任务调度方法,包括如下步骤:
(1-1)利用CPOP算法求出DAG图的关键路径;
(1-2)选择阶段:设定搜索树的根节点为S0,从根节点S0开始,每经过一个结点,开始判断经过的这个结点是否扩展完;
(1-3)扩展阶段:若当前为扩展任务结点,则从待调度的任务队列中选择一个任务,添加到搜索树上,作为新的任务结点;
(1-4)模拟阶段:从扩展结点开始,在每一个位置Si,使用随机策略交替选择任务和处理器,并将同一状态下选择的任务调度到处理器上,直到模拟到全部任务都被调度到处理器上为止,最后会得到一个makespan值;
(1-5)回传阶段:当模拟结束后,获得搜索树中各节点的信息,同时根据makespan值,将搜索后所得最新结点由叶子结点回传到根节点上进行更新;
(1-6)重复执行步骤(1-2)至步骤(1-5)直到DAG图的最后一个任务结点被调度到处理器上为止,并最后根据结果找到一条能使makespan值最小的调度顺序。
本发明提供了一种蒙特卡洛树搜索结合关键路径来进行DAG任务调度的方法。本发明方法在调度上既不像普通启发式算法一样采用同一模型对不同的DAG输入进行调度,也不像遗传算法一样,在计算调度结果过程中进行多次迭代,消耗大量的时间。本发明能够在加速保证算法效率的同时,提高算法的搜索效率。
作为优选,本发明的步骤(1-2)还包括如下步骤:
如果经过的这个结点没有扩展完,则进入扩展阶段;如果扩展完,选择UCT值最大的结点作为搜索路径结点,所述过程利用如下公式进行计算:
Figure BDA0001953661200000031
Figure BDA0001953661200000032
Figure BDA0001953661200000033
其中,Cpuct是重要的超参数,主要用于平衡探索和利用间的权重;N(s,a)表示当前任务结点的访问次数;
Figure BDA0001953661200000041
表示当前任务结点的所有父节点的访问次数;N(s,b)表示当前处理器结点的访问次数;
Figure BDA0001953661200000042
表示当前处理器结点的所有父结点的访问次数;p(s,a)当前状态下动作a的概率值,P(s,b)当前状态下动作b的概率值,其中模拟退火参数τ初始值为1。
作为优选,本发明的步骤(1-3)还包括如下步骤:
对新的任务结点的访问次数,奖励值和动作概率进行初始化N(st,a)=0,Q(st,a)=0,p(st,a)=pt
若当前为扩展处理器结点,则从处理器集合中任意选择一个可利用的处理器,作为搜索树中新的处理器结点,并对该结点的访问次数,奖励值和动作概率进行初始化N(st,b)=0,Q(st,b)=0,p(st,b)=pt
作为优选,本发明的步骤(1-5)还包括如下步骤:
其中,任务结点访问次数的更新方式为N(s,a)=N(s,a)+1;处理器结点访问次数的更新方式为N(s,b)=N(s,b)+1;
任务结点的奖励值的更新方式为:
Figure BDA0001953661200000043
处理器结点的奖励值的更新方式:
Figure BDA0001953661200000044
其中,
Figure BDA0001953661200000045
表示当前任务结点到最后一个任务结点之间的关键路径任务结点在其执行时间最短的处理器上执行所需的计算开销之和;
当MCTS搜索完成后,返回当前状态下动作a的概率值π(s,a)和动作b的概率值π(s,b)。
作为优选,所述动作a为从待调度的任务集合中选择一个任务;所述动作b为从处理器集合中选择一个可以使用的处理器。
因此,本发明具有如下有益效果:(1)本发明利用蒙特卡洛树搜索结合关键路径的方法,来进行DAG任务调度,解决了目前分布式环境下工作流调度方法执行时间长的缺点;(2)本发明能够在加速保证算法效率的同时,提高算法的搜索效率。
附图说明
图1是本发明的一种流程图。
具体实施方式
下面结合附图与具体实施方式对本发明做进一步的描述:
实施例:如图1所示的基于蒙特卡洛树搜索的DAG任务调度方法,包括如下步骤:
(1-1)利用CPOP算法求出DAG图的关键路径;
(1-2)选择阶段:设定搜索树的根节点为S0,从根节点S0开始,每经过一个结点,开始判断经过的这个结点是否扩展完;
如果经过的这个结点没有扩展完,则进入扩展阶段;如果扩展完,选择UCT值最大的结点作为搜索路径结点,所述过程利用如下公式进行计算:
Figure BDA0001953661200000051
Figure BDA0001953661200000052
Figure BDA0001953661200000061
其中,Cpuct是重要的超参数,主要用于平衡探索和利用间的权重;N(s,a)表示当前任务结点的访问次数;
Figure BDA0001953661200000062
表示当前任务结点的所有父节点的访问次数;N(s,b)表示当前处理器结点的访问次数;
Figure BDA0001953661200000063
表示当前处理器结点的所有父结点的访问次数;p(s,a)当前状态下动作a的概率值,P(s,b)当前状态下动作b的概率值,其中模拟退火参数τ初始值为1;
(1-3)扩展阶段:若当前为扩展任务结点,则从待调度的任务队列中选择一个任务,添加到搜索树上,作为新的任务结点;
对新的任务结点的访问次数,奖励值和动作概率进行初始化N(st,a)=0,Q(st,a)=0,p(st,a)=pt
若当前为扩展处理器结点,则从处理器集合中任意选择一个可利用的处理器,作为搜索树中新的处理器结点,并对该结点的访问次数,奖励值和动作概率进行初始化N(st,b)=0,Q(st,b)=0,p(st,b)=pt
(1-4)模拟阶段:从扩展结点开始,在每一个位置Si,使用随机策略交替选择任务和处理器,并将同一状态下选择的任务调度到处理器上,直到模拟到全部任务都被调度到处理器上为止,最后会得到一个makespan值;
(1-5)回传阶段:当模拟结束后,获得搜索树中各节点的信息,同时根据makespan值,将搜索后所得最新结点由叶子结点回传到根节点上进行更新;
其中,任务结点访问次数的更新方式为N(s,a)=N(s,a)+1;处理器结点访问次数的更新方式为N(s,b)=N(s,b)+1;
任务结点的奖励值的更新方式为:
Figure BDA0001953661200000071
处理器结点的奖励值的更新方式:
Figure BDA0001953661200000072
其中,
Figure BDA0001953661200000073
表示当前任务结点到最后一个任务结点之间的关键路径任务结点在其执行时间最短的处理器上执行所需的计算开销之和;
当MCTS搜索完成后,返回当前状态下动作a的概率值π(s,a)和动作b的概率值π(s,b);
(1-6)重复执行步骤(1-2)至步骤(1-5)直到DAG图的最后一个任务结点被调度到处理器上为止,并最后根据结果找到一条能使makespan值最小的调度顺序。
上述方法过程中,所述动作a为从待调度的任务集合中选择一个任务;所述动作b为从处理器集合中选择一个可以使用的处理器。
本发明在调度上既不像普通启发式算法一样采用同一模型对不同的DAG输入进行调度,也不像遗传算法一样,在计算调度结果过程中进行多次迭代,需要消耗大量的时间。本发明能够在加速保证算法效率的同时,提高算法的搜索效率。
应理解,本实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

Claims (5)

1.一种基于蒙特卡洛树搜索的DAG任务调度方法,其特征是,包括如下步骤:
(1-1)利用CPOP算法求出DAG图的关键路径;
(1-2)选择阶段:设定搜索树的根节点为S0,从根节点S0开始,每经过一个结点,开始判断经过的这个结点是否扩展完;
(1-3)扩展阶段:若当前为扩展任务结点,则从待调度的任务队列中选择一个任务,添加到搜索树上,作为新的任务结点;若当前为扩展处理器结点,则从处理器集合中任意选择一个可利用的处理器,作为搜索树中新的处理器结点;
(1-4)模拟阶段:从扩展结点开始,在每一个位置Si,使用随机策略交替选择任务和处理器,并将同一状态下选择的任务调度到处理器上,直到模拟到全部任务都被调度到处理器上为止,最后会得到一个makespan值;
(1-5)回传阶段:当模拟结束后,获得搜索树中各节点的信息,同时根据makespan值,将搜索后所得最新结点由叶子结点回传到根节点上进行更新;
(1-6)重复执行步骤(1-2)至步骤(1-5)直到DAG图的最后一个任务结点被调度到处理器上为止,并最后根据结果找到一条能使makespan值最小的调度顺序。
2.根据权利要求1所述的基于蒙特卡洛树搜索的DAG任务调度方法,其特征是,步骤(1-2)还包括如下步骤:
如果经过的这个结点没有扩展完,则进入扩展阶段;如果扩展完,选择UCT值最大的结点作为搜索路径结点,其利用如下公式进行计算:
Figure FDA0002650328490000011
Figure FDA0002650328490000012
Figure FDA0002650328490000013
其中,Cpuct是重要的超参数,主要用于平衡探索和利用间的权重;N(s,a)表示当前任务结点的访问次数;
Figure FDA0002650328490000014
表示当前任务结点的所有父节点的访问次数;N(s,b)表示当前处理器结点的访问次数;
Figure FDA0002650328490000015
表示当前处理器结点的所有父结点的访问次数;p(s,a)当前状态下动作a的概率值,P(s,b)当前状态下动作b的概率值,其中模拟退火参数τ初始值为1。
3.根据权利要求1所述的基于蒙特卡洛树搜索的DAG任务调度方法,其特征是,步骤(1-3)还包括如下步骤:
对新的任务结点的访问次数,奖励值和动作概率进行初始化N(st,a)=0,Q(st,a)=0,p(st,a)=pt
若当前为扩展处理器结点,则从处理器集合中任意选择一个可利用的处理器,作为搜索树中新的处理器结点,并对该结点的访问次数,奖励值和动作概率进行初始化N(st,b)=0,Q(st,b)=0,p(st,b)=pt
4.根据权利要求1所述的基于蒙特卡洛树搜索的DAG任务调度方法,其特征是,步骤(1-5)还包括如下步骤:
其中,任务结点访问次数的更新方式为N(s,a)=N(s,a)+1;处理器结点访问次数的更新方式为N(s,b)=N(s,b)+1;
任务结点的奖励值的更新方式为:
Figure FDA0002650328490000021
处理器结点的奖励值的更新方式:
Figure FDA0002650328490000022
其中,
Figure FDA0002650328490000023
表示当前任务结点到最后一个任务结点之间的关键路径任务结点在其执行时间最短的处理器上执行所需的计算开销之和;
当MCTS搜索完成后,返回当前状态下动作a的概率值π(s,a)和动作b的概率值π(s,b)。
5.根据权利要求2或4所述的基于蒙特卡洛树搜索的DAG任务调度方法,其特征是,所述动作a为从待调度的任务集合中选择一个任务;所述动作b为从处理器集合中选择一个可以使用的处理器。
CN201910059454.9A 2019-01-22 2019-01-22 基于蒙特卡洛树搜索的dag任务调度方法 Active CN109857532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910059454.9A CN109857532B (zh) 2019-01-22 2019-01-22 基于蒙特卡洛树搜索的dag任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910059454.9A CN109857532B (zh) 2019-01-22 2019-01-22 基于蒙特卡洛树搜索的dag任务调度方法

Publications (2)

Publication Number Publication Date
CN109857532A CN109857532A (zh) 2019-06-07
CN109857532B true CN109857532B (zh) 2020-11-17

Family

ID=66895822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910059454.9A Active CN109857532B (zh) 2019-01-22 2019-01-22 基于蒙特卡洛树搜索的dag任务调度方法

Country Status (1)

Country Link
CN (1) CN109857532B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427261A (zh) * 2019-08-12 2019-11-08 电子科技大学 一种基于深度蒙特卡洛树搜索的边缘计算任务分配方法
CN111209095B (zh) * 2019-08-20 2023-08-15 杭州电子科技大学 一种dag并行任务调度中基于树搜索的剪枝方法
CN110532439B (zh) * 2019-08-30 2022-02-08 中国科学院自动化研究所 基于树搜索的同顺序部门决策流程生成方法、系统、装置
CN111679679B (zh) * 2020-07-06 2023-03-21 哈尔滨工业大学 基于蒙特卡洛树搜索算法的机器人状态规划方法
CN111918403B (zh) * 2020-08-03 2023-10-31 浙江理工大学 基于改进蒙特卡洛搜索树的工业无线网络确定性传输调度方法
CN112436971B (zh) * 2020-11-25 2023-02-03 中国人民解放军军事科学院评估论证研究中心 基于蒙特卡洛树搜索的全域指控网络协作拓扑生成方法
CN113760553B (zh) * 2021-09-09 2024-04-26 中山大学 一种基于蒙特卡洛树搜索的混部集群任务调度方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508708A (zh) * 2011-11-30 2012-06-20 湖南大学 基于改进遗传算法的异构多核节能任务调度方法
CN103034614A (zh) * 2012-12-19 2013-04-10 哈尔滨理工大学 基于关键路径和任务复制的单任务多核调度方法
CN103984595A (zh) * 2014-05-16 2014-08-13 哈尔滨工程大学 一种异构cmp的静态任务调度方法
CN105117286A (zh) * 2015-09-22 2015-12-02 北京大学 MapReduce中任务的调度方法和流水化执行方法
CN107301500A (zh) * 2017-06-02 2017-10-27 北京工业大学 一种基于关键路径任务前瞻的工作流调度方法
CN107943561A (zh) * 2017-12-14 2018-04-20 长春工程学院 一种面向云计算平台的科学工作流任务调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607188B2 (en) * 2011-09-06 2013-12-10 International Business Machines Corporation Modeling task-site allocation networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508708A (zh) * 2011-11-30 2012-06-20 湖南大学 基于改进遗传算法的异构多核节能任务调度方法
CN103034614A (zh) * 2012-12-19 2013-04-10 哈尔滨理工大学 基于关键路径和任务复制的单任务多核调度方法
CN103984595A (zh) * 2014-05-16 2014-08-13 哈尔滨工程大学 一种异构cmp的静态任务调度方法
CN105117286A (zh) * 2015-09-22 2015-12-02 北京大学 MapReduce中任务的调度方法和流水化执行方法
CN107301500A (zh) * 2017-06-02 2017-10-27 北京工业大学 一种基于关键路径任务前瞻的工作流调度方法
CN107943561A (zh) * 2017-12-14 2018-04-20 长春工程学院 一种面向云计算平台的科学工作流任务调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于挂靠合成的动态多DAG调度;赵新政;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315;全文 *

Also Published As

Publication number Publication date
CN109857532A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
CN109857532B (zh) 基于蒙特卡洛树搜索的dag任务调度方法
Hu et al. Spear: Optimized dependency-aware task scheduling with deep reinforcement learning
Ilavarasan et al. Low complexity performance effective task scheduling algorithm for heterogeneous computing environments
US10754709B2 (en) Scalable task scheduling systems and methods for cyclic interdependent tasks using semantic analysis
CN111209095B (zh) 一种dag并行任务调度中基于树搜索的剪枝方法
EP3540652A1 (en) Method, device, chip and system for training neural network model
CN110688219B (zh) 基于反向混沌布谷鸟搜索的自适应权重负载均衡算法
CN113627871B (zh) 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质
Li et al. Model and metaheuristics for robotic two-sided assembly line balancing problems with setup times
US8949160B2 (en) Systems and methods for generating wind power scenarios for wind-power-integrated stochastic unit commitment problems
CN111274036A (zh) 一种基于速度预测的深度学习任务的调度方法
CN108108233B (zh) 任务多副本执行的集群作业调度方法及系统
GB2609126A (en) Efficient ground truth annotation
US20150170052A1 (en) Method of reducing resource fluctuations in resource leveling
US20220405129A1 (en) Workflow scheduling method and system based on multi-target particle swarm algorithm, and storage medium
Nilsson et al. Incremental dynamic controllability in cubic worst-case time
Boveiri An incremental ant colony optimization based approach to task assignment to processors for multiprocessor scheduling
CN110262879B (zh) 一种基于平衡探索与利用的蒙特卡洛树搜索方法
Lin et al. A scheduling algorithm based on reinforcement learning for heterogeneous environments
CN107329826A (zh) 一种基于Cloudsim平台上的启发式融合资源动态调度算法
EP2884453A1 (en) A computer implemented method, a system and computer program product for partitioning a graph representative of a communication network
CN114444715A (zh) 图数据处理方法、装置、系统、电子设备及可读存储介质
CN115756646A (zh) 一种基于工业互联网的边缘计算任务卸载优化方法
Tang et al. A network load perception based task scheduler for parallel distributed data processing systems
CN109378036A (zh) 一种基于二系杂交水稻育种机制的启发式优化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant