CN103226759A - 基于遗传算法的动态云工作流调度方法 - Google Patents
基于遗传算法的动态云工作流调度方法 Download PDFInfo
- Publication number
- CN103226759A CN103226759A CN2013101718679A CN201310171867A CN103226759A CN 103226759 A CN103226759 A CN 103226759A CN 2013101718679 A CN2013101718679 A CN 2013101718679A CN 201310171867 A CN201310171867 A CN 201310171867A CN 103226759 A CN103226759 A CN 103226759A
- Authority
- CN
- China
- Prior art keywords
- workflow
- cloud
- dynamic
- topological structure
- control stream
- 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
Images
Abstract
本发明公开了一种运用遗传算法优化动态云工作流的方法,算法的目标是最小化迭代执行的云工作流的每周期平均费用,并使得工作流每次在动态环境中执行一个周期的总执行时间不超过用户定义的最大执行期限。由于工作流在云计算的实现环境下执行方式是动态多变的,本发明提出的方法对工作流所有可能出现的流拓扑结果进行整体建模,从而综合考虑了云工作流的动态时变的特性,并采用遗传算法使得云工作流在动态环境中执行的平均性能得到优化,从而提高了云工作流的执行效率。
Description
技术领域:
本发明涉及云计算以及智能算法两大领域,主要涉及一种基于遗传算法的动态云工作流调度方法。
技术背景:
云计算是近年来快速兴起的一类新型的计算模式,已成为了我国十二五期间的重要发展方向。云计算通过对大量计算资源的虚拟聚合和共享,实现按需向用户提供各种各样的计算服务,因此能够满足日益增长的大数据处理需求。为了进一步提高云计算系统对大数据的管理和处理能力,如何合理、高效地调度云计算的资源从而实现向用户弹性地提供计算服务是提高云计算系统性能的关键。
在云计算环境中,由于云计算资源的数量庞大、云系统所承担的计算服务量也相当巨大,云网络的使用状态也时刻变化,因此动态时变性是云计算系统运作过程中所具有的重要特征。在应用云计算处理大数据计算任务时,一类常用的任务组织方式是工作流。工作流定义为一个完成复杂目标的特定的任务序列。通常地,工作流可以通过有向无环图(DAG)的形式给出,图的节点表示单个任务,而节点之间的有向边表示任务之间的优先约束关系。然而,在现有的工作流调度模型中,一个工作流的控制流拓扑结构是固定不变的,即是由单一的DAG给出。在实际应用中,云工作流的控制流结构可能还具有IF-THEN等选择分支,其控制流拓扑结构也具有动态时变的特性,如何能够在云工作流调度过程中考虑云环境和云工作流控制拓扑的动态时变特性,从而进一步提高云工作流调度系统在动态、时变环境中的可用性,对云工作流调度方法提出了新的挑战。
随着优化技术的发展,如遗传算法等新型的元启发式智能计算方法为复杂优化问题的求解提供了新的有效手段。遗传算法是模拟自然界生物的进化现象而提出的一种随机式优化方法,它自20世纪60年代提出以来引起了广泛的关注,并且已经被成功地应用于众多科学与工程领域的应用中。利用遗传算法所提高的全局优化能力,本发明提出了一种基于历史运行信息统计分析循环执行的云工作流的控制流拓扑结构及其发生概率,基于遗传算法优化动态时变环境中云工作流的平均期望性能的方法,从而有效地提高了动态时变环境下云工作流调度的效率。
发明内容:
本发明提出了基于遗传算法的动态云工作流调度方法。该方法采用了一种基于历史统计信息的云工作流控制流拓扑结构描述模型。该模型的主要特征是:
(1)采用一个有向无环图G=(V,A)对云工作流进行建模,节点的集合V={T1,T2,…,Tn}对应工作流中的任务,有向边的集合A表示任务之间的优先次序关系。
(2)根据该工作流在执行过程中可能出现的各种控制流,可以将该图G分解为一系列的子图{Φ1,Φ2,...,ΦΓ},其中Γ表示所有拓扑的总数,其中每一个子图也是一个有向无环图,对应该动态工作流可能出现的一种控制流拓扑结构。
(4)在模型中,工作流调度解是可行的,当且仅当调度解对所有工作流可能出现的控制流拓扑结构{Φ1,Φ2,...,ΦΓ},其执行时间都能够满足用户自定义的执行时间限制Deadline。
(5)该模型的优化目标是找到一组云工作流调度方式K,使得云工作流在动态环境下执行的费用耗费的期望值
最小化,其中K.C(Φj)是指调度K在控制流拓扑结构Φj下所需的费用。
基于这一模型,所提出的算法的主要步骤包括:
(1)初始化算法的交叉率px、变异率pm和种群大小参数popsize,并生成第一代种群;
(2)评价种群中每个个体的适应值;
(3)采用竞争选择的方式,从上一代种群中选出popsize个个体;
(4)对上述选出的每个个体,根据交叉概率px进行单点交叉操作;
(5)对上述选择、交叉后得到的个体,按照变异概率pm实施单点变异操作;
(6)对由步骤(4)-(5)所得到的新一代种群的每个个体进行适应值评价。
(7)用目前算法所找到的最优个体替换当前一代种群的最差个体。
(8)如果达到结束条件则结束程序,否则回到步骤(3)。
附图说明:
图1动态云工作流的多控制流拓扑结构有向无环图建模示意图
图2基于遗传算法的动态云工作流调度方法流程图
具体实施方式:
以下结合附图进一步对发明的方法进行描述。
云工作流可以通过一个有向无环图G=(V,A)来表述,其中节点的集合V={T1,T2,…,Tn}对应工作流中的计算任务,n是工作流所包含的任务的数目,一条有向边(Ti,Tj)表示任务Ti和Tj之间的优先约束关系,即任务Tj只能在其父任务Ti完成后才能开始执行。在云计算的环境下,每项任务都可以通过多种不同的云计算服务来实现,即任务Ti对应一系列与其相关的云服务其由表示一种可用于实现Ti的云计算服务,mi是任务Ti所对应的所有可用云服务的总数。一个云服务的属性可以用一组二元组来表示其中,和分别代表服务的执行时间和费用。
传统上基于有向无环图的工作流调度模型往往是静态的。但在实际云计算应用中,由于云系统及计算应用的时变动态特性,云工作流往往也具有一定的时变动态特性。为了能够使提出的方法能够充分考虑云工作流的时变动态特性,本发明所采用的云工作流调度模型将云工作流对应的有向无环图G分解为一系列的子图{Φ1,Φ2,...,ΦΓ},其中Γ表示所有拓扑的总数,其中每一个子图也是一个有向无环图,对应该动态工作流可能出现的一种控制流拓扑结构。每种控制流拓扑结构Φj都对应着一个概率pj,表示动态工作流采取该种控制流拓扑结构执行的概率,这个概率是根据工作流在此前的500次历史执行记录信息中采取该控制流拓扑结构的比例而统计得出的,有基于这种建模方式,本发明所采用的模型就能够充分地考虑云工作流所具有的动态时变特性。在模型中,工作流调度解是可行的,当且仅当调度解对所有工作流可能出现的控制流拓扑结构{Φ1,Φ2,...,ΦΓ},其执行时间都能够满足用户自定义的执行时间限制Deadline。该模型的优化目标是找到一组云工作流调度方式K,使得云工作流在动态环境下执行的费用耗费的期望值
最小化,其中K.C(Φj)是指调度K在控制流拓扑结构Φj下所需的费用。
基于这一模型,所提出的算法的主要步骤包括:
(1)初始化算法的交叉率px、变异率pm和种群大小参数popsize,并生成第一代种群,种群中每个个体的编码方式为
K(k1,k2,…,kn)
(2)评价种群中每个个体的适应值,评价的方式是:根据动态云工作流的每一种可能的控制流拓扑结构Φj,分别计算每个解K在该拓扑结构Φj下所需的执行时间K.T(Φj)和费用开销K.C(Φj)。如果对于所有的拓扑结构Φj,都有K.T(Φj)≤Deadline,即所有拓扑结构下工作流的执行时间都能够满足用户所定义的完成期限Deadline,则解K的适应值K.fitness按如下式子计算:
如果该调度K在一个或多个控制流拓扑结构中有K.T(Φj)>Deadline,不能满足用户定义的完成期限,则该解K的适应值设置为适应值的上限MAX。解K的适应值越低,表明该解的质量越优。
(3)采用竞争选择的方式,从上一代种群中选出popsize个个体。即算法首先从种群中任意选择出两个个体,比较这两个个体的适应值K.fitness的大小,并从中选择K.fitness较小的一个进入新的种群之中。按照上述步骤重复执行popsize次得到popsize个进入下一代种群的个体。
(4)对上述选出的新一代群体进行交叉操作。首先对于每一个个体,按照交叉概率px确定是否需要对该个体进行交叉操作。对于需要进行交叉操作的个体,算法按照随机的方式将这些个体两两配对。设配对的两个个体分别为和则这两个个体按照如下的方法进行交叉操作:①生成一个1到n-1之间的随机整数p作为交叉位置;②将这两个个体按照位置p作单点交叉得到两个新的个体和③将交叉得到的新个体代替其父母个体。对于不需要进行交叉的个体,将在新一代种群中继续保留。
(5)对选择、交叉后得到的新一代种群进一步进行变异操作。首先对于每一个个体,按照变异概率pm确定是否需要对该个体进行变异操作。如果需要进行变异操作,则任意选择K(k1,k2,…,kn)中的一项kran,其中ran是1到n之间的随机整数,并将kran设置为集合中的任意一种。
(6)对由上述步骤(4)-(5)所得到的新一代种群的每个个体,按照步骤(2)的方式进行适应值评价。
(7)用目前算法所找到的最优个体替换当前一代种群的最差个体。
(8)如果达到结束条件则结束程序,否则回到步骤(3)。
整个算法的流程图如图2所示。
Claims (2)
1.一种基于遗传算法的动态云工作流调度方法,其特征在于,该方法采用了一种基于历史统计信息的云工作流控制流拓扑结构描述模型,该模型的主要特征是:
(1)采用一个有向无环图G=(V,A)对云工作流进行建模,节点的集合V={T1,T2,…,Tn}对应工作流中的任务,有向边的集合A表示任务之间的优先次序关系;
(2)根据该工作流在执行过程中可能出现的各种控制流,可以将该图G分解为一系列的子图{Φ1,Φ2,...,ΦΓ},其中Γ表示所有拓扑的总数,其中每一个子图也是一个有向无环图,对应该动态工作流可能出现的一种控制流拓扑结构;
(4)在模型中,工作流调度解是可行的,当且仅当调度解对所有工作流可能出现的控制流拓扑结构{Φ1,Φ2,...,ΦΓ},其执行时间都能够满足用户自定义的执行时间限制Deadline;
(5)该模型的优化目标是找到一组云工作流调度方式K,使得云工作流在动态环境下执行的费用耗费的期望值
最小化,其中K.C(Φj)是指调度K在控制流拓扑结构Φj下所需的费用。
2.一种基于遗传算法的动态云工作流调度方法,其特征在于,该遗传算法的主要流程包括:
(1)初始化算法的交叉率px、变异率pm和种群大小参数popsize,并生成第一代种群;
(2)评价种群中每个个体的适应值;
(3)采用竞争选择的方式,从上一代种群中选出popsize个个体;
(4)对上述选出的每个个体,根据交叉概率px进行单点交叉操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101718679A CN103226759A (zh) | 2013-04-25 | 2013-04-25 | 基于遗传算法的动态云工作流调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101718679A CN103226759A (zh) | 2013-04-25 | 2013-04-25 | 基于遗传算法的动态云工作流调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103226759A true CN103226759A (zh) | 2013-07-31 |
Family
ID=48837198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101718679A Pending CN103226759A (zh) | 2013-04-25 | 2013-04-25 | 基于遗传算法的动态云工作流调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226759A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473122A (zh) * | 2013-08-21 | 2013-12-25 | 上海交通大学 | 一种云计算环境中的工作流系统资源调度方法 |
CN104199820A (zh) * | 2014-07-03 | 2014-12-10 | 浙江大学 | 云平台MapReduce工作流调度优化方法 |
CN104834995A (zh) * | 2015-04-20 | 2015-08-12 | 安徽师范大学 | 基于云计算的工作流双向调度方法 |
CN105354085A (zh) * | 2015-10-30 | 2016-02-24 | 广东石油化工学院 | 一种云工作流作业调度方法 |
CN106228314A (zh) * | 2016-08-11 | 2016-12-14 | 电子科技大学 | 基于深度增强学习的工作流调度方法 |
WO2017125015A1 (zh) * | 2016-01-18 | 2017-07-27 | 中兴通讯股份有限公司 | 分布式系统工作流处理方法和工作流引擎系统 |
CN108920206A (zh) * | 2018-06-13 | 2018-11-30 | 北京交通大学 | 一种插件调度方法及装置 |
CN109492872A (zh) * | 2018-10-15 | 2019-03-19 | 华南理工大学 | 基于遗传算法的动态工作流调度方法 |
CN109992355A (zh) * | 2019-01-30 | 2019-07-09 | 北京理工大学 | 一种基于改进非支配遗传算法的多目标云工作流调度方法 |
CN110221838A (zh) * | 2019-05-28 | 2019-09-10 | 中国科学院高能物理研究所 | 一种基于遗传算法和有向无环图进行程序自动设计优化的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237469A (zh) * | 2008-02-27 | 2008-08-06 | 中山大学 | 运用蚁群算法优化多QoS网格工作流的方法 |
CN101452541A (zh) * | 2008-12-31 | 2009-06-10 | 中山大学 | 运用粒子群算法优化动态网格工作流的方法 |
US20090281818A1 (en) * | 2008-05-07 | 2009-11-12 | International Business Machines Corporation | Quality of service aware scheduling for composite web service workflows |
CN101763529A (zh) * | 2010-01-14 | 2010-06-30 | 中山大学 | 基于遗传算法的粗糙集属性约简方法 |
-
2013
- 2013-04-25 CN CN2013101718679A patent/CN103226759A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237469A (zh) * | 2008-02-27 | 2008-08-06 | 中山大学 | 运用蚁群算法优化多QoS网格工作流的方法 |
US20090281818A1 (en) * | 2008-05-07 | 2009-11-12 | International Business Machines Corporation | Quality of service aware scheduling for composite web service workflows |
CN101452541A (zh) * | 2008-12-31 | 2009-06-10 | 中山大学 | 运用粒子群算法优化动态网格工作流的方法 |
CN101763529A (zh) * | 2010-01-14 | 2010-06-30 | 中山大学 | 基于遗传算法的粗糙集属性约简方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473122B (zh) * | 2013-08-21 | 2017-01-25 | 上海交通大学 | 一种云计算环境中的工作流系统资源调度方法 |
CN103473122A (zh) * | 2013-08-21 | 2013-12-25 | 上海交通大学 | 一种云计算环境中的工作流系统资源调度方法 |
CN104199820A (zh) * | 2014-07-03 | 2014-12-10 | 浙江大学 | 云平台MapReduce工作流调度优化方法 |
CN104834995A (zh) * | 2015-04-20 | 2015-08-12 | 安徽师范大学 | 基于云计算的工作流双向调度方法 |
CN104834995B (zh) * | 2015-04-20 | 2018-01-09 | 安徽师范大学 | 基于云计算的工作流双向调度方法 |
CN105354085B (zh) * | 2015-10-30 | 2019-03-15 | 广东石油化工学院 | 一种云工作流作业调度方法 |
CN105354085A (zh) * | 2015-10-30 | 2016-02-24 | 广东石油化工学院 | 一种云工作流作业调度方法 |
WO2017125015A1 (zh) * | 2016-01-18 | 2017-07-27 | 中兴通讯股份有限公司 | 分布式系统工作流处理方法和工作流引擎系统 |
CN106228314A (zh) * | 2016-08-11 | 2016-12-14 | 电子科技大学 | 基于深度增强学习的工作流调度方法 |
CN108920206A (zh) * | 2018-06-13 | 2018-11-30 | 北京交通大学 | 一种插件调度方法及装置 |
CN108920206B (zh) * | 2018-06-13 | 2022-01-18 | 北京交通大学 | 一种插件调度方法及装置 |
CN109492872A (zh) * | 2018-10-15 | 2019-03-19 | 华南理工大学 | 基于遗传算法的动态工作流调度方法 |
CN109992355A (zh) * | 2019-01-30 | 2019-07-09 | 北京理工大学 | 一种基于改进非支配遗传算法的多目标云工作流调度方法 |
CN110221838A (zh) * | 2019-05-28 | 2019-09-10 | 中国科学院高能物理研究所 | 一种基于遗传算法和有向无环图进行程序自动设计优化的方法 |
CN110221838B (zh) * | 2019-05-28 | 2020-10-27 | 中国科学院高能物理研究所 | 一种基于遗传算法和有向无环图进行程序自动设计优化的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226759A (zh) | 基于遗传算法的动态云工作流调度方法 | |
CN102063339B (zh) | 基于云计算系统的资源负载均衡的方法和设备 | |
CN105446979B (zh) | 数据挖掘方法和节点 | |
CN103345657A (zh) | 云计算环境下基于遗传和蚁群的任务调度方法 | |
CN103902375A (zh) | 一种基于改进遗传算法的云任务调度方法 | |
CN103092683A (zh) | 用于数据分析的基于启发式的调度 | |
CN108182109A (zh) | 一种云环境下的工作流调度与数据分配方法 | |
CN104932938A (zh) | 一种基于遗传算法的云资源调度方法 | |
CN103279818A (zh) | 基于启发式遗传算法的云工作流调度方法 | |
Reis et al. | Multi-reservoir operation planning using hybrid genetic algorithm and linear programming (GA-LP): An alternative stochastic approach | |
CN104035816A (zh) | 一种基于改进nsga-ii的云计算任务调度方法 | |
CN109818786A (zh) | 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法 | |
Chandra et al. | Web service selection using modified artificial bee colony algorithm | |
CN101944157B (zh) | 一种应用于仿真网格系统的生物智能调度方法 | |
Zhou et al. | Deep reinforcement learning-based methods for resource scheduling in cloud computing: A review and future directions | |
CN106775705B (zh) | 一种软件模块划分方法 | |
CN107306207A (zh) | 结合Skyline计算与多目标强化学习服务组合方法 | |
CN109445386A (zh) | 一种基于onba的云制造任务最短生产时间调度方法 | |
CN107911300A (zh) | 基于鲸鱼算法的组播路由优化方法及其在Spark平台上的应用 | |
Bi et al. | Green energy forecast-based bi-objective scheduling of tasks across distributed clouds | |
CN106096722A (zh) | 基于阶段结构捕食‑食饵模型的输送路径组合优化方法 | |
CN114066122A (zh) | 一种基于多策略水波优化算法的调度方法 | |
CN106228235B (zh) | 一种顾及格局与过程耦合效应的土地利用空间优化配置方法 | |
CN111654396B (zh) | 一种面向汇聚任务多维分解的制造服务聚合协作配置方法 | |
CN112231081B (zh) | 云环境下基于pso-ahp的单调速率资源调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130731 |