CN107122231A - 一种基于蒙特卡络模拟法的数据流调度优化方法 - Google Patents
一种基于蒙特卡络模拟法的数据流调度优化方法 Download PDFInfo
- Publication number
- CN107122231A CN107122231A CN201710181137.5A CN201710181137A CN107122231A CN 107122231 A CN107122231 A CN 107122231A CN 201710181137 A CN201710181137 A CN 201710181137A CN 107122231 A CN107122231 A CN 107122231A
- Authority
- CN
- China
- Prior art keywords
- scheduling
- scheduling scheme
- static
- task
- monte
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005457 optimization Methods 0.000 title claims abstract description 13
- 238000000342 Monte Carlo simulation Methods 0.000 title claims abstract description 12
- 230000003068 static effect Effects 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 19
- 238000000605 extraction Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000011269 treatment regimen Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于蒙特卡络模拟法的数据流调度优化方法,具体包括以下几个步骤:(1)创建一个空的预调度方案列表L;并定义一个输入空间l,所述输入空间l是一组随机生成各任务在各处理机上执行时间的集合;(2)生成阶段,运用静态调度算法HEFT生成预调度方案,并存入到预调度方案列表L;(3)选择阶段,比较预调度方案列表L中每个预调度方案的完工时间,从而选出最优预调度方案。本发明通用性好、在任务执行时间随机变化的情况下,能够获得一种性能较为优秀的调度方案。
Description
技术领域
本发明涉及一种基于流计算技术的任务调度方法,具体涉及一种基于蒙特卡络模拟法的数据流调度优化方法。
背景技术
随着信息通信技术的高速发展,特别是泛在物联网技术的普及应用,时时刻刻产生着海量、实时的数据流,面对这些“无限"运动着的数据,需要进行在线且精确的计算和分类,从而能够及时挖掘出其中隐含的有价值信息。在云计算为代表的分布式流计算系统中,不仅包含了海量的静态、离线、结构化的数据,还有实时传输、持续生成的非结构化数据。为满足多任务并行处理的复杂计算需要,在分布式流计算系统中,将进行计算的海量数据切分成若干个小块数据流后交由多台计算机并行处理,并将局部计算结果整合得出最终结果。针对输入的同组数据流,其采用的调度算法不同,最终的计算效率差异非常大。
目前针对动态数据流的调度算法有很多,主要有静态表调度(也就是HEFT算法);基于工作流的调度;引导搜索调度;基于聚类的调度;以及基于任务复制的调度等。但这些调度算法都仅适用于特定的应用环境下,通用性较差。
在传统的分布式处理模式中,输入的大多是静态数据,在利用有向无环图DAG(Directed Acyclic Graph)表示并行数据流在多处理机上进行任务调度时,其任务的执行时间是可预知的。由于分布式流计算系统中输入的是“无限"运动着的数据,而且这些数据的大小也是不确定的。这种不确定性的存在,使得传统的经典静态流据流HEFT调度方法将不再完全适用。
发明内容
针对现有技术存在的不足,本发明目的是提供一种通用性好的基于蒙特卡络模拟法的数据流调度优化方法,本发明在任务执行时间随机变化的情况下,能够获得一种性能较为优秀的调度方案。
为了实现上述目的,本发明是通过如下的技术方案来实现:
利用随机数生成算法,在一定约束条件下大量模拟生成任务执行时间,通过经典的静态调度算法(HEFT)产生相应的预调度方案,经过综合比较最终得到一种最优的预调度方案。
本发明的一种基于蒙特卡络模拟法的数据流调度优化方法,具体包括以下几个步骤:
(1)创建一个空的预调度方案列表L;并定义一个输入空间lg,所述输入空间lg是一组随机生成各任务在各处理机上执行时间的集合;
(2)生成阶段,运用静态调度算法HEFT生成预调度方案,并存入到预调度方案列表L;
(3)选择阶段,比较预调度方案列表L中每个预调度方案的完工时间,从而选出最优预调度方案。
步骤(1)中,设g=(N,E)表示一组由节点N和一组边E组成的DAG有向无环图,形式都为(i→j),其中i,j∈N,节点i表示对应的任务,边i→j表示任务i和j之间任务间的依赖关系。
所述输入空间lg定义如下:lg=(ETi,p:i∈N,p∈R),其中,ETi,p表示任务i在处理机p上的确切执行时间。
步骤(2)中,运用静态调度算法HEFT生成预调度方案具体方法如下:
(1-1)对所述输入空间lg中每个随机生成的任务执行时间进行抽样,得到样本pg,所述样本为pg=(ti,p:i∈N,p∈R),其中,ti,p是从ETi,p中抽取的一个随机样本;
(1-2)采用静态调度算法HEFT对得到的样本pg进行处理,得到一种静态预调度方案Ωg,并存储处理结果;
(1-3)迭代执行步骤(1-1)和步骤(1-2)M次,其中M≤1000。
所述静态预调度方案Ωg定义如下:
Ωg=Static_SchedulingHEFT(g,pg),
其中,Static_SchedulingHEFT表示静态调度算法HEFT。
步骤(3)中,从预调度方案中选出最优预调度方案具体方法如下:
每次从输入空间lg中随机抽取一新的任务执行时间样本依次计算每种静态预调度方案Ωg的完工时间
其中,Calculate_Makespan表示计算每个静态预调度方案确切的完工时间;
然后,计算每种预调度方案的完工时间平均值;
最后,选出平均值最小的预调度方案作为最优预调度方案。
采用发明在任务执行时间随机变化的情况下,能够获得一种性能较为优秀的平均完工时间调度方案。虽然本发明的方法其任务调度过程相对复杂,但相对那些在每个处理机上的每个任务执行时间预测值确定后才能进行启发式静态调度的方法而言,其具有较大的性能提升。
附图说明
图1为数据流调度优化算法流程图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
本发明基于蒙特卡络模拟法的数据流调度优化方法,建立在传统的启发式静态数据流任务调度方法(HEFT)基础上,通过运用随机数生成算法,在一定约束条件下大量生成任务执行时间,利用HEFT算法,结合随机的任务执行时间,生成大量的预调度方案,并从这些预调度方案中选出最优的预调度方案,并作为最优输出。
参见图1,针对一个带有(随机生成任务执行时间的集合)性能的DAG应用g,其实现算法如下:
1)创建一个空的预调度方案列表L。
2)生成阶段,运用静态调度算法HEFT生成预调度方案,并存入到L:
(1a)生成阶段:While不满足生成阶段的终止条件(重复m次),repeat。
(2a)在lg中取一个随机生成的任务执行时间样本pg,其中包含g中各任务在不同处理机上执行时间的一组随机值;
(3a)应用启发式静态调度算法HEFT对任务执行时间样本pg进行处理,最终生成相应的一种预调度方案Ωg;
(4a)把预调度方案Ωg存入L中,为后续计算最优平均完工时间做准备;
(5a)End While(每循环一次,就在lg中随机抽取一个新的样本pg)。
3)选择阶段,从预调度方案中选出最优预调度方案
(1b)for每一次循环(重复执行n次),do
(2b)在lg中取一个随机生成的任务执行时间样本其中包含lg中各任务在不同处理机上执行时间的一组随机值;
(3b)for针对L中存入的每一种预调度方案Ωg,do
(4b)假设为g中各任务确切的执行时间,并以该任务执行时间为基础,依照预调度方案Ωg得出确切的完工时间;
(5b)End for(L中每一种预调度方案采用的任务执行时间都是一样的,即都为)
(6b)End for(L中每一种预调度方案都得到了n个不同的完工时间)
(7b)经过选择阶段的循环计算后,对L中每一种预调度方案Ωg的n个不同完工时间值求平均值,并把这个平均值作为平均完工时间;
(8b)Return取出拥有最小平均完工时间的预调度方案Ωg,作为最终要输甩出的调度方案;
4)end。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (6)
1.一种基于蒙特卡络模拟法的数据流调度优化方法,其特征在于,具体包括以下几个步骤:
(1)创建一个空的预调度方案列表L;并定义一个输入空间lg,所述输入空间lg是一组随机生成各任务在各处理机上执行时间的集合;
(2)生成阶段,运用静态调度算法HEFT生成预调度方案,并存入到预调度方案列表L;
(3)选择阶段,比较预调度方案列表L中每个预调度方案的完工时间,从而选出最优预调度方案。
2.根据权利要求1所述的基于蒙特卡络模拟法的数据流调度优化方法,其特征在于,
步骤(1)中,设g=(N,E)表示一组由节点N和一组边E组成的DAG有向无环图,形式都为(i→j),其中i,j∈N,节点i表示对应的任务,边i→j表示任务i和j之间任务间的依赖关系。
3.根据权利要求2所述的基于蒙特卡络模拟法的数据流调度优化方法,其特征在于,
所述输入空间lg定义如下:lg=(ETi,p:i∈N,p∈R),其中,ETi,p表示任务i在处理机p上的确切执行时间。
4.根据权利要求3所述的基于蒙特卡络模拟法的数据流调度优化方法,其特征在于,步骤(2)中,运用静态调度算法HEFT生成预调度方案具体方法如下:
(1-1)对所述输入空间lg中每个随机生成的任务执行时间进行抽样,得到样本pg,所述样本为pg=(ti,p:i∈N,p∈R),其中,ti,p是从ETi,p中抽取的一个随机样本;
(1-2)采用静态调度算法HEFT对得到的样本pg进行处理,得到一种静态预调度方案Ωg,并存储处理结果;
(1-3)迭代执行步骤(1-1)和步骤(1-2)M次,其中M≤1000。
5.根据权利要求4所述的基于蒙特卡络模拟法的数据流调度优化方法,其特征在于,
所述静态预调度方案Ωg定义如下:
Ωg=Static_SchedulingHEFT(g,pg),
其中,Static_SchedulingHEFT表示静态调度算法HEFT。
6.根据权利要求5所述的一种基于蒙特卡络模拟法的数据流调度优化方法,其特征在于,
步骤(3)中,从预调度方案中选出最优预调度方案具体方法如下:
每次从输入空间lg中随机抽取一新的任务执行时间样本依次计算每种静态预调度方案Ωg的完工时间
<mrow>
<msup>
<mi>m</mi>
<mo>*</mo>
</msup>
<mo>=</mo>
<mi>C</mi>
<mi>a</mi>
<mi>l</mi>
<mi>c</mi>
<mi>u</mi>
<mi>l</mi>
<mi>a</mi>
<mi>t</mi>
<mi>e</mi>
<mo>_</mo>
<mi>M</mi>
<mi>a</mi>
<mi>k</mi>
<mi>e</mi>
<mi>s</mi>
<mi>p</mi>
<mi>a</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mi>g</mi>
<mo>,</mo>
<msubsup>
<mi>p</mi>
<mi>g</mi>
<mo>*</mo>
</msubsup>
<mo>,</mo>
<msub>
<mi>&Omega;</mi>
<mi>g</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
其中,Calculate_Makespan表示计算每个静态预调度方案确切的完工时间;
然后,计算每种预调度方案的完工时间平均值;
最后,选出平均值最小的预调度方案作为最优预调度方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710181137.5A CN107122231A (zh) | 2017-03-24 | 2017-03-24 | 一种基于蒙特卡络模拟法的数据流调度优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710181137.5A CN107122231A (zh) | 2017-03-24 | 2017-03-24 | 一种基于蒙特卡络模拟法的数据流调度优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107122231A true CN107122231A (zh) | 2017-09-01 |
Family
ID=59717278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710181137.5A Pending CN107122231A (zh) | 2017-03-24 | 2017-03-24 | 一种基于蒙特卡络模拟法的数据流调度优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107122231A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165087A (zh) * | 2018-08-28 | 2019-01-08 | 哈尔滨理工大学 | 基于朴素贝叶斯的云计算资源调度算法 |
CN110262879A (zh) * | 2019-05-17 | 2019-09-20 | 杭州电子科技大学 | 一种基于平衡探索与利用的蒙特卡洛树搜索方法 |
CN111209095A (zh) * | 2019-08-20 | 2020-05-29 | 杭州电子科技大学 | 一种dag并行任务调度中基于树搜索的剪枝方法 |
-
2017
- 2017-03-24 CN CN201710181137.5A patent/CN107122231A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165087A (zh) * | 2018-08-28 | 2019-01-08 | 哈尔滨理工大学 | 基于朴素贝叶斯的云计算资源调度算法 |
CN110262879A (zh) * | 2019-05-17 | 2019-09-20 | 杭州电子科技大学 | 一种基于平衡探索与利用的蒙特卡洛树搜索方法 |
CN110262879B (zh) * | 2019-05-17 | 2021-08-20 | 杭州电子科技大学 | 一种基于平衡探索与利用的蒙特卡洛树搜索方法 |
CN111209095A (zh) * | 2019-08-20 | 2020-05-29 | 杭州电子科技大学 | 一种dag并行任务调度中基于树搜索的剪枝方法 |
CN111209095B (zh) * | 2019-08-20 | 2023-08-15 | 杭州电子科技大学 | 一种dag并行任务调度中基于树搜索的剪枝方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wickramaarachchi et al. | Fast parallel algorithm for unfolding of communities in large graphs | |
US8959138B2 (en) | Distributed data scalable adaptive map-reduce framework | |
Zhang et al. | Parallel rough set based knowledge acquisition using MapReduce from big data | |
Bender et al. | Cache-adaptive algorithms | |
Ijaz et al. | Efficient scheduling strategy for task graphs in heterogeneous computing environment. | |
Hoang et al. | DistTC: High performance distributed triangle counting | |
CN108108233B (zh) | 任务多副本执行的集群作业调度方法及系统 | |
CN107122231A (zh) | 一种基于蒙特卡络模拟法的数据流调度优化方法 | |
Dogrusoz et al. | CiSE: A circular spring embedder layout algorithm | |
Ohno et al. | Accelerating spark RDD operations with local and remote GPU devices | |
Wang et al. | Design and Application of a Text Clustering Algorithm Based on Parallelized K-Means Clustering. | |
Meyer et al. | Generating massive scale-free networks under resource constraints | |
CN106326005B (zh) | 一种迭代型MapReduce作业的参数自动调优方法 | |
CN108256182A (zh) | 一种动态可重构fpga的布局方法 | |
Nasr et al. | Task scheduling algorithm for high performance heterogeneous distributed computing systems | |
Struharik et al. | Hardware implementation of decision tree ensembles | |
Bustio-Martínez et al. | A novel multi-core algorithm for frequent itemsets mining in data streams | |
Fan et al. | Model aggregation method for data parallelism in distributed real-time machine learning of smart sensing equipment | |
CN111260036B (zh) | 一种神经网络加速方法和装置 | |
CN108875786B (zh) | 基于Storm的食品数据并行计算一致性问题的优化方法 | |
Kasarkin et al. | New iteration parallel-based method for solving graph NP-complete problems with reconfigurable computer systems | |
Waghamare et al. | Data mining technique for reduction of association rules in distributed system | |
Khalid | Deep learning-based dew computing with novel offloading strategy | |
Savadi et al. | Multi-DaC programming model: A variant of multi-BSP model for divide-and-conquer algorithms | |
Yi et al. | Design and implementation of Word2Vec parallel algorithm based on HPC |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170901 |
|
RJ01 | Rejection of invention patent application after publication |