CN113220414B - 一种基于改进贫富优化算法的云工作流调度方法 - Google Patents

一种基于改进贫富优化算法的云工作流调度方法 Download PDF

Info

Publication number
CN113220414B
CN113220414B CN202110435961.5A CN202110435961A CN113220414B CN 113220414 B CN113220414 B CN 113220414B CN 202110435961 A CN202110435961 A CN 202110435961A CN 113220414 B CN113220414 B CN 113220414B
Authority
CN
China
Prior art keywords
population
individuals
individual
workflow
algorithm
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
Application number
CN202110435961.5A
Other languages
English (en)
Other versions
CN113220414A (zh
Inventor
李慧芳
黄经纬
鲁本
王一竹
王彬阳
邹伟东
柴森春
夏元清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202110435961.5A priority Critical patent/CN113220414B/zh
Publication of CN113220414A publication Critical patent/CN113220414A/zh
Application granted granted Critical
Publication of CN113220414B publication Critical patent/CN113220414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于改进贫富优化算法的云工作流调度方法,通过在现有贫富优化(PRO)算法的基础上引入了中产种群,并在中产种群更新过程中应用了局部搜索策略,在增加搜索多样性的同时,避免了算法陷入局部最优的可能性;同时,在富有种群迭代更新机制中,分别采用最优富有个体和最优中产个体引导种群进化,通过更新每个个体并产生两个新个体,扩大了搜索空间,增加了种群的多样性。

Description

一种基于改进贫富优化算法的云工作流调度方法
技术领域
本发明属于云计算技术领域,具体涉及一种基于改进贫富优化算法的云工作流调度方法。
背景技术
近年来,随着云计算的普及和应用的不断深入,越来越多的科学应用被部署到云平台上运行。这样,用户便无需投入大量的硬件成本,只需连接网络,即可通过远程访问可配置的共享计算资源池,按需获取海量的计算资源。
云环境下的工作流调度是将工作流中具有依赖关系的任务分配给特定的计算资源并且执行的过程,旨在保证用户服务质量QoS(Quality of Service)需求,并保证云服务提供商的利益。因此,如何为云工作流任务分配最合适的计算资源,在满足用户的预算约束的同时,尽可能减少执行跨度时间,成为各个云服务提供商亟需解决的问题。
目前,工作流调度方法主要分为启发式和元启发式方法。启发式方法是一种针对某一类特定问题提出的基于直观或经验构造的优化算法,如HEFT、 BHEFT、MIN-MAX等,难以得到最优解。元启发式方法是针对通用问题提出的一种基于随机搜索的智能优化算法,如贫富优化算法、遗传算法、蚁群算法、粒子群算法等。其中,贫富优化算法、粒子群算法和蚁群算法等群智能优化算法,具有较好的全局搜索能力,但缺乏有效的局部搜索机制;遗传算法等进化算法能够有效地保持搜索的多样性,但是时间复杂度较高。
发明内容
有鉴于此,本发明提供了一种基于改进贫富优化算法的云工作流调度方法,能够实现云环境下计算密集型云工作流的单目标优化调度。
本发明提供的一种基于改进贫富优化算法的云工作流调度方法,包括以下步骤:
步骤1、分别为带有预算约束的计算密集型工作流及虚拟机资源建模;
步骤2、建立种群P,所述种群中的个体为工作流调度方案,所述个体采用一维数组表示,所述一维数组的元素索引为工作流的任务编号、元素值为执行对应任务的虚拟机编号;初始化所述种群;
步骤3、计算所述种群中每个个体的工作流执行跨度时间makespan和执行成本cost,采用公式(1)计算个体的适应度fitness:
Figure RE-GDA0003100388970000021
其中,B(λ)为约束因子λ对应的预算约束,ζ为双精度浮点数的最大值;
步骤4、根据个体的适应度fitness及工作流执行跨度时间makespan将所述种群划分为富有种群Pr、中产种群Pm和贫穷种群Pp;采用公式(2)计算中产种群模范Φm
Figure RE-GDA0003100388970000022
其中,
Figure RE-GDA0003100388970000023
为所述富有种群中的最优个体,Xstep为维数等于任务数量且元素均为Step的向量,Step为步长,Δmin为设定的最小步长,Δmax为设定的最大步长,θ为当前迭代次数,Θ为预设迭代次数;
采用公式(3)计算贫穷种群模范Φp
Figure RE-GDA0003100388970000024
其中,Xi为所述富有种群中的第i个个体,
Figure RE-GDA0003100388970000025
为所述富有种群中的平均个体,
Figure RE-GDA0003100388970000031
为所述富有种群中的最差个体;N为所述种群的个体数量;
步骤5、采用所述中产种群中的最优个体和所述富有种群中的最优个体,分别更新所述富有种群;采用所述中产种群模范Φm对所述中产种群进行引导和更新;采用所述贫穷种群模范Φp对所述贫穷种群进行引导和更新;
将生成的所有新个体加入所述种群P;
步骤6、采用变异算法更新所述种群P中的个体;
步骤7、所述迭代次数θ自加1,若θ≤Θ,则执行步骤3;否则,将当前所述种群P中的最优调度方案作为云工作流调度方案输出。
进一步地,所述步骤6中采用变异算法更新所述种群P中的个体,包括以下步骤:
步骤6.1、对于所述种群P中的个体Xi,生成均匀分布的随机数rand(0,1);若rand(0,1)>α,则不更新且令i自加1,执行步骤6.1;否则,执行步骤6.2;α为变异概率,α的初始值为0.08;
步骤6.2、随机确定交叉位置的起始点Start,则结束点End=Start+length;若End≤M,则将索引位于[Start+1,End]区间内的元素所在的维度定为交叉位置 X’i;若End>M,则将索引位于[1,End-a]和[Start+1,a]区间内的元素所在的维度定为交叉位置X’i,M为工作流总任务个数;length为交叉长度,length为设定常数;
步骤6.3、若(βmod2)≠1,则根据步骤6.2确定的交叉位置,随机从现有富有种群Pr中选择两个不同的个体Xh、Xz,与Xi执行交叉操作;若(βmod2)=1,则根据步骤6.2确定的交叉位置,随机选择现有富有个体和Xi进行交叉变异操作;β为变异类型参数,β的初始值为0;
步骤6.4、令i自加1;若
Figure RE-GDA0003100388970000032
则执行步骤6.1;
步骤6.5、若当前全局最优解等于上一代的全局最优解,则迭代次数μ自加 1;否则令迭代次数为零,执行所述步骤7;
Figure RE-GDA0003100388970000041
则令β自加1,
Figure RE-GDA0003100388970000042
为变异交替阈值;否则,β保持不变;
Figure RE-GDA0003100388970000043
则α=1;否则令α=0.08,
Figure RE-GDA0003100388970000044
为自适应变异阈值。
进一步地,所述步骤6.3中,若(βmod2)≠1,则根据步骤6.2确定的交叉位置执行基于三角交叉的变异操作。
进一步地,所述步骤6.3中,若(βmod2)=1,则根据步骤6.2确定的交叉位置执行基于线***叉的变异操作。
有益效果:
1、本发明通过在现有贫富优化(PRO)算法的基础上引入了中产种群,并在中产种群更新过程中应用了局部搜索策略,在增加搜索多样性的同时,避免了算法陷入局部最优的可能性;同时,在富有种群迭代更新机制中,分别采用最优富有个体和最优中产个体引导种群进化,通过更新每个个体并产生两个新个体,扩大了搜索空间,增加了种群的多样性。
2、本发明通过在迭代过程中当算法陷入局部最优或全局最优解多次未更新时,采用具有进化感知的自适应变异策略,通过改变算法搜索机制来引入随机性,使其跳出局部最优,提高了搜索效率。
附图说明
图1为本发明提供的一种基于改进贫富优化算法的云工作流调度方法的流程图。
图2为一个简单的Epigenomics工作流模型结构示意图。
图3为本发明提供的一种基于改进贫富优化算法的云工作流调度方法与不同调度算法在Epigenomics_46工作流下的工作流执行跨度时间和执行成本实验结果的对比图。
图4为本发明提供的一种基于改进贫富优化算法的云工作流调度方法与不同调度算法在Epigenomics_100工作流下的工作流执行跨度时间和执行成本实验结果的对比图。
图5为本发明提供的一种基于改进贫富优化算法的云工作流调度方法与不同调度算法在Epigenomics_997工作流下的工作流执行跨度时间和执行成本实验结果的对比图。
图6为本发明提供的一种基于改进贫富优化算法的云工作流调度方法与不同调度算法在不同预算约束因子以及不同规模的Epigenomics工作流下运行成功率对比图。
图7为本发明提供的一种基于改进贫富优化算法的云工作流调度方法的交叉操作的过程示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供的一种基于改进贫富优化算法的云工作流调度方法,其基本思想是:在PRO算法框架的基础上,引入中产种群并设计一种进化感知的变异策略,提出了一种改进的贫富优化(MPRO)算法,用于处理云环境下的计算密集型工作流调度问题,以便在满足用户指定的工作流预算约束的同时,优化工作流的总执行跨度时间。
本发明提供的一种基于改进贫富优化算法的云工作流调度方法,如图1所示,具体包括以下步骤:
步骤1、对带预算约束的计算密集型工作流任务及可供租赁的虚拟机资源进行建模。
步骤1.1、工作流任务建模。本发明针对计算密集型云工作流调度问题,将工作流任务建模为有向无环图G=(T,E)。其中,G由节点集合T和有向边集合E组成。节点集合T表示待调度工作流中的M个任务,即T={t1,t2,...,tM};有向边集合为E={<tm,tn>|tm,tn∈T},这里<tm,tn>表示G中任务tm与其子任务tn之间的依赖关系,即tn只有在其父任务tm完成执行后才可以开始执行。没有父任务的任务,称之为入口任务记为tentry,没有子任务的任务称之为出口任务记为texit
步骤1.2、云资源建模。本发明采用IaaS云服务提供商提供的模型,其可用虚拟机资源集合表示为R={r1,r2,...,rk,...,rK},其中,K为可供用户租赁的虚拟机数量,虚拟机rk的处理速度用设备每秒可处理的百万级机器语言指令数表示,记为 p(rk),且k=(1,2,...K)。
步骤2、种群初始化。
步骤2.1、个体初始化。
本发明中,种群的每个个体对应一个工作流调度方案,个体的每一维元素索引代表工作流的任务编号,个体的每一维元素值表示执行此任务的虚拟机在可用资源列表中的编号。其中,资源一般为虚拟机。
本发明采用如下的个体初始化方式,具体过程为:按公式(1)使用均匀分布的随机数,在可选范围内随即设定个体的每一维元素值
Figure RE-GDA0003100388970000061
即产生N个初始调度方案Xi,构建初始种群P。其中,i为个体的索引,i=1,2,...,N;j为每个个体维度元素的索引,即工作流任务编号,j=1,2,…,M,M为工作流总任务个数。
Figure RE-GDA0003100388970000062
其中,rand(0,1)表示0到1之间的双精度随机数,U和L分别为可用虚拟机编号的上限和下限。
步骤2.2、参数初始化。
初始化自适应变异概率α=0.08、变异类型参数β=0,以及将交叉长度设为定值length。
步骤3、计算整个种群P中所有个体的适应度,即对整个种群中的每个个体,依次计算其相应的工作流执行跨度时间、执行成本和适应度。
步骤3.1、计算工作流执行跨度时间makespan,每个个体对应的工作流执行跨度时间makespan可按如下公式计算:
Figure RE-GDA0003100388970000063
其中,T为工作流所有子任务构成的集合,tm表示集合T中的第m个任务,FT(tm)表示任务tm的完工时间,其计算公式如下:
FT(tm)=ST(tm)+CT(tm)+TT(tm) (3)
其中,ST(tm)表示任务tm的开始时间,CT(tm)表示任务tm的执行延迟时间, TT(tm)表示任务tm和其所有子任务之间的传输时间之和,其计算公式分别如下:
Figure RE-GDA0003100388970000071
Figure RE-GDA0003100388970000072
Figure RE-GDA0003100388970000073
Figure RE-GDA0003100388970000074
其中,RT(rk)表示虚拟机rk的可用时间,·tm表示任务tm的所有父任务的集合, len(tm)表示任务tm的指令长度,p(rk)表示虚拟机rk的处理能力,tm ·表示任务tm的所有子任务集合,Data(tm,tn)表示任务tm和其子任务tn之间的传输数据文件大小, W表示虚拟机之间通信线路的带宽。
步骤3.2、计算工作流的执行成本cost。本发明采用Amazon EC2的资源计费方式,即按每秒的增量计费,且最少为60秒。每个个体对应的工作流执行成本cost计算公式如下:
Figure RE-GDA0003100388970000075
Figure RE-GDA0003100388970000076
其中,vck表示虚拟机rk的租用单价;RSTk和RFTk分别表示虚拟机rk的租赁开始和租赁结束时间;
Figure RE-GDA0003100388970000077
表示向上舍入函数,即向上舍入为整数;costk表示虚拟机rk的总租赁成本;K表示虚拟机的总数量;τ为虚拟机的计费时间单位,且τ=1秒。
步骤3.3、计算适应度fitness。每个个体对应的适应度fitness可按如下公式计算:
Figure RE-GDA0003100388970000081
其中,B(λ)表示约束因子λ对应的预算约束,ζ为双精度浮点数的最大值。
步骤4、将整个种群划分为三个子种群,并分别更新子种群。即:根据个体的适应度fitness和对应的工作流执行跨度时间makespan将种群划分为富有种群Pr、中产种群Pm和贫穷种群Pp;其次利用富有种群Pr中的个体信息计算出中产种群模范Φm和贫穷种群模范Φp;最后采用不同的更新机制,分别对三个子种群Pr、 Pm和Pp进行更新。具体步骤如下:
步骤4.1、根据个体的fitness和makespan对整个种群P进行排序,具有较大fitness的个体排序靠前;当多个个体拥有相同的fitness时,则具有较小makespan的个体排序靠前。取排序在前N的个体作为新种群P,并将P中排序前1/3的个体作为富有种群Pr,种群P排序中间1/3的个体作为中产种群Pm,种群P排序后1/3 的个体作为贫穷种群Pp
步骤4.2、计算中产种群模范和贫穷种群模范。即:利用富有种群中的个体信息分别计算中产种群模范Φm和贫穷种群模范Φp,以引导中产种群与贫穷种群更新。
步骤4.2.1、计算中产种群模范Φm。本发明中,中产种群模范Φm的计算公式如下:
Figure RE-GDA0003100388970000082
Figure RE-GDA0003100388970000083
Xstep={Step,…,Step} (13)
其中,Step表示步长,
Figure RE-GDA0003100388970000084
表示富有种群的最优个体,Xstep表示维数等于任务数量且全部元素值等于Step的向量,Δmin和Δmax分别表示人为设定的最小、最大步长,θ表示当前迭代次数,Θ表示预设迭代次数。
步骤4.2.2、计算贫穷种群模范Φp。本发明中,贫穷种群模范Φp的计算公式如下:
Figure RE-GDA0003100388970000091
Figure RE-GDA0003100388970000092
其中,
Figure RE-GDA0003100388970000093
表示富有种群的平均个体,
Figure RE-GDA0003100388970000094
表示是富有种群的最差个体。
步骤4.3、采用不同的更新机制,分别对三个子种群Pr、Pm和Pp进行更新。具体过程如下:
步骤4.3.1、更新富有种群Pr。采用中产种群的最优个体和富有种群的最优个体,按照式(16)和式(17),分别对Pr中的个体进行更新:
Figure RE-GDA0003100388970000095
Figure RE-GDA0003100388970000096
其中,
Figure RE-GDA0003100388970000097
表示新个体,Xi∈Pr
Figure RE-GDA0003100388970000098
表示中产种群的最优个体。
步骤4.3.2、更新中产种群Pm。采用中产种群模范Φm,按照式(18)对中产种群Pm中的个体进行引导、更新。
Figure RE-GDA0003100388970000099
其中,
Figure RE-GDA00031003889700000910
表示新个体,Xi∈Pm
步骤4.3.3、更新贫穷种群Pp。采用贫穷种群模范Φp,按照式(19)对贫穷种群Pp中的个体进行引导、更新。
Figure RE-GDA00031003889700000911
其中,
Figure RE-GDA0003100388970000101
表示新个体,Xi∈Pp
步骤4.4、保留步骤4.3种群更新产生的所有新个体。也就是说,将更新产生的所有个体加入到P中,此时P的个体总数为
Figure RE-GDA0003100388970000102
步骤5、逐一变异种群P中的每个个体。即:在整个种群P中,从第一个个体Xi(i=1)开始,逐一进行更新操作。具体过程如下:
步骤5.1、对个体Xi,确定搜索策略,即生成(0,1)区间内的一个均匀分布的随机数rand(0,1)。有以下两种情况:
若rand(0,1)>α,则令i自加1;否则,执行步骤5.2。其中,α为自适应变异概率。
Figure RE-GDA0003100388970000103
则执行步骤5.1;否则,在执行步骤5.4。
步骤5.2、若变异类型参数(βmod2)≠1,则执行步骤5.2.2。
步骤5.2.1、基于线***叉的变异操作。即:随机选择一个旧富有个体和Xi进行交叉变异操作。具体过程如下:
首先,确定交叉位置。随机选择交叉位置的起始点,标记为Start,则结束点标号为End=Start+length。若End≤M,则将Xi元素索引位于[Start+1,End]区间内的维度选定为交叉位置X’i;若End>M,则将Xi元素索引位于[1,End-a]和 [Start+1,a]区间内的维度选定为交叉位置X’i,如图7所示。
最后,将Xi交叉位置的维度值替换为所选旧富有个体相应位置的维度值,得到一个新个体,同时随机改变其任意两个位置的任务-虚拟机映射关系,并用最后得到的新个体替换Xi;执行骤5.3。
步骤5.2.2、基于三角交叉的变异操作。即:随机从旧富有种群Pr中选择两个不同的个体Xh、Xz,与Xi执行交叉操作。具体过程如下:
首先,按照步骤5.2.1所述的方法确定个体交叉位置,然后使用下式对Xi的交叉位置X’i进行更新:
rand1=rand(0,1) (20)
rand2=rand(0,1-rand1) (21)
rand3=1-rand1-rand2 (22)
Figure RE-GDA0003100388970000111
其中,rand(0,1-rand1)表示0到1-rand1之间的双精度随机数,
Figure RE-GDA0003100388970000112
表示X’i更新后的交叉位置,X’h和X’z分别为Xh和Xz的交叉位置,且h≠z,Xh,Xz∈Pr。最后将Xi的交叉位置X’i更改为
Figure RE-GDA0003100388970000113
并用得到的新个体替换Xi
步骤5.3、令i自加1。如果
Figure RE-GDA0003100388970000114
则执行步骤5.1。
步骤5.4、更新β、α。具体如下:
步骤5.4.1、更新全局最优解未变化的迭代次数μ。若当前全局最优解等于上一代的全局最优解,则令μ自加1;否则令μ=0,执行步骤6。
步骤5.4.2、更新变异类型参数β。若
Figure RE-GDA0003100388970000115
则令β自加1;否则,β值不变。其中,
Figure RE-GDA0003100388970000116
为变异交替阈值。
步骤5.4.3、更新自适应变异概率α。若
Figure RE-GDA0003100388970000117
则令α=1;否则,令α=0.08。其中,
Figure RE-GDA0003100388970000118
为自适应变异阈值。
步骤6、判断迭代次数是否达到预设上限。迭代次数加1,即令θ自加1。若θ≤Θ,执行步骤3;否则,将当前整个种群P中的最优调度方案作为结果并输出。
为验证本发明提出的一种基于改进贫富优化算法的云工作流调度方法 (MPRO)的有效性,本发明使用云工作流仿真工具WorkflowsSim模拟云计算数据中心以及工作流任务,实验选取的对比算法如下:原贫富优化算法(PRO)、粒子群算法(PSO)、蚁群算法(ACO)、遗传算法(GA)。
针对不同规模的Epigenomics工作流模型,本发明使用一定数量的6种具有不同处理能力(ECU)的虚拟机,在4个预算约束因子(0.5、1、1.5和2)下进行实验,将算法所产生解对应的工作流执行跨度时间makespan、成本cost作为调度性能指标来衡量算法的性能。考虑到云的弹性,可用虚拟机的数量将根据所调度工作流的规模大小而变化。对于小规模工作流(大约50个任务),使用8 个虚拟机;对于中规模工作流(大约100个任务),使用17个虚拟机;对于大规模工作流(大约1000个任务),使用40个虚拟机。按照处理能力从高到低,对每种类型的虚拟机进行排序,可用虚拟机资源池的生成,被设置为按照排序表依次添加虚拟机。若全部添加过一遍,则重复此过程,直至所添加的虚拟机数量满足总数要求为止。为了避免实验结果的随机性,每个算法分别运行20次仿真,计算其结果对应调度方案的makespan、cost平均值进行对比,结果如图3 至图5所示。
由图3、图4、图5、图6可知,MPRO算法与对比算法在不同规模的工作流任务和不同的预算约束因子下,均能搜索到满足预算约束的调度解。但是,相较于对比算法,MPRO算法能搜索到使工作流执行跨度时间makespan更小的解。实验结果说明了本发明方法的有效性。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于改进贫富优化算法的云工作流调度方法,其特征在于,包括以下步骤:
步骤1、分别为带有预算约束的计算密集型工作流及虚拟机资源建模;
步骤2、建立种群P,所述种群中的个体为工作流调度方案,所述个体采用一维数组表示,所述一维数组的元素索引为工作流的任务编号、元素值为执行对应任务的虚拟机编号;初始化所述种群;
步骤3、计算所述种群中每个个体的工作流执行跨度时间makespan和执行成本cost,采用公式(1)计算个体的适应度fitness:
Figure FDA0003696314140000011
其中,B(λ)为约束因子λ对应的预算约束,ζ为双精度浮点数的最大值;
步骤4、根据个体的适应度fitness及工作流执行跨度时间makespan将所述种群划分为富有种群Pr、中产种群Pm和贫穷种群Pp;采用公式(2)计算中产种群模范Φm
Figure FDA0003696314140000012
其中,
Figure FDA0003696314140000013
为所述富有种群中的最优个体,Xstep为维数等于任务数量且元素均为Step的向量,Step为步长,Δmin为设定的最小步长,Δmax为设定的最大步长,θ为当前迭代次数,Θ为预设迭代次数;
采用公式(3)计算贫穷种群模范Φp
Figure FDA0003696314140000014
其中,Xi为所述富有种群中的第i个个体,
Figure FDA0003696314140000021
为所述富有种群中的平均个体,
Figure FDA0003696314140000022
为所述富有种群中的最差个体;N为所述种群的个体数量;
步骤5、采用所述中产种群中的最优个体和所述富有种群中的最优个体,分别更新所述富有种群;采用所述中产种群模范Φm对所述中产种群进行引导和更新;采用所述贫穷种群模范Φp对所述贫穷种群进行引导和更新;
将生成的所有新个体加入所述种群P;
步骤6、采用变异算法更新所述种群P中的个体;
步骤7、所述迭代次数θ自加1,若θ≤Θ,则执行步骤3;否则,将当前所述种群P中的最优调度方案作为云工作流调度方案输出。
2.根据权利要求1所述的云工作流调度方法,其特征在于,所述步骤6中采用变异算法更新所述种群P中的个体,包括以下步骤:
步骤6.1、对于所述种群P中的个体Xi,生成均匀分布的随机数rand(0,1);若rand(0,1)>α,则不更新且令i自加1,执行步骤6.1;否则,执行步骤6.2;α为变异概率,α的初始值为0.08;
步骤6.2、随机确定交叉位置的起始点Start,则结束点End=Start+length;若End≤M,则将索引位于[Start+1,End]区间内的元素所在的维度定为交叉位置Xi';若End>M,则将索引位于[1,End-a]和[Start+1,a]区间内的元素所在的维度定为交叉位置Xi',M为工作流总任务个数;length为交叉长度,length为设定常数;
步骤6.3、若(βmod2)≠1,则根据步骤6.2确定的交叉位置,随机从现有富有种群Pr中选择两个不同的个体Xh、Xz,与Xi执行交叉操作;若(βmod2)=1,则根据步骤6.2确定的交叉位置,随机选择现有富有个体和Xi进行交叉变异操作;β为变异类型参数,β的初始值为0;
步骤6.4、令i自加1;若
Figure FDA0003696314140000023
则执行步骤6.1;
步骤6.5、若当前全局最优解等于上一代的全局最优解,则全局最优解未变化的迭代次数μ自加1;否则令μ为零,执行所述步骤7;
Figure FDA0003696314140000031
则令β自加1,
Figure FDA0003696314140000032
为变异交替阈值;否则,β保持不变;
Figure FDA0003696314140000033
则α=1;否则令α=0.08,
Figure FDA0003696314140000034
为自适应变异阈值。
3.根据权利要求2所述的云工作流调度方法,其特征在于,所述步骤6.3中,若(βmod2)≠1,则根据步骤6.2确定的交叉位置执行基于三角交叉的变异操作。
4.根据权利要求2所述的云工作流调度方法,其特征在于,所述步骤6.3中,若(βmod2)=1,则根据步骤6.2确定的交叉位置执行基于线***叉的变异操作。
CN202110435961.5A 2021-04-22 2021-04-22 一种基于改进贫富优化算法的云工作流调度方法 Active CN113220414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110435961.5A CN113220414B (zh) 2021-04-22 2021-04-22 一种基于改进贫富优化算法的云工作流调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110435961.5A CN113220414B (zh) 2021-04-22 2021-04-22 一种基于改进贫富优化算法的云工作流调度方法

Publications (2)

Publication Number Publication Date
CN113220414A CN113220414A (zh) 2021-08-06
CN113220414B true CN113220414B (zh) 2022-09-09

Family

ID=77088607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110435961.5A Active CN113220414B (zh) 2021-04-22 2021-04-22 一种基于改进贫富优化算法的云工作流调度方法

Country Status (1)

Country Link
CN (1) CN113220414B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710372A (zh) * 2018-11-12 2019-05-03 北京理工大学 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN111813500A (zh) * 2020-07-09 2020-10-23 西北工业大学 一种多目标云工作流调度方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710372A (zh) * 2018-11-12 2019-05-03 北京理工大学 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN111813500A (zh) * 2020-07-09 2020-10-23 西北工业大学 一种多目标云工作流调度方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
iCATS: Scheduling Big Data Workflows in the Cloud Using Cultural Algorithms;Seyed Ziae Mousavi Mojab 等;《2019 IEEE Fifth International Conference on Big Data Computing Service and Applications (BigDataService)》;20190926;第99-106页 *
满足帕累托最优的多目标云工作流调度算法;何留杰等;《计算机应用与软件》;20190512(第05期);第289-297页 *

Also Published As

Publication number Publication date
CN113220414A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
Alkayal et al. Efficient task scheduling multi-objective particle swarm optimization in cloud computing
Hamad et al. Genetic-based task scheduling algorithm in cloud computing environment
Xie et al. An adaptive decoding biased random key genetic algorithm for cloud workflow scheduling
Sallam et al. A two-stage multi-operator differential evolution algorithm for solving resource constrained project scheduling problems
CN114756358B (zh) 一种dag任务调度方法、装置、设备及存储介质
Kaur et al. Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud
Jayanetti et al. Deep reinforcement learning for energy and time optimized scheduling of precedence-constrained tasks in edge–cloud computing environments
CN108320059B (zh) 一种工作流调度进化寻优方法及终端设备
Kamalinia et al. Hybrid task scheduling method for cloud computing by genetic and DE algorithms
Xiao et al. A cooperative coevolution hyper-heuristic framework for workflow scheduling problem
CN110008023B (zh) 基于遗传算法的云计算***预算约束随机任务调度方法
Pooranian et al. Hybrid metaheuristic algorithm for job scheduling on computational grids
CN113821318A (zh) 一种物联网跨域子任务组合协同计算方法及***
Nadeem et al. Optimizing execution time predictions of scientific workflow applications in the grid through evolutionary programming
Ren et al. A branch-and-bound embedded genetic algorithm for resource-constrained project scheduling problem with resource transfer time of aircraft moving assembly line
CN115330189A (zh) 一种基于改进飞蛾火焰算法的工作流优化调度方法
Khajemohammadi et al. Efficient workflow scheduling for grid computing using a leveled multi-objective genetic algorithm
CN113778646A (zh) 一种基于执行时间预测的任务层级调度方法及装置
Chhabra et al. QoS-aware energy-efficient task scheduling on HPC cloud infrastructures using swarm-intelligence meta-heuristics
Mikram et al. HEPGA: a new effective hybrid algorithm for scientific workflow scheduling in cloud computing environment
CN113139639B (zh) 一种基于mombi面向智慧城市应用多目标计算迁移方法和装置
CN113504998A (zh) 一种任务调度方案的确定方法、装置和设备
CN113220414B (zh) 一种基于改进贫富优化算法的云工作流调度方法
CN116985146A (zh) 退役电子产品的机器人并行拆解规划方法
CN117236427A (zh) 一种针对任务行动的决策约束规则表征方法

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