基于遗传算法的动态工作流调度方法技术

技术编号:20624046 阅读:47 留言:0更新日期:2019-03-20 15:06
本发明专利技术公开了一种基于遗传算法的动态工作流调度方法,该调度方法的目标是在满足用户所指定的最大执行周期约束和工作流一个周期的总执行时间约束下,优化工作流的每个周期的平均费用。由于工作流在云计算的实现环境下执行方式是动态多变的,所以本发明专利技术对动态工作流所有可能出现的流拓扑结果进行构造,通过建立一系列子图来对应每一种可能发生的流拓扑结果,并用概率模型进行整体建模,从而综合考虑了工作流的动态时变的特性,并采用遗传算法对工作流在动态环境中执行的周期费用进行优化,从而提高了工作流的执行效率。

Dynamic Workflow Scheduling Method Based on Genetic Algorithms

The invention discloses a dynamic workflow scheduling method based on genetic algorithm. The goal of the scheduling method is to optimize the average cost of each workflow cycle under the constraint of the maximum execution cycle specified by the user and the total execution time of one workflow cycle. Because the execution mode of workflow is dynamic and changeable in the implementation environment of cloud computing, the present invention constructs all possible flow topology results of dynamic workflow, corresponds to each possible flow topology result by establishing a series of subgraphs, and establishes overall model with probability model, thus comprehensively considers the dynamic and time-varying characteristics of workflow, and adopts legacy. The transmission algorithm optimizes the cycle cost of workflow execution in dynamic environment, thus improving the efficiency of workflow execution.

【技术实现步骤摘要】
基于遗传算法的动态工作流调度方法
本专利技术涉及云计算以及智能算法
,具体涉及一种基于遗传算法的动态工作流调度方法。
技术介绍
云计算通过对大量计算资源的虚拟聚合和共享,实现按需向用户提供各种各样的计算服务,因此能够满足日益增长的大数据处理需求。为了进一步提高云计算系统对大数据的管理和处理能力,如何合理、高效地调度云计算的资源从而实现向用户弹性地提供计算服务是提高云计算系统性能的关键。在云计算环境中,由于云计算资源的数量庞大、云系统所承担的计算服务量也相当巨大,云网络的使用状态也时刻变化,因此动态时变性是云计算系统运作过程中所具有的重要特征。在应用云计算处理大数据计算任务时,一类常用的任务组织方式是工作流。工作流定义为一个完成复杂目标的特定的任务序列。通常地,工作流可以通过有向无环图(DAG)的形式给出,图的节点表示单个任务,而节点之间的有向边表示任务之间的优先约束关系。然而,在现有的工作流调度模型中,一个工作流的控制流拓扑结构是固定不变的,即是由单一的DAG给出。在实际应用中,工作流的控制流结构可能还具有IF-THEN等选择分支,其控制流拓扑结构也具有动态时变的特性,如何能够在工作流调度过程中考虑云环境和工作流控制拓扑的动态时变特性,从而进一步提高工作流调度系统在动态、时变环境中的可用性,对工作流调度方法提出了新的挑战。随着优化技术的发展,如遗传算法等新型的元启发式智能计算方法为复杂优化问题的求解提供了新的有效手段。遗传算法是模拟自然界生物的进化现象而提出的一种随机式优化方法,它自20世纪60年代提出以来引起了广泛的关注,并且已经被成功地应用于众多科学与工程领域的应用中。Jakimovski提出了一种利用遗传算法优化网格工作流的方法,然而对于动态工作流中可能包含多个流拓扑结构的特点,该算法并不能直接进行优化。
技术实现思路
本专利技术的目的是为了解决现有技术中的上述缺陷,提供一种基于遗传算法的动态工作流调度方法。本专利技术的目的可以通过采取如下技术方案达到:一种基于遗传算法的动态工作流调度方法,所述的调度方法包括:S1、对动态工作流所有可能出现的流拓扑结果进行构造,通过建立一系列子图来对应每一种可能发生的流拓扑结果,并用概率模型进行整体建模,过程如下:S101、确定工作流中所有可能存在的拓扑结构总数n;S102、将工作流有向无环图改写成子图集合{Φ1,Φ2,…,Φn},其中Φi代表该动态工作流中可能出现的一种控制流拓扑结构;S103、建立{p1,p2,…,pn}概率集合,其中pi代表动态工作流采取Φi控制流拓扑结构执行工作的概率,pi根据工作流在此前的m次历史执行记录信息中采取Φi控制流拓扑结构的次数Ni而计算得出的,m≥500,即:并且有:S2、对模型进行优化,其中,优化目标是找到一组工作流调度方式K,使得工作流在动态环境下执行的费用耗费的期望值最小化,其中K.C(Φj)是指调度K在控制流拓扑结构Φj下所需的开销。进一步地,所述的步骤S2中对模型进行优化的过程如下:S201、初始化算法的交叉率px、变异率pm和种群大小参数popsize,并生成第一代种群,种群中每个个体的编码方式为K(k1,k2,…,kn)其中,ki表示将工作流的任务Ti匹配到相应的云计算服务执行;S202、评价种群中每个个体的适应值,评价的方式如下:根据动态工作流的每一种可能的控制流拓扑结构Φj,分别计算每个解K在该拓扑结构Φj下所需的执行时间K.T(Φj)和费用开销K.C(Φj),如果对于所有的拓扑结构{Φ1,Φ2,…Φn},都有K.T(Φj)≤Deadline,即所有拓扑结构下工作流的执行时间都能够满足用户所定义的完成期限Deadline,则解K的适应值K.fitness按如下式子计算:如果该调度K在一个或多个控制流拓扑结构中有K.T(Φj)>Deadline,即不能满足用户定义的完成期限,则该解K的适应值设置为适应值的上限MAX;S203、采用竞争选择的方式,从上一代种群中选出popsize个个体;S204、对上述选出的新一代群体进行交叉操作;S205、对选择、交叉后得到的新一代种群进一步进行变异操作S206、对以上交叉、变异操作所得到的新一代种群的每个个体,按照步骤S202的方式进行适应值评价;S207、用上述操作得到的新一代种群中适应值最小的最优个体替换当前一代种群的最差个体;S208、如果当前迭代次数超出算法设定的最大迭代次数则结束优化,否则返回步骤S203继续执行。进一步地,所述的步骤S203过程如下:从种群中任意选择出两个个体,比较这两个个体的适应值K.fitness的大小,并从中选择K.fitness较小的一个进入新的种群之中,按照上述过程重复执行popsize次得到popsize个进入下一代种群的个体。进一步地,所述的步骤S204过程如下:对于每一个个体,按照交叉概率px确定是否需要对该个体进行交叉操作;对于需要进行交叉操作的个体,按照随机的方式将这些个体两两配对,设配对的两个个体分别为和则这两个个体按照如下的方法进行交叉操作:①生成一个1到n-1之间的随机整数p作为交叉位置;②将这两个个体按照位置p作单点交叉得到两个新的个体和③将交叉得到的新个体代替其父母个体;对于不需要进行交叉的个体,在新一代种群中继续保留。进一步地,所述的步骤S206过程如下:对于每一个个体,按照变异概率pm确定是否需要对该个体进行变异操作;如果需要进行变异操作,则任意选择K(k1,k2,…,kn)中的一项kran,其中ran是1到n之间的随机整数,并将kran设置为集合中的任意一种;如果不需要进行变异操作,则保持该个体不变,继续处理下一个个体。进一步地,所述的交叉率px=0.7,所述的变异率pm=0.1,所述的种群大小参数popsize=50。本专利技术相对于现有技术具有如下的优点及效果:1、考虑了动态工作流下的所有控制流拓扑结构,因此充分的解决了云工作下动态时变的特性。2、在遗传算法优化性能指标的过程里,最优解对于每一个控制流拓扑结构都可行,提高了算法的鲁棒性强,是的本专利技术在工业应用上性能更好。附图说明图1是本专利技术中动态工作流的多控制流拓扑结构有向无环图建模示意图;图2是本专利技术中基于遗传算法的动态工作流调度方法流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例工作流可以通过一个有向无环图G=(V,A)来表述,其中节点的集合V={T1,T2,…,Tn}对应工作流中的计算任务,n是工作流所包含的任务的数目,一条有向边(Ti,Tj)表示任务Ti和Tj之间的优先约束关系,即任务Tj只能在其父任务Ti完成后才能开始执行。在云计算的环境下,每项任务都可以通过多种不同的云计算服务来实现,即任务Ti对应一系列与其相关的云服务其中表示一种可用于实现Ti的云计算服务,mi是任务Ti所对应的所有可用云服务的总数。一个云服务的属性可以用一组二元组来表示其中,和分别代表服务的执本文档来自技高网
...

【技术保护点】
1.一种基于遗传算法的动态工作流调度方法,其特征在于,所述的调度方法包括:S1、对动态工作流所有可能出现的流拓扑结果进行构造,通过建立一系列子图来对应每一种可能发生的流拓扑结果,并用概率模型进行整体建模,过程如下:S101、确定工作流中所有可能存在的拓扑结构总数n;S102、将工作流有向无环图改写成子图集合{Φ1,Φ2,…,Φn},其中Φi代表该动态工作流中可能出现的一种控制流拓扑结构;S103、建立{p1,p2,…,pn}概率集合,其中pi代表动态工作流采取Φi控制流拓扑结构执行工作的概率,pi根据工作流在此前的m次历史执行记录信息中采取Φi控制流拓扑结构的次数Ni而计算得出的,m≥500,即:

【技术特征摘要】
1.一种基于遗传算法的动态工作流调度方法,其特征在于,所述的调度方法包括:S1、对动态工作流所有可能出现的流拓扑结果进行构造,通过建立一系列子图来对应每一种可能发生的流拓扑结果,并用概率模型进行整体建模,过程如下:S101、确定工作流中所有可能存在的拓扑结构总数n;S102、将工作流有向无环图改写成子图集合{Φ1,Φ2,…,Φn},其中Φi代表该动态工作流中可能出现的一种控制流拓扑结构;S103、建立{p1,p2,…,pn}概率集合,其中pi代表动态工作流采取Φi控制流拓扑结构执行工作的概率,pi根据工作流在此前的m次历史执行记录信息中采取Φi控制流拓扑结构的次数Ni而计算得出的,m≥500,即:并且有:S2、对模型进行优化,其中,优化目标是找到一组工作流调度方式K,使得工作流在动态环境下执行的费用耗费的期望值最小化,其中K.C(Φj)是指调度K在控制流拓扑结构Φj下所需的开销。2.根据权利要求1所述的基于遗传算法的动态工作流调度方法,其特征在于,所述的步骤S2中对模型进行优化的过程如下:S201、初始化算法的交叉率px、变异率pm和种群大小参数popsize,并生成第一代种群,种群中每个个体的编码方式为K(k1,k2,…,kn)其中,ki表示将工作流的任务Ti匹配到相应的云计算服务执行;S202、评价种群中每个个体的适应值,评价的方式如下:根据动态工作流的每一种可能的控制流拓扑结构Φj,分别计算每个解K在该拓扑结构Φj下所需的执行时间K.T(Φj)和费用开销K.C(Φj),如果对于所有的拓扑结构{Φ1,Φ2,…Φn},都有K.T(Φj)≤Deadline,即所有拓扑结构下工作流的执行时间都能够满足用户所定义的完成期限Deadline,则解K的适应值K.fitness按如下式子计算:如果该调度K在一个或多个控制流拓扑结构中有K.T(Φj)>Deadline,即不能满足用户定义的完成期限,则该解K的适应值设置为适应值的上限MAX;S203、采用竞争选择的方式,从上一代种群中选出pop...

【专利技术属性】
技术研发人员:张军陈伟能詹志辉余维杰周淑姿
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

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

1