一种基于蒙特卡络模拟法的数据流调度优化方法技术

技术编号:16128506 阅读:74 留言:0更新日期:2017-09-01 20:41
本发明专利技术公开了一种基于蒙特卡络模拟法的数据流调度优化方法,具体包括以下几个步骤:(1)创建一个空的预调度方案列表L;并定义一个输入空间l,所述输入空间l是一组随机生成各任务在各处理机上执行时间的集合;(2)生成阶段,运用静态调度算法HEFT生成预调度方案,并存入到预调度方案列表L;(3)选择阶段,比较预调度方案列表L中每个预调度方案的完工时间,从而选出最优预调度方案。本发明专利技术通用性好、在任务执行时间随机变化的情况下,能够获得一种性能较为优秀的调度方案。

An optimization method based on Monte Carlo simulation method of data flow scheduling

The invention discloses an optimization method based on Monte Carlo simulation method of data flow scheduling, including the following steps: (1) create a pre schedule empty list L; and define a l input space, the input space l is a set of randomly generated each task execution time set in the processor; (2) generation phase, using the static scheduling algorithm for HEFT generation scheduling scheme, and in the pre schedule list L; (3) comparing the pre selection stage, each pre scheduling scheduling scheme in the L list completion time, to choose the optimal pre scheduling scheme. The invention has good versatility and can obtain an excellent scheduling scheme when the task execution time is randomly changed.

【技术实现步骤摘要】
一种基于蒙特卡络模拟法的数据流调度优化方法
本专利技术涉及一种基于流计算技术的任务调度方法,具体涉及一种基于蒙特卡络模拟法的数据流调度优化方法。
技术介绍
随着信息通信技术的高速发展,特别是泛在物联网技术的普及应用,时时刻刻产生着海量、实时的数据流,面对这些“无限"运动着的数据,需要进行在线且精确的计算和分类,从而能够及时挖掘出其中隐含的有价值信息。在云计算为代表的分布式流计算系统中,不仅包含了海量的静态、离线、结构化的数据,还有实时传输、持续生成的非结构化数据。为满足多任务并行处理的复杂计算需要,在分布式流计算系统中,将进行计算的海量数据切分成若干个小块数据流后交由多台计算机并行处理,并将局部计算结果整合得出最终结果。针对输入的同组数据流,其采用的调度算法不同,最终的计算效率差异非常大。目前针对动态数据流的调度算法有很多,主要有静态表调度(也就是HEFT算法);基于工作流的调度;引导搜索调度;基于聚类的调度;以及基于任务复制的调度等。但这些调度算法都仅适用于特定的应用环境下,通用性较差。在传统的分布式处理模式中,输入的大多是静态数据,在利用有向无环图DAG(DirectedAcyclicGraph)表示并行数据流在多处理机上进行任务调度时,其任务的执行时间是可预知的。由于分布式流计算系统中输入的是“无限"运动着的数据,而且这些数据的大小也是不确定的。这种不确定性的存在,使得传统的经典静态流据流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)EndWhile(每循环一次,就在lg中随机抽取一个新的样本pg)。3)选择阶段,从预调度方案中选出最优预调度方案(1b)for每一次循环(重复执行n次),do(2b)在lg中取一个随机生成的任务执行时间样本其中包含lg中各任务在不同处理机上执行时间的一组随机值;(3b)for针对L中存入的每一种预调度方案Ωg,do(4b)假设为g中各任务确切的执行时间,并以该任务执行时间为基础,依照预调度方案Ωg得出确切的完工时间;(5b)Endfor(L中每一种预调度方案采用的任务执行时间都是一样的,即都为)(6b)Endfor(L中每一种预调度方案都得到了n个不同的完工时间)(7b)经过选择阶段的循环计算后,对L中每一种预调度方案Ωg的n个不同完工时间值求平均值,并把这个平均值作为平均完工时间;(8b)Return取出拥有最小平均完工时间的预调度方案Ωg,作为最终要输甩出的调度方案;4)end。以上显示和描述了本专利技术的基本原理和主要特征和本专利技术的优点。本行业的技术人员应该了解,本专利技术不受上述实施例的限制,上述实施例和说明书中描述的只是说明本专利技术的原理,在不脱离本专利技术精神和范围的前提下,本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内。本专利技术要求保护范围由所附的权利要求书及其等效物界定。本文档来自技高网...
一种基于蒙特卡络模拟法的数据流调度优化方法

【技术保护点】
一种基于蒙特卡络模拟法的数据流调度优化方法,其特征在于,具体包括以下几个步骤:(1)创建一个空的预调度方案列表L;并定义一个输入空间lg,所述输入空间lg是一组随机生成各任务在各处理机上执行时间的集合;(2)生成阶段,运用静态调度算法HEFT生成预调度方案,并存入到预调度方案列表L;(3)选择阶段,比较预调度方案列表L中每个预调度方案的完工时间,从而选出最优预调度方案。

【技术特征摘要】
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中每个随机生成的任务执行时间进行抽样,...

【专利技术属性】
技术研发人员:施健孟庆强胡牧刘士进郑浩泉孙立华杨志李端超王松黄太贵
申请(专利权)人:国家电网公司南京南瑞集团公司南京南瑞信息通信科技有限公司国网安徽省电力公司
类型:发明
国别省市:北京,11

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

1