CN109857532B - 基于蒙特卡洛树搜索的dag任务调度方法 - Google Patents
基于蒙特卡洛树搜索的dag任务调度方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 28
- 238000004088 simulation Methods 0.000 claims abstract description 7
- 238000002922 simulated annealing Methods 0.000 claims description 3
- 230000002068 genetic effect Effects 0.000 description 3
- 108091060211 Expressed sequence tag Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- JLYXXMFPNIAWKQ-UHFFFAOYSA-N γ Benzene hexachloride Chemical compound ClC1C(Cl)C(Cl)C(Cl)C(Cl)C1Cl JLYXXMFPNIAWKQ-UHFFFAOYSA-N 0.000 description 1
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)G(V,E)代表一个计算应用。其中V代表应用程序中n个任务的集合,E代表任务之间e条边的集合。边e(i,j)∈E表示优先约束,任务nj必须等到ni完成它才可以执行。通常把没有前驱的任务称为入口任务,记为nentry;没有后继的任务称为出口任务,记为nexit。给出一个包含m个处理器的集合Q={p1,p2,…,pm}。Wi,j表示任务ni调度到处理器pj上执行的计算开销;表示任务ni调度到处理器上执行的平均计算开销;Ci,j表示任务ni和任务nj之间的通信开销,当任务ni和任务nj在同一处理器上执行时通信开销为0;ESTi,j表示任务ni调度到处理器pj上的开始执行时间;EFTi,j表示任务ni调度到处理器pj上的执行结束时间;三者关系为:EFTi,j=ESTi,j+Wi,j。所有的任务都调度完后,最后一个任务的EFT被命名为调度长度,也称为makespan。
任务ni的下行权重则用如下公式计算,其中rankd(nentry)=0:
任务的权重值为上下行权重之和,用如下公式计算:
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值最大的结点作为搜索路径结点,所述过程利用如下公式进行计算:
其中,Cpuct是重要的超参数,主要用于平衡探索和利用间的权重;N(s,a)表示当前任务结点的访问次数;表示当前任务结点的所有父节点的访问次数;N(s,b)表示当前处理器结点的访问次数;表示当前处理器结点的所有父结点的访问次数;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;
任务结点的奖励值的更新方式为:
处理器结点的奖励值的更新方式:
当MCTS搜索完成后,返回当前状态下动作a的概率值π(s,a)和动作b的概率值π(s,b)。
作为优选,所述动作a为从待调度的任务集合中选择一个任务;所述动作b为从处理器集合中选择一个可以使用的处理器。
因此,本发明具有如下有益效果:(1)本发明利用蒙特卡洛树搜索结合关键路径的方法,来进行DAG任务调度,解决了目前分布式环境下工作流调度方法执行时间长的缺点;(2)本发明能够在加速保证算法效率的同时,提高算法的搜索效率。
附图说明
图1是本发明的一种流程图。
具体实施方式
下面结合附图与具体实施方式对本发明做进一步的描述:
实施例:如图1所示的基于蒙特卡洛树搜索的DAG任务调度方法,包括如下步骤:
(1-1)利用CPOP算法求出DAG图的关键路径;
(1-2)选择阶段:设定搜索树的根节点为S0,从根节点S0开始,每经过一个结点,开始判断经过的这个结点是否扩展完;
如果经过的这个结点没有扩展完,则进入扩展阶段;如果扩展完,选择UCT值最大的结点作为搜索路径结点,所述过程利用如下公式进行计算:
其中,Cpuct是重要的超参数,主要用于平衡探索和利用间的权重;N(s,a)表示当前任务结点的访问次数;表示当前任务结点的所有父节点的访问次数;N(s,b)表示当前处理器结点的访问次数;表示当前处理器结点的所有父结点的访问次数;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;
任务结点的奖励值的更新方式为:
处理器结点的奖励值的更新方式:
当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值最小的调度顺序。
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。
5.根据权利要求2或4所述的基于蒙特卡洛树搜索的DAG任务调度方法,其特征是,所述动作a为从待调度的任务集合中选择一个任务;所述动作b为从处理器集合中选择一个可以使用的处理器。
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)
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)
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)
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 |
-
2019
- 2019-01-22 CN CN201910059454.9A patent/CN109857532B/zh active Active
Patent Citations (6)
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)
Title |
---|
基于挂靠合成的动态多DAG调度;赵新政;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109857532A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857532B (zh) | 基于蒙特卡洛树搜索的dag任务调度方法 | |
Attiya et al. | An improved hybrid swarm intelligence for scheduling iot application tasks in the cloud | |
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 | |
CN111209095B (zh) | 一种dag并行任务调度中基于树搜索的剪枝方法 | |
US20200097333A1 (en) | Scalable task scheduling systems and methods for cyclic interdependent tasks using semantic analysis | |
CN110688219B (zh) | 基于反向混沌布谷鸟搜索的自适应权重负载均衡算法 | |
CN113627871B (zh) | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 | |
US8949160B2 (en) | Systems and methods for generating wind power scenarios for wind-power-integrated stochastic unit commitment problems | |
US20220405129A1 (en) | Workflow scheduling method and system based on multi-target particle swarm algorithm, and storage medium | |
CN108108233B (zh) | 任务多副本执行的集群作业调度方法及系统 | |
GB2609126A (en) | Efficient ground truth annotation | |
US20150170052A1 (en) | Method of reducing resource fluctuations in resource leveling | |
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) | 一种基于平衡探索与利用的蒙特卡洛树搜索方法 | |
CN114675975A (zh) | 一种基于强化学习的作业调度方法、装置及设备 | |
CN114444715A (zh) | 图数据处理方法、装置、系统、电子设备及可读存储介质 | |
CN115756646A (zh) | 一种基于工业互联网的边缘计算任务卸载优化方法 | |
CN109378036A (zh) | 一种基于二系杂交水稻育种机制的启发式优化方法 | |
Tan et al. | Parallel max-min ant system using mapreduce | |
Hsu et al. | A generalized critical task anticipation technique for dag scheduling | |
CN111813525A (zh) | 一种异构系统工作流调度方法 | |
Li et al. | An efficient multicore based parallel computing approach for TSP problems | |
O'Connell et al. | An exact dynamic programming based method to solve optimisation problems using GPUs |
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 |