CN112905307B - 一种基于贫富优化算法的多目标云工作流调度方法 - Google Patents

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

Info

Publication number
CN112905307B
CN112905307B CN202110436876.0A CN202110436876A CN112905307B CN 112905307 B CN112905307 B CN 112905307B CN 202110436876 A CN202110436876 A CN 202110436876A CN 112905307 B CN112905307 B CN 112905307B
Authority
CN
China
Prior art keywords
individuals
population
rich
individual
psi
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
CN202110436876.0A
Other languages
English (en)
Other versions
CN112905307A (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 CN202110436876.0A priority Critical patent/CN112905307B/zh
Publication of CN112905307A publication Critical patent/CN112905307A/zh
Application granted granted Critical
Publication of CN112905307B publication Critical patent/CN112905307B/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

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

本发明公开了一种基于贫富优化算法的多目标云工作流调度方法,通过将贫富优化算法应用于离散优化问题,为多目标云工作流调度提供了一条新的解决路径,引入了基于多种群的多目标优化框架,采用两个种群ΨT和ΨC,分别优化工作流的最大完工时间makespan和执行成本cost,即对ΨT和ΨC中的个体,使用贫富优化算法并侧重各自的优化目标进行更新,以同时、充分地优化两个目标,提高了算法迭代搜索的效率。

Description

一种基于贫富优化算法的多目标云工作流调度方法
技术领域
本发明属于云计算技术领域,具体涉及一种基于贫富优化算法的多目标云工作流调度方法。
背景技术
云计算是科学和商业领域的一种大规模异构分布式计算基础设施,能够提供高质量低成本的服务。随着云计算的普及和用户的广泛接受,大量应用程序被执行在云环境中。工作流是从不同的研究领域构建大规模计算和数据密集型应用程序的常见技术,由于云计算服务的种种优越性,越来越多的企业和机构选择将工作流应用迁移到云端中执行。
云服务提供商可以提供近乎无限的虚拟资源,用户可以根据自己的需求采用不同的付费方式选取各种各样的资源。云环境下的工作流调度旨在将给定应用程序中的任务映射到一组合适的资源上,使其既能满足用户的服务质量(QoS)需求,又能提高云服务提供商的利润。因此,如何为云工作流中的任务分配合适的资源使其能够同时在多个目标上取得较优解是当前研究中亟需解决的问题。
常见的工作流调度算法分为启发式算法和元启发式算法。其中,启发式算法通常基于专家经验,依赖于某些特定问题或应用场景,是针对具体问题设计的特定规则或策略。该类算法易于实现,求解速度快,但无法保证解的质量,且不适用于解决复杂或者大规模问题。元启发式算法是随机搜索和局部搜索相结合的产物,通常不依赖于特定问题,能够在有限时间内找到近优解。常见的元启发式算法包括遗传算法、粒子群优化算法、蚁群优化算法等,可以解决单目标优化问题。但是,云环境下的任务调度通常需要同时考虑云服务提供者和消费者的利益,即往往涉及多个优化目标。已有一些在传统元启发式算法基础上改进而来的多目标优化算法,如基于非支配排序的遗传算法(NSGA-II)、基于多种群协同进化的粒子群优化算法(CMPSO)和基于多种群的蚁群优化算法(MOACS),分别对遗传算法、粒子群优化算法和蚁群优化算法做了改进,使其适合于多目标优化问题。但是,该类算法找到的非支配解较少,且距离真实非主导解集较远。因此,现有基于元启发式的多目标工作流调度算法的性能有待进一步提升。
发明内容
有鉴于此,本发明提供了一种基于贫富优化算法的多目标云工作流调度方法,能够实现多目标云工作流的有效调度。
本发明提供的一种基于贫富优化算法的多目标云工作流调度方法,包括以下步骤:
步骤1、建立工作流任务和虚拟资源池模型;
步骤2、初始化种群ΨT、种群ΨC及精英提升集合ΨES,其中,所述种群ΨT中个体的优化目标为工作流的最大完工时间makespan,所述种群ΨC中个体的优化目标为工作流的执行成本cost,所述ΨES为包含非主导解集的个体的集合;计算所述种群ΨT、种群ΨC及ΨES中所有个体的适应度;
步骤3、采用贫富优化算法更新所述种群ΨT及种群ΨC中的所有个体;计算更新后的所述种群ΨT及种群ΨC中的所有个体的适应度;
步骤4、若迭代次数为0,则执行步骤5;否则,则采用不同的变异策略对所述精英提升集合ΨES中的个体进行变异形成新的精英提升集合ΨES,并计算新的精英提升集合ΨES中新个体的适应度;
步骤5、将所述种群ΨT、种群ΨC及精英提升集合ΨES中的所有个体放入信息交换池
Figure BDA0003033502370000021
中,对于适应度完全相同的多个个体,只保留其中一个;对所述信息交换池
Figure BDA0003033502370000022
中的所有个体进行快速非支配排序,划分出非主导层级;计算所述信息交换池
Figure BDA0003033502370000023
中的个体间的拥挤距离;根据目标对所述信息交换池
Figure BDA0003033502370000024
中的个体进行排序,从所述信息交换池
Figure BDA0003033502370000039
中选取个体构成新的ΨT、ΨC种群以及ΨES;更新信息交换池;
步骤6、若所述计算适应度次数大于了次数上限,则输出所述信息交换池
Figure BDA0003033502370000038
中的所有个体,即工作流调度方案,结束本流程;否则,执行步骤3。
进一步地,所述步骤3中采用贫富优化算法更新所述种群ΨT及种群ΨC中的所有个体,包括以下步骤:
步骤3.1、对所述种群ΨT及种群ΨC中的个体,根据目标值进行升序排序,排序结果的前Nrich个个体构成富有子种群Prich,而剩余个体构成贫穷子种群Ppoor
步骤3.2、采用所述贫穷子种群Ppoor中的最优个体
Figure BDA0003033502370000031
引导所述富有子种群Prich中个体Xr的更新;计算所述富有子种群Prich中所有个体的平均值
Figure BDA0003033502370000032
利用Prich中的最优个体
Figure BDA0003033502370000033
最差个体
Figure BDA0003033502370000034
和个体平均值
Figure BDA0003033502370000035
引导所述贫穷子种群Ppoor中的个体Xp更新;将更新后的所述富有子种群Prich与贫穷子种群Ppoor合并;
步骤3.3、对所述步骤3.2得到的种群中的每个更新后的个体Xi,采用预设的概率Pind施加高斯变异;
步骤3.4、对变异得到的新个体,若所述新个体的维度值大于虚拟机编号值的上界,则将当前维度值设置为虚拟机的最大编号值;若所述新个体的维度值小于虚拟机编号值的下界,则将当前维度值设置为虚拟机的最小编号值。
进一步地,所述步骤3.3中的采用预设的概率Pind施加高斯变异,包括以下步骤:
在[0,1)区间内生成一个均匀分布的随机数δind,若δind<Pind,则采用公式(1)变异:
Figure BDA0003033502370000036
式中,G(0.0,1.0)为平均值为0.0、方差为1.0的高斯分布随机数,x′i,j为更新后的第i个个体的第j个维度值,
Figure BDA0003033502370000037
为变异后的第i个个体的第j个维度值;
若δind≥Pind,则不施加高斯变异。
进一步地,所述步骤4中采用不同的变异策略对所述精英提升集合ΨES中的个体进行变异形成新的精英提升集合ΨES,包括以下步骤:
若当前迭代次数为设定次数的整数倍,则对所述精英提升集合ΨES中的每个个体进行中规模变异,所述中规模变异为:以同等的概率对个体随机进行两点变异、三点变异或者四点变异,即随机改变个体两个、三个或四个维度上的值,形成新个体;
否则,对所述精英提升集合ΨES中的每个个体进行小规模变异或大规模变异,在区间[0,1)上产生均匀分布的随机数δes,若δes<Pes,Pes为精英个体变异概率,则对当前个体进行单点变异,形成新个体;若δes≥Pes,则对当前个体进行大规模变异,所述大规模变异为:随机选择一个虚拟机rk,确定它的型号typek,将在该虚拟机上执行的任务全部转换到另一个不同型号的虚拟机上,形成新个体。
进一步地,所述步骤5中的根据目标对所述信息交换池
Figure BDA0003033502370000041
中的个体进行排序,从所述信息交换池
Figure BDA0003033502370000042
中选取个体构成新的ΨT、ΨC种群以及ΨES,包括以下步骤:
步骤5.1、根据计算得到的所述非主导层级及拥挤距离选出三倍于种群个体数目NW的个体作为候选集合,
步骤5.2、根据非主导层级及种群的优化目标对所述候选集合中的个体进行排序;其中,非主导层级越小,个体名次越高,层级相同时,优化目标值越小,个体名次越高;
步骤5.3、若所述候选集合中的非支配解数目NP大于NW与所述富有子种群Prich的规模Nrich之和,即NP>NW+Nrich,则从所述候选集合的非支配解集的后NP-Nrich-1个个体中随机选取Npoor-1个个体,连同其前Nrich+1个个体,构成新种群;若NP≤NW+Nrich,则选择候选集合中前NW个个体构成新种群;
步骤5.4、根据非主导层级和拥挤距离对所述信息交换池
Figure BDA0003033502370000051
中的个体进行排序,即:层级越小,排序越靠前;若层级相同,则拥挤距离越大,排序越靠前;若所述信息交换池
Figure BDA0003033502370000052
中非支配解的数目NE大于ΨES的给定规模NES,即NE>NES,则选取所述信息交换池
Figure BDA0003033502370000053
中前NES个个体构成新的ΨES;若NE≤NES,则选取所述信息交换池
Figure BDA0003033502370000054
中所有的非支配解构成新的ΨES
进一步地,所述虚拟机资源采用按需定价方式。
有益效果:
1、本发明通过将贫富优化算法应用于离散优化问题,为多目标云工作流调度提供了一条新的解决路径。
2、本发明引入了基于多种群的多目标优化框架,采用两个种群ΨT和ΨC,分别优化工作流的最大完工时间makespan和执行成本cost,即对ΨT和ΨC中的个体,使用贫富优化算法并侧重各自的优化目标进行更新,以同时、充分地优化两个目标,提高了算法迭代搜索的效率。
3、本发明提出采用不同规模变异的精英提升策略,通过对非主导解集中拥挤度距离较大的个体施加不同规模的变异操作,一方面,增强了非主导解集中的个体的质量,加速了算法的进化;另一方面,变异引入的随机性有效降低了算法陷入局部最优的可能性,提高了其全局搜索能力。
4、本发明提出了基于信息交换池
Figure BDA0003033502370000055
的种群共建机制,将ΨT、ΨC以及ΨES中的所有个体整合进
Figure BDA0003033502370000056
选取
Figure BDA0003033502370000057
的较优部分的个体构成新一代富有子种群Prich,提升了算法的收敛效率;同时,利用
Figure BDA0003033502370000058
的剩余个体构成新一代贫穷子种群Ppoor,实现了种群间的信息交换,增强了搜索的多样性。
附图说明
图1为本发明提供的一种基于贫富优化算法的多目标云工作流调度方法的流程图。
图2为工作流应用DAG图示例。
图3为本发明提供的一种基于贫富优化算法的多目标云工作流调度方法与其它算法在Montage_25工作流下的实验结果对比图。
图4为本发明提供的一种基于贫富优化算法的多目标云工作流调度方法与其它算法在Sipht_60工作流下的实验结果对比图。
图5为本发明提供的一种基于贫富优化算法的多目标云工作流调度方法与其它算法在LIGO_100工作流下的实验结果对比图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供的一种基于贫富优化算法的多目标云工作流调度方法,其基本思想是:在贫富优化算法种群更新机制的基础上,引入精英提升策略并施加多种变异操作,通过快速非支配排序方法选择个体,实现同时优化整个工作流的最大完工时间和执行成本。
本发明提供的一种基于贫富优化算法的多目标云工作流调度方法,如图1所示,具体包括以下步骤:
步骤1、对云工作流调度问题进行建模,主要包括工作流任务建模以及虚拟资源池建模。工作流应用DAG如图2所示。
步骤1.1、建立工作流任务模型。本发明将云工作流模型抽象为有向无环图G=(T,E),其中:T=(t1,t2,...ts)表示云工作流中的s个任务,E={<tp,tq>|tp,tq∈T}表示任务之间的依赖关系,且任务tp称为任务tq的父任务,任务tq称为任务tp的子任务。一个任务只有当其父任务全部执行结束之后,才能开始执行。没有父任务的任务称为入口任务,表示为tentry;没有子任务的任务表示为出口任务,表示为texit
步骤1.2、建立虚拟资源池模型。本发明所使用的虚拟资源由IaaS(基础设施即服务)云服务商提供,用一组不同类型的虚拟机R={r1,r2,...,rm}来表示m个可租用的计算资源。本发明中虚拟机资源采用按需定价方式,用户需按使用的时间进行付费。
步骤2、种群及精英提升集合初始化。本发明中,每一个个体表示一个云工作流调度方案,采用一维数组来表示。一维数组维数为工作流中的任务数,数组中每一维元素的值代表分配给该维度所对应任务的虚拟机编号。本发明设置ΨT、ΨC两个种群以及精英提升集合ΨES,其中,ΨT中个体的优化目标为工作流的最大完工时间makespan,ΨC中个体的优化目标为工作流的执行成本cost,ΨES用来存储非主导解集中的个体。
步骤2.1、初始化ΨT和ΨC种群中的个体。首先,采用启发式方法生成两个特定初始个体,其中,第一个特定初始个体是将所有工作流任务分配到同一台虚拟机rsin上(在ΨT中,rsin表示处理速度最快的一台虚拟机;在ΨC中,rsin表示性价比最高,即单位成本具有最大处理速度的一台虚拟机),第二个特定初始个体是将所有工作流任务随机分配到同一类型typesin的虚拟机集合中的一台虚拟机上(在ΨT中,typesin表示处理速度最快的虚拟机类型;在ΨC中,typesin表示性价比最高,即单位成本具有最大处理速度的虚拟机类型)。对于种群ΨT和ΨC中的其它个体,通过随机地将任务分配给不同的虚拟机生成。
步骤2.2、通过随机地将工作流任务分配给不同的虚拟机,完成ΨES中个体的初始化,ΨES中个体的数量为设定值。
步骤3、计算种群和精英提升集合中所有个体的适应度。即,对ΨT、ΨC和ΨES中的每个个体,采用公式(1)和公式(2)分别计算其最大完工时间makespan和执行成本cost如下:
Figure BDA0003033502370000071
Figure BDA0003033502370000072
式中,FTp表示任务tp的完工时间,RSTk和RFTk分别表示虚拟机rk的租用开始时间和租用结束时间,τ表示虚拟机的计费时间单位,vck表示虚拟机k的成本。在本发明中,虚拟机的最少租用时间为60秒;若不足60秒,即按60秒收费;若超出60秒,则以1秒为时间单位收费。
任务tp的完工时间采用公式(3)计算,本发明中父任务与子任务之间的数据采取串行传输的方式,即只有在当前任务所有要输出的数据传输完毕后,该任务才可以结束执行:
Figure BDA0003033502370000081
式中,STp表示任务tp的开始执行时间,ETp表示任务tp的执行延迟时间,succ(tp)表示任务tp的子任务集合,TTp,q表示任务tp与其子任务tq之间的传输时间。
任务tp的开始执行时间和执行延迟时间分别采用公式(4)和公式(5)计算:
Figure BDA0003033502370000082
Figure BDA0003033502370000083
式中,avail(rk)表示虚拟机rk的可用时间,pred(tp)表示任务tp的父任务集合,lengthp表示任务tp的指令长度,pck表示虚拟机rk的处理速度。
任务tp与其子任务tq之间的传输时间采用公式(6)计算。若任务tp与其子任务tq处于同一虚拟机上,则它们之间的传输时间忽略不计:
Figure BDA0003033502370000084
式中,rp和rq分别表示执行任务tp和任务tq的虚拟机,sizep,q表示任务tp向tq传输的数据大小,b表示虚拟机之间的平均带宽。
步骤4、种群内部分组更新。对ΨT、ΨC种群中的所有个体,按照原始贫富优化算法进行更新。
步骤4.1、划分子种群。首先,对ΨT、ΨC种群中的个体,分别根据各自侧重的目标值进行升序排序;其次,假设每个种群包括富有子种群Prich和贫穷子种群Ppoor两部分,则由排序结果的前Nrich个个体构成Prich,而剩余个体构成Ppoor
步骤4.2、采用不同的更新机制,分别对两个子种群进行更新。
步骤4.2.1、更新Prich中的个体。利用Ppoor中的最优个体
Figure BDA0003033502370000091
来引导Prich中的个体Xr更新,具体如下:
Figure BDA0003033502370000092
式中,Xr′表示对Xr更新后产生的个体,γ[0,1)是[0,1)区间范围内均匀分布的随机数。
步骤4.2.2、更新Ppoor中的个体。计算Prich中所有个体的平均值
Figure BDA0003033502370000093
利用Prich中的最优个体
Figure BDA0003033502370000094
最差个体
Figure BDA0003033502370000095
和个体平均值
Figure BDA0003033502370000096
来引导Ppoor中的个体Xp更新,具体如下:
Figure BDA0003033502370000097
X′p=Xp+γ[0,1)×(Pattern-Xp) (9)
式中,X′p表示对Xp更新后生成的个体。
步骤4.3、合并子种群,即将更新后的Prich和Ppoor进行合并。
步骤4.4、对种群中的每个更新后的个体Xi,依据预设的概率Pind施加高斯变异:在[0,1)区间内生成一个均匀分布的随机数δind;若δind<Pind,则按照下式变异:
Figure BDA0003033502370000098
式中,G(0.0,1.0)表示一个平均值为0.0、方差为1.0的高斯分布随机数,xi,j
Figure BDA0003033502370000099
分别表示更新和变异后的第i个个体的第j个维度值;
若δind≥Pind,则不施加高斯变异。
步骤4.5、对变异得到的新个体,判断其每个维度值是否大于虚拟机编号值的上界,或小于虚拟机编号值的下界。若是,则将该维度值相应地设置为虚拟机的最大编号值,或最小编号值。
步骤4.6、计算种群中所有新个体的适应度。
步骤5、采用大、中、小三种规模的变异策略,进一步改善精英提升集合ΨES中解的质量。如果算法第一次进入迭代,则转步骤6;否则,对ΨES中的个体按概率选取三种不同规模的变异方式产生新的个体,过程如下:
步骤5.1、判断当前迭代次数是否是设定次数的整数倍,例如,设定次数为30次。若是,则对ΨES中的每一个个体进行中规模变异,具体方式是:以同等的概率对个体随机进行两点变异、三点变异或者四点变异,即随机改变个体两个、三个或四个维度上的值;否则,对ΨES中的每一个个体Xi进行小规模变异或大规模变异,具体方式是:在[0,1)上产生一个均匀分布的随机数δes,并与设定的精英个体变异概率Pes进行比较,若δes<Pes,对当前个体进行小规模变异,即单点变异;若δes≥Pes,对当前个体进行大规模变异:随机选择一个虚拟机rk,确定它的型号typek,将在该虚拟机上执行的任务全部转换到另一个不同型号的虚拟机上。通过上述变异,产生相应的新个体。
步骤5.2、计算新产生个体的适应度,并加入ΨES中。
步骤6、基于信息交换池,共建新的ΨT、ΨC种群以及ΨES。也就是说,将ΨT、ΨC以及ΨES中的所有个体放到信息交换池
Figure BDA0003033502370000101
中,对于适应度完全相同的多个个体,只保留其中一个。
步骤6.1、对
Figure BDA0003033502370000102
中的所有个体进行快速非支配排序,划分其非主导层级。将非支配解划分为第一非主导层级;对于其余个体,若其仅被第N-1非主导层级中的个体支配,则将其划分到第N非主导层级。
个体X1支配个体X2,采用公式(11)定义:
Figure BDA0003033502370000103
式中,i和j表示优化目标。本发明方法的优化目标包括工作流的最大完工时间和执行成本。fi(X1)和fi(X2)分别表示个体X1和个体X2在目标i下的目标函数值,fj(X1)和fj(X2)分别表示个体X1和个体X2在目标j下的目标函数值。
步骤6.2、计算个体间的拥挤距离。在本发明中,对每一非主导层级,将其每个目标的边界解(该目标值最大、最小的解)的拥挤距离设为无穷大;对于每个非边界个体,计算该个体与其相邻个体在每个目标上的距离。该个体的拥挤距离由其在各个目标上的距离之和来表示。
步骤6.3、根据各自侧重的目标对
Figure BDA0003033502370000117
中的个体进行排序,从
Figure BDA0003033502370000111
中选取合适的个体构成新的ΨT、ΨC种群以及ΨES。具体过程如下:
步骤6.3.1、构建新的ΨT、ΨC种群。首先,根据非主导层级和拥挤距离选出三倍于种群个体数目NW的个体作为候选集合。其次,根据非主导层级和种群相应的优化目标对候选集合中的个体进行排序,非主导层级越小,个体名次越高;层级相同时,优化目标值越小,个体名次越高。最后,判断候选集合中的非支配解数目NP是否大于NW与Prich的规模Nrich之和。若NP>NW+Nrich,则从候选集合非支配解集的后NP-Nrich-1个个体中随机选取Npoor-1个个体,连同其前Nrich+1个个体,构成新种群;若NP≤NW+Nrich,则选择候选集合中前NW个个体构成新种群。
步骤6.3.2、更新精英提升集合。首先,根据非主导层级和拥挤距离对
Figure BDA0003033502370000112
中的个体进行排序。层级越小,排序越靠前;若层级相同,则拥挤距离越大,排序越靠前。随后,判断
Figure BDA0003033502370000113
中非支配解的数目NE是否大于ΨES的给定规模NES。若NE>NES,则选取
Figure BDA0003033502370000114
中前NES个个体构成新的ΨES;若NE≤NES,则选取
Figure BDA0003033502370000115
中所有的非支配解构成新的ΨES
步骤6.4、更新信息交换池。若NE>NW,则保留
Figure BDA0003033502370000116
中的非支配解,剔除其它个体;否则,保留步骤6.3.1中用于构建新种群的个体,剔除其它个体。
步骤7、判断迭代次数是否达到上限。本发明中以计算适应度的次数作为判断标准,若适应度计算次数超过预设的上限,则流程结束,输出信息交换池中的所有个体;否则,转步骤4。
为了更好地说明本发明所提出的一种基于贫富优化算法的多目标云工作流调度方法(MOPRO)的有效性,在流行的云计算仿真工具WorkflowSim上进行了实验,并与几个常见的多目标优化算法作比较,如NSGA-II、CMPSO和MOACS等。
为了不失一般性,选取不同类型、不同规模的工作流Montage_25、Sipht_60、LIGO_100进行对比试验,对每种方法,分别运行5次仿真并取其结果的平均值,绘制实验结果图。本发明提供的MOPRO方法,以同时优化工作流的makespan和cost为目标,通过算法仿真实验产生的非支配解的数目大小以及这些非支配解是否更靠近真实的非主导解集,来评价其性能的优劣,具体实验结果如图3、图4及图5所示。由图3、图4及图5可以看出,在三种不同类型不同规模的工作流下,本发明提出的方法总能够更接近真实非主导解集,且找出的解集在非支配前沿分布均匀,优于其它算法。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于贫富优化算法的多目标云工作流调度方法,其特征在于,包括以下步骤:
步骤1、建立工作流任务和虚拟资源池模型;
步骤2、初始化种群ΨT、种群ΨC及精英提升集合ΨES,其中,所述种群ΨT中个体的优化目标为工作流的最大完工时间makespan,所述种群ΨC中个体的优化目标为工作流的执行成本cost,所述ΨES为非主导解集中的个体的集合;计算所述种群ΨT、种群ΨC及ΨES中所有个体的适应度;
步骤3、采用贫富优化算法更新所述种群ΨT及种群ΨC中的所有个体;计算更新后的所述种群ΨT及种群ΨC中的所有个体的适应度;
步骤4、若迭代次数为0,则直接执行步骤5;否则,采用不同的变异策略对所述精英提升集合ΨES中的个体进行变异形成新的精英提升集合ΨES,并计算新的精英提升集合ΨES中新个体的适应度;
步骤5、将所述种群ΨT、种群ΨC及精英提升集合ΨES中的所有个体放入信息交换池I·中,对于适应度完全相同的多个个体,只保留其中一个;对所述信息交换池I·中的所有个体进行快速非支配排序,划分出非主导层级;计算所述信息交换池I·中的个体间的拥挤距离;根据目标对所述信息交换池I·中的个体进行排序,从所述信息交换池I·中选取个体构成新的ΨT、ΨC种群以及ΨES;更新信息交换池;
步骤6、若所述计算适应度次数大于次数上限,则输出所述信息交换池I·中的所有个体,即工作流调度方案,结束本流程;否则,执行步骤3;
所述步骤3中采用贫富优化算法更新所述种群ΨT及种群ΨC中的所有个体,
包括以下步骤:
步骤3.1、对所述种群ΨT及种群ΨC中的个体,根据目标值进行升序排序,排序结果的前Nrich个个体构成富有子种群Prich,而剩余个体构成贫穷子种群Ppoor
步骤3.2、采用所述贫穷子种群Ppoor中的最优个体
Figure FDA0003676710830000011
引导所述富有子种群Prich中个体Xr的更新,如公式(1)所示;计算所述富有子种群Prich中所有个体的平均值
Figure FDA0003676710830000021
利用Prich中的最优个体
Figure FDA0003676710830000022
最差个体
Figure FDA0003676710830000023
和个体平均值
Figure FDA0003676710830000024
引导所述贫穷子种群Ppoor中的个体Xp更新,将更新后的所述富有子种群Prich与贫穷子种群Ppoor合并,如公式(2)、(3)所示:
Figure FDA0003676710830000025
Figure FDA0003676710830000026
X′p=Xp+γ[0,1)×(Pattern-Xp) (3)
式中,X′r表示对Xr更新后产生的个体,γ[0,1)是[0,1)区间范围内均匀分布的随机数,
Figure FDA0003676710830000027
为Ppoor中的最优个体,Xr为Prich中的个体,
Figure FDA0003676710830000028
为Prich中的最优个体,
Figure FDA0003676710830000029
为Prich中的最差个体,
Figure FDA00036767108300000210
为Prich中的个体平均值,Xp为Ppoor中的个体,X′p为对Xp更新后生成的个体;
步骤3.3、对所述步骤3.2得到的种群中的每个更新后的个体Xi,采用预设的概率Pind施加高斯变异:在[0,1)区间内生成一个均匀分布的随机数δind,若δind<Pind,则采用公式(4)变异:
Figure FDA00036767108300000211
式中,G(0.0,1.0)为平均值为0.0、方差为1.0的高斯分布随机数,xi,j为更新后的第i个个体的第j个维度值,
Figure FDA00036767108300000212
为变异后的第i个个体的第j个维度值;
若δind≥Pind,则不施加高斯变异;
步骤3.4、对得到的新个体,若所述新个体的维度值大于虚拟机编号值的上界,则将当前维度值设置为虚拟机的最大编号值;若所述新个体的维度值小于虚拟机编号值的下界,则将当前维度值设置为虚拟机的最小编号值。
2.根据权利要求1所述的多目标云工作流调度方法,其特征在于,所述步骤4中采用不同的变异策略对所述精英提升集合ΨES中的个体进行变异形成新的精英提升集合ΨES,包括以下步骤:
若当前迭代次数为设定次数的整数倍,则对所述精英提升集合ΨES中的每个个体进行中规模变异,所述中规模变异为:以同等的概率对个体随机进行两点变异、三点变异或者四点变异,即随机改变个体两个、三个或四个维度上的值,形成新个体;
否则,对所述精英提升集合ΨES中的每个个体进行小规模变异或大规模变异,在区间[0,1)上产生均匀分布的随机数δes,若δes<Pes,Pes为精英个体变异概率,则对当前个体进行单点变异,形成新个体;若δes≥Pes,则对当前个体进行大规模变异,所述大规模变异为:随机选择一个虚拟机rk,确定它的型号typek,将在该虚拟机上执行的任务全部转换到另一个不同型号的虚拟机上,形成新个体。
3.根据权利要求1所述的多目标云工作流调度方法,其特征在于,所述步骤5中的根据目标对所述信息交换池I·中的个体进行排序,从所述信息交换池I·中选取个体构成新的ΨT、ΨC种群以及ΨES,包括以下步骤:
步骤5.1、根据计算得到的所述非主导层级及拥挤距离选出三倍于种群个体数目NW的个体作为候选集合,
步骤5.2、根据非主导层级及种群的优化目标对所述候选集合中的个体进行排序;其中,非主导层级越小,个体名次越高,层级相同时,优化目标值越小,个体名次越高;
步骤5.3、若所述候选集合中的非支配解数目NP大于NW与所述富有子种群Prich的规模Nrich之和,即NP>NW+Nrich,则从所述候选集合的非支配解集的后NP-Nrich-1个个体中随机选取Npoor-1个个体,连同其前Nrich+1个个体,构成新种群;若NP≤NW+Nrich,则选择候选集合中前NW个个体构成新种群;
步骤5.4、根据非主导层级和拥挤距离对所述信息交换池I·中的个体进行排序,其中,层级越小,排序越靠前;若层级相同,则拥挤距离越大,排序越靠前;若所述信息交换池I·中非支配解的数目NE大于ΨES的给定规模NES,即NE>NES,则选取所述信息交换池I·中前NES个个体构成新的ΨES;若NE≤NES,则选取所述信息交换池I·中所有的非支配解构成新的ΨES
4.根据权利要求1所述的多目标云工作流调度方法,其特征在于,所述虚拟机资源采用按需定价方式。
CN202110436876.0A 2021-04-22 2021-04-22 一种基于贫富优化算法的多目标云工作流调度方法 Active CN112905307B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110436876.0A CN112905307B (zh) 2021-04-22 2021-04-22 一种基于贫富优化算法的多目标云工作流调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110436876.0A CN112905307B (zh) 2021-04-22 2021-04-22 一种基于贫富优化算法的多目标云工作流调度方法

Publications (2)

Publication Number Publication Date
CN112905307A CN112905307A (zh) 2021-06-04
CN112905307B true CN112905307B (zh) 2022-07-22

Family

ID=76108868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110436876.0A Active CN112905307B (zh) 2021-04-22 2021-04-22 一种基于贫富优化算法的多目标云工作流调度方法

Country Status (1)

Country Link
CN (1) CN112905307B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114780174A (zh) * 2022-04-25 2022-07-22 平安普惠企业管理有限公司 工作流中任务运行的配置方法、装置、计算机设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298930A (zh) * 2017-07-24 2019-02-01 西安电子科技大学昆山创新研究院 一种基于多目标优化的云工作流调度方法及装置
CN109710372A (zh) * 2018-11-12 2019-05-03 北京理工大学 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN109992355A (zh) * 2019-01-30 2019-07-09 北京理工大学 一种基于改进非支配遗传算法的多目标云工作流调度方法
CN112685138A (zh) * 2021-01-08 2021-04-20 北京理工大学 云环境下基于多种群混合智能优化的多工作流调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298930A (zh) * 2017-07-24 2019-02-01 西安电子科技大学昆山创新研究院 一种基于多目标优化的云工作流调度方法及装置
CN109710372A (zh) * 2018-11-12 2019-05-03 北京理工大学 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN109992355A (zh) * 2019-01-30 2019-07-09 北京理工大学 一种基于改进非支配遗传算法的多目标云工作流调度方法
CN112685138A (zh) * 2021-01-08 2021-04-20 北京理工大学 云环境下基于多种群混合智能优化的多工作流调度方法

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
CN112905307A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
Kalra et al. A review of metaheuristic scheduling techniques in cloud computing
Kaur et al. A novel multi-objective bacteria foraging optimization algorithm (MOBFOA) for multi-objective scheduling
Rekha et al. Efficient task allocation approach using genetic algorithm for cloud environment
Toosi et al. Revenue maximization with optimal capacity control in infrastructure as a service cloud markets
Dutta et al. A genetic: algorithm approach to cost-based multi-QoS job scheduling in cloud computing environment
CN112685138B (zh) 云环境下基于多种群混合智能优化的多工作流调度方法
Kamalinia et al. Hybrid task scheduling method for cloud computing by genetic and DE algorithms
Pourebrahimi et al. Market-based resource allocation in grids
CN110008023B (zh) 基于遗传算法的云计算***预算约束随机任务调度方法
CN112905307B (zh) 一种基于贫富优化算法的多目标云工作流调度方法
Kalra et al. An intelligent water drops-based approach for workflow scheduling with balanced resource utilisation in cloud computing
Chunlin et al. Multi economic agent interaction for optimizing the aggregate utility of grid users in computational grid
Wang et al. Dynamic multiworkflow deadline and budget constrained scheduling in heterogeneous distributed systems
Mikram et al. HEPGA: a new effective hybrid algorithm for scientific workflow scheduling in cloud computing environment
He Optimization of edge delay sensitive task scheduling based on genetic algorithm
CN113139639B (zh) 一种基于mombi面向智慧城市应用多目标计算迁移方法和装置
CN113157381B (zh) 基于非支配排序和猫头鹰搜索的多工作流调度方法
CN115421885B (zh) 一种分布式多目标云任务的调度方法、装置及云服务***
CN116089083A (zh) 一种多目标数据中心资源调度方法
CN114980216A (zh) 基于移动边缘计算的依赖型任务卸载***及方法
Javadi-Moghaddam et al. Resource allocation in cloud computing using advanced imperialist competitive algorithm.
Kumar et al. Allocating resource dynamically in cloud computing
CN114330891A (zh) 一种面向云计算的多目标资源调度方法
Kalra et al. Application of intelligent water drops algorithm to workflow scheduling in cloud environment
CN112598176A (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