CN109522104A - 利用差分进化算法优化Iaas两目标任务调度的方法 - Google Patents
利用差分进化算法优化Iaas两目标任务调度的方法 Download PDFInfo
- Publication number
- CN109522104A CN109522104A CN201811194822.2A CN201811194822A CN109522104A CN 109522104 A CN109522104 A CN 109522104A CN 201811194822 A CN201811194822 A CN 201811194822A CN 109522104 A CN109522104 A CN 109522104A
- Authority
- CN
- China
- Prior art keywords
- solution
- optimization
- task
- resource
- offspring
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Physiology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Genetics & Genomics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种利用差分进化算法优化Iaas两目标任务调度的方法,该方法结合一种可应用于离散问题的差分进化算法和改进的多目标优化框架,来对云环境下两个目标任务调度问题进行优化,即最小化任务完工时间和最小化云服务成本。该方法同时结合了多目标整体优化和子问题优化。整体优化的两目标问题和子问题优化的多个单目标问题各自用一个集合保存进化过程中的解。通过设计一种自繁殖、交叉繁殖等机制,整体优化和子问题优化协同产生更好的优化结果。最后经过多次迭代后,整体优化的解集为优化最终得到的解。该方法在对IaaS任务调度优化时,展现出良好的收敛性,优化得到的解也具有很好的多样性。
Description
技术领域
本发明涉及云计算以及智能计算技术领域,具体涉及一种利用差分进化算法优化Iaas两目标任务调度的方法。
背景技术
云计算已经在商业上得到应用,并已经取得了巨大的成功,正越来越多地在社会生活中得到应用。
然而,如何提高云计算的服务质量(QoS)依然是目前面临的巨大挑战。其中,调度对QoS起着至关重要的作用。在IaaS(Infrastructure as a Service)模式下,存在海量异构的计算与存储资源,来服务于大量用户提交的任务。相比于传统的调度问题,云计算环境下的任务调度问题规模更加庞大,实时性要求也更高,所以在实际中面临着巨大的挑战,是学术上和工程上研究的热点问题。
云计算的调度模型通常分为三个层次:服务层,任务层以及虚拟机(VM)层。任务层调度主要是针对用户提交的任务集合和云上的可用资源集合,将第一个集合中的任务映射到第二个集合中的资源上,来实现单个或者多个调度目标。现有的任务调度模型通常将任务用有向无环图(Directed Acyclic Graph,DAG)来表示。在DAG上,任务之间的优先约束以及数据依赖用边来表示。
云环境下,QoS通常由多个指标来衡量,如完工时间(makespan),负载均衡,资源利用率等。现有的部分优化算法只针对单个目标,如最大化资源利用率。目前虽然也有算法引入了多个优化目标,但用归一化的权重系数乘以目标函数,从而用单目标的算法来优化。然而,在实际应用中,权重系数难以指定。在实际应用中,调度优化算法应该同时对多个目标进行优化。这样,云计算环境下的任务调度是个多目标优化问题(MultiobjectiveOptimization Problem,MOP)。
多目标优化是计算机学科研究的热点问题。进化算法(evolutionaryalgorithms,EAs)在该领域取得了很大的成就。进化算法受到生物进化的启发,将问题的一个解看作个体,解的集合作为种群。一个个体的适应值用目标函数来量化,适应值是种群进化时优胜劣汰的评估标准。典型的多目标优化框架包括NSGA,NSGA-II,MOEA-D等。NSGA-II采纳了经济学帕累托(Pareto)改进的概念来对多目标下的解评估。如果一个解A在一个目标上相比另一个解B更好,同时在另一个目标上相比B至少一样好,那么就说A对B支配。NSGA-II在种群的进化过程中,利用这种支配的概念来评价种群中个体的适应值。MOEA-D是将一个多目标问题划分为多个单目标子问题。每个单目标问题用一定数量的个体来进化求解。MOEA-D在优化时对某些问题收敛很快,然而,有实验表明解的多样性不好。另外,MOEA-D中子问题的定义影响着最后的优化结果。尤其对于复杂的问题,MOEA-D的性能受到问题分解策略的很大影响。最近,一个新的多目标优化框架MOEA-DLA被提出来,得到广泛关注。MOEA-DLA同时吸取了NSGA-II多目标整体优化的思想和MOEA-D问题划分的思想。在MOEA-DLA中,Global Archive和Sub-archive分别保存整体优化和子问题优化的解。在优化过程中,整体优化和子问题优化通过交叉产生新的解和更新操作来协同。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种利用差分进化算法优化Iaas两目标任务调度的方法。
本发明的目的可以通过采取如下技术方案达到:
一种利用差分进化算法优化Iaas两目标任务调度的方法,该方法包括以下步骤:
S1、设定参数,输入提交到云服务器上的任务信息和计算资源的属性,设定的参数包括种群的大小N、集合G的大小gmax、每个集合Si的大小smax、交叉常数CR、最大迭代次数,其中,集合G用于保存两个目标整体优化的解,集合Si用于保存第i个子问题的解,任务信息包括若干个相互独立的任务、用于组成每个独立任务的若干个子任务、每个子任务的执行顺序以及每个子任务的数据量,计算资源的属性包括资源的处理能力、资源的计算服务价格以及连接到资源的数据传输速度;
S2、对模型进行优化,其中,优化目标是找到一组任务资源调度方式x使得云服务的完工时间max{Time1,Time2,…,TimeK}以及云服务的成本两个目标最小化,其中Timej表示第j个资源执行完分配的所有子任务所需的时间,当第i个子任务被分配给了第j个资源则αij=1,否则αij=0,是资源实际执行完任务的用时,Tij dwn是任务的数据传输到计算节点所需的时间,Cj是使用第j个资源的单位时间费用。
进一步地,所述的步骤S2中对模型进行优化的过程如下:
S201、随机产生N个合法解作为进化算法中的第一代种群,种群中每个个体的编码方式为解向量的每一个维度用元组表示某个子任务分配给了某个资源,一个合法的解必须将所有的子任务分配给可用的计算资源,并允许有资源不用执行任务;
S202、集合G保存针对目标函数云服务的完工时间和云服务的成本的帕累托最优的解,集合Si保存针对第i个子问题优化的解,初始时为每个集合Si随机分配一个解;
S203、G中的成员通过自繁殖产生后代;
S204、Si的后代通过交叉繁殖产生;
S205、评价后代的适应值;
S206、整体优化下的种群G和子问题优化下的种群S1,S2,...,SN分别采用不同的更新策略进行更新;
S207、如果当前迭代次数超出算法设定的最大迭代次数则结束优化,否则返回步骤203继续执行。
进一步地,所述的步骤S203过程如下:
针对G中的成员xi,从G中用基于拥挤距离的轮盘赌方法选择三个成员和按照变异公式产生xi的变异个体vi,将xi和vi用交叉操作得到xi的后代ui,对G中的每个成员都生成一个后代,其中,Θ为算子。
进一步地,所述的变异公式中Θ算子的操作过程如下:
①将任务集中的所有任务序号随机分到两个集合I1和I2中;
②初始化当前处理的维度d为0;
③首先检查解第d维元组上对应的子任务索引记为t1在集合I1中是否存在,若存在则将解v中第d维元组所对应的子任务索引设为t1,并且更新d=d+1;
④继续检查解第d维元组上对应的子任务索引记为t2在集合I2中是否存在,若存在则将解v中第d维元组所对应的子任务索引设为t2,并且更新d=d+1;
⑤若d达到D继续步骤⑥,否则返回步骤③;
⑥将解中的所有维度元组对应的资源索引按顺序复制到变异向量v相对应的位置上。
进一步地,所述的交叉操作的过程如下:
①初始化当前处理的维度d为0;
②随机生成一个在[0,1]内均匀分布的随机数r,若r≤CR则将交叉向量u第d维元组对应的资源索引设置为变量向量v第d维元组对应的资源索引,否则设置为父本向量x第d维元组对应的资源索引;
③更新当前处理的维度d=d+1;
④若d达到D,则交叉操作结束,否则返回步骤②。
进一步地,所述的步骤S204过程如下:
首先在Si中按照基于单个适应值的轮盘赌方法选择一个个体然后在G中按照之前的基于拥挤距离的轮盘赌方法选择三个成员xi,和按照变异公式产生变异个体vi,将xi和vi用上述的交叉操作产生后代ui,按照同样的方法,为每个Si生成一个后代,其中,Θ为算子。
进一步地,所述的步骤S205过程如下:
对于子问题优化,要分别将两个目标函数云服务的完工时间f1和云服务的成本f2按照如下归一化:
其中是进化到某一代时,该目标函数的最大值,是目前在所有S集合中最小的目标函数值;
问题的分解采用加权和的方法,如以下公式所示:
其中,λ1的值从集合中分别选取,λ2=1-λ1,Si保存对应于第i个子问题的解,Si中成员适应值用其对应的子问题函数来评估。
进一步地,所述的步骤S206过程如下:
对于保存整体优化最优解的G,所有的后代都参与更新该集合,既包括G自繁殖产生的后代,也包括每个S交叉繁殖产生的后代,从这些后代和G中的成员中筛选出帕累托最优的解,来更新集合G,如果帕累托最优解的数目超过集合G的限定大小gmax,就将这些解按照拥挤距离从大到小排列,保留gmax个拥挤距离最大的解;
对于子问题优化,Si参与交叉繁殖产生的后代只用来更新Si,如果Si中成员数目未超过smax,则直接将该后代保存到Si中,否则,比较该后代与Si中成员的单目标适应值,只有当该后代的适应值优于Si中的所有成员时,才将其放进Si中,并随机删除一个较差的解,从而保持Si成员数目不超过smax。
本发明相对于现有技术具有如下的优点及效果:
本发明基于对MOEA-DLA框架的改进,提出一种用差分进化算法来优化IaaS两目标任务调度问题的方法,将最小化任务完工时间以及最小化云服务成本作为调度的目标。该方法能够取得较快的收敛速度,优化得到的解的多样性也较好。
附图说明
图1是本发明提出的利用差分进化算法优化Iaas两目标任务调度的方法的基本结构框架图;
图2是本发明提出的利用差分进化算法优化Iaas两目标任务调度的方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如附图1和图2所示,本实施例提出一种利用差分进化算法优化Iaas两目标任务调度的方法,该方法致力于优化Iaas下的两目标任务调度问题。两个优化目标为最小化完工时间和最小化云服务成本
本实施例提出的调度优化算法,将问题分解为多个子问题,同时利用整体优化和子问题优化。优化时,用一个解集合(记为G)保存两个目标整体优化的解,用另一个解集合(记为Si)保存第i个子问题的的解。子问题分解采用类似于MOEA/D的加权和(WeightedSum)分解方法。
在这里一个合法解的编码是一个向量,其中每个维度上用元组(子任务索引和资源索引成对形式)来表示某个子任务被分配给某个资源来执行。
初始时,随机产生N个合法解作为进化算法中的种群,将帕累托最优(Pareto-optimal)的解放到G集合中。将两个目标的优化问题分解为N个单目标子问题。第i个子问题的精英解集合记为Si,为每个Si随机分配一个解,集合S则为所有子问题的精英解集合Si的并集。
传统差分进化算法中变异(mutation)、交叉(crossover)产生后代的操作不适用于离散的优化问题。对于变异操作,本文用到一个Θ算子来得到变异向量其中Θ算子不更改解向量每个维度上的资源索引。
Θ算子操作的对象为两个解分别记为和可得到的变异向量记为v,调度问题中的子任务总数为D,变异操作中的Θ算子按照如下步骤执行:
1)将任务集中的所有任务序号随机分到两个集合I1和I2中;
2)初始化当前处理的维度d为0;
3)首先检查解第d维元组上对应的子任务索引记为t1在集合I1中是否存在,若存在则将解v中第d维元组所对应的子任务索引设为t1,并且更新d=d+1;
4)继续检查解第d维元组上对应的子任务索引记为t2在集合I2中是否存在,若存在则将解v中第d维元组所对应的子任务索引设为t2,并且更新d=d+1;
5)若d达到D继续步骤6),否则返回步骤3);
6)将解中的所有维度元组对应的资源索引按顺序复制到变异向量v相对应的位置上。
对于交叉操作,本文设计的交叉方法只会对解向量的元组中资源索引进行更改,而任务索引不发生更改。记交叉操作的对象为父本x和其所生成的变异向量v,得到的交叉向量记为u,设调度问题的子任务总数为D,交叉概率为CR,交叉操作按如下步骤执行:
1)初始化当前处理的维度d为0;
2)随机生成一个在[0,1]内均匀分布的随机数r,若r≤CR则将交叉向量u第d维元组对应的资源索引设置为变量向量v第d维元组对应的资源索引,否则设置为父本向量x第d维元组对应的资源索引;
3)更新当前处理的维度d=d+1;
4)若d达到D,则交叉操作结束,否则返回步骤2)。
本文提出的优化技术,同时采用整体优化和子问题优化。
对于整体优化的突变操作,从G中用基于拥挤距离的轮盘赌方法(Roulette WheelApproach)选择三个个体和拥挤距离表征一个解在适应值坐标系(二维)中与相邻两个解的拥挤程度,该定义的计算出自论文《A Fast and Elitist MultiobjectiveGenetic Algorithm:NSGA-II》。而轮盘赌方法是遗传算法中基于适应值比例的经典选择方法,源自论文《An Overview of Standard and Parallel Genetic Algorithms》。这里的轮盘赌方法是基于拥挤距离,即适应值表示的为拥挤距离。这三个个体用Θ算子按照如下的方式产生xi的变异个体vi:
然后,xi和vi按照上面交叉操作产生后代ui。
对于子问题优化,Si保存第i个子问题的解。Si中解的优劣直接用子问题评估得到的单个适应值来评价。针对于第i个子问题优化时,首先在Si中用基于单个适应值的轮盘赌方法选择一个个体然后在G中按照之前的基于拥挤距离的轮盘赌方法选择三个个体xi,和同样,按照公式(1)产生变异个体,按照交叉操作产生一个后代。按照同样的方法,为每个子问题产生一个后代。
整体优化和子问题优化采用不同的种群更新策略。包括整体优化和子问题优化产生的所有后代都用于对G的更新。把这些后代与G中的成员放在一起,筛选出帕累托最优的解,来更新G。G中保存整体优化解的数目不超过gmax,如果帕累托最优解的数目超过了gmax,那么就用拥挤距离来评价这些解,将前gmax个拥挤距离最大的解放入集合G中。对于子问题优化,Si参与产生的一个后代只用来更新Si。Si中成员的数目限制为smax,如果当前成员数目未超过smax,则直接将后代放在Si中。否则,用子问题的单目标函数来评估后代和Si中成员的适应值,如果这个后代比所有Si中成员更优,那么就将后代放在Si中,并随机去除一个较差的成员来保持成员的数目不超过smax。
种群进化多代后,G中的成员就是最后优化得到的解。
在本实施例的调度模型中,调度是基于子任务的,是一种更细粒度的调度。在调度时间窗口内,有多个任务提交到云服务器上,每个任务由多个存在优先约束的子任务组成。优先约束意味着一个任务的所有子任务按照给定的次序来执行。在调度时间窗口内,存在一定数量的可用计算资源。调度是将所有用户提交的任务中的子任务映射到计算资源上。
假设提交的所有任务共包含D个子任务。
对于第j个资源,执行完分配的所有子任务所需的时间为:
其中,αij=1,如果第i个子任务被分配给了第j个资源,否则αij=0。Tij dwn是任务的数据传输到计算节点所需的时间,Tij exe是资源实际执行完任务的用时,Ti wait是由于优先约束导致的等待时间。当一个资源执行某个子任务时,如果该子任务之前的子任务尚没有执行完,那么需要等待一定的时间再执行。
云服务的完工时间(makespan)是从提交的任务被调度完毕后开始云服务到所有的任务执行完毕的时间长度,定义如下:
makespan=max{Time1,Time2,…,TimeK}. (3)
云服务的成本定义如下:
其中,αij=1,如果第i个子任务被分配给了第j个资源,否则αij=0;Cj是使用第j个资源的单位时间费用。
调度优化的目标就是最小化公式(3)中的makespan和公式(4)中的cost。在算法中,每个解用个体来表示,进化过程是采用精英策略,用更优的解取代较差的解的过程。个体的优劣用适应值(fitness)来表示,对两个调度目标整体优化时,每个个体有两个适应值,分别对应于两个目标函数值;对于子问题优化,个体的适应值对应于某个子问题的单个目标函数值。
这里,调度优化问题的解用向量来编码,解向量的每一个维度用元组表示某个子任务分配给了某个资源。一个合法的解必须将所有的子任务分配给可用的计算资源,并允许有资源不用执行任务。下面举例说明算法的编码方式。
假设用户提交如下的任务集合为
{{J11,J12,J13},{J21},{J31,J32},{J41,J42,J43,J44}}
表示一共有四个相互之间独立的任务,这四个任务分别含有3个、1个、2个和4个子任务。在表示一个解时,一个任务下的子任务用任务的编号来表示。在解向量中,用任务编号出现的次数来表示是第几个子任务。假如可利用的计算资源集合为{R1,R2,R3,R4},针对上面用户提交的任务一个合法的解如下所示:
{(2,R2),(1,R1),(3,R3),(4,R1),(1,R4),(4,R2),(4,R4),(1,R3),(4,R2),(3,R2)}
针对第一个任务,子任务的分配方案按照解向量中的顺序依次为(1,R1),(1,R4),(1,R3),表示存在优先约束关系的三个子任务依次被分配给了R1、R4和R3。
初始时,随机产生N个合法解作为进化算法中的种群,集合G保存针对目标函数(3)(4)的帕累托最优的解。集合S保存针对某个子问题优化的解,初始时为每个集合S随机分配一个解。
对于子问题优化,要分别将函数(3)(4)按照如下归一化:
其中是进化到某一代时,该目标函数的最大值,是目前在所有S集合中,最小的目标函数值。问题的分解采用加权和的方法,
其中,λ1的值从集合中选取,λ2=1-λ1。Si保存对应于第i个子问题(由公式(6)得到)的解,Si中成员适应值用其对应的子问题函数来评估。
G中的成员通过自繁殖产生后代。针对G中的成员xi,从G中用基于拥挤距离的轮盘赌方法(Roulette Wheel Approach)选择三个成员和按照公式(1)产生xi的变异个体vi,将xi和vi用交叉操作得到xi的后代ui。对G中的每个成员都生成一个后代。
Si的后代通过交叉繁殖产生。首先在Si中按照基于单个适应值的轮盘赌方法选择一个个体然后在G中按照之前的基于拥挤距离的轮盘赌方法选择三个成员xi,和同样地,按照公式(1)产生变异个体vi,将xi和vi用交叉操作产生后代ui。按照同样的方法,为每个S生成一个后代。
整体优化和子问题优化下的种群采用不同的更新策略。对于保存整体优化最优解的G,所有的后代都参与更新该集合,既包括G自繁殖产生的后代,也包括每个S交叉繁殖产生的后代。从这些后代和G中的成员中筛选出帕累托最优的解,来更新集合G。如果帕累托最优解的数目超过了集合G的限定大小gmax,就将这些解按照拥挤距离从大到小排列,保留gmax个拥挤距离最大的解。对于子问题优化,Si参与交叉繁殖产生的后代只用来更新Si。如果Si中成员数目未超过smax,则直接将该后代放到Si中,否则,比较该后代与Si中成员的单目标适应值,只有当该后代的适应值好于Si中的所有成员时,才将其放进Si中,并随机删除一个较差的解,从而保持Si成员数目不超过smax。
本文提出的任务调度优化方法的基本框架见图1。图1中整体优化的解集合G通过自繁殖产生后代。一个子问题优化的解集合Si通过和G中的成员交叉繁殖产生后代。Si的后代只用来更新Si,而整体优化和子问题优化产生的所有后代都用来更新G。
按照上面的变异、交叉和更新操作,经过一定代的进化,G中的解就是最后优化得到的解。
本文提出的调度优化方法按照如下步骤执行:
1)设定参数,输入提交到云上的任务信息和计算资源的属性。设定的参数包括种群的大小(N),集合G的大小(gmax),每个集合S的大小(smax),交叉常数(CR),最大迭代次数。任务信息包括一共有多少个相互独立的任务,每个任务有多少个子任务,子任务按照怎样的顺序执行以及每个子任务的数据量(GB)。资源的属性包括,资源的处理能力(GB/hour),资源的计算服务价格(USD/hour)以及连接到资源的数据传输速度(GB/hour)。
2)初始化。随机产生N个初始解,用目标函数(3)(4)评估这些解,将帕累托最优的解放到集合G中。将两个目标函数按照公式(6)分解为N个子问题。为每个集合S随机分配一个解,集合Si对应于第i个子问题的优化。
3)迭代次数iter=0。
4)集合G自繁殖产生后代(数目和G的成员数目相同)。
5)对每个集合S,通过交叉繁殖产生一个后代。
6)更新集合G和每个集合S。
7)迭代次数iter=iter+1。如果iter不大于最大迭代次数,跳回到第4步。否则执行下一步。
8)输出集合G中的成员作为最后调度优化得到的解。
本文提出的调度优化方法流程图见图2。
本文提出的调度优化方法通过两个实验来证明其有效性。第一个实验设定7个相互独立的任务,一共包括50个子任务,有5个可用计算资源。第二个实验设定10个相互独立的任务,共包括100个子任务,有10个可用计算资源。实验采用的对比算法均是基于改进的差分进化算法(Improved Differential Evolution Algorithm,简称IDEA),不同的是所使用的多目标优化框架,分别为第二代非支配排序遗传算法(Nondominated SortingGenetic Algorithm II,简称NSGA-II)和基于分解的多目标进化算法(A MultiobjectiveEvolutionary Algorithm Based on Decomposition,简称MOEA/D)。因此,我们将实验采用的对比算法记为IDEA-NSGA-II和IDEA-MOEA/D。算法的比较采用两个常用的多目标优化性能指标maximum spread和hyperarea来衡量。30次的实验结果表明,本实施例提出的方法要好于IDEA-NSGA-II和IDEA-MOEA/D,从而证明了本文提出的方法的有效性。
表1. 50维问题的不同算法实验结果比较表
表2. 100维问题的不同算法实验结果比较表
综上所述,该方法结合一种可应用于离散问题的差分进化算法和改进的多目标优化框架,来对云环境下两个目标任务调度问题进行优化,即最小化任务完工时间和最小化云服务成本。该方法同时结合了多目标整体优化和子问题优化。整体优化的两目标问题和子问题优化的多个单目标问题各自用一个集合保存进化过程中的解。通过设计一种自繁殖、交叉繁殖等机制,整体优化和子问题优化协同产生更好的优化结果。最后经过多次迭代后,整体优化的解集为优化最终得到的解。该方法在对IaaS任务调度优化时,展现出良好的收敛性,优化得到的解也具有很好的多样性。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种利用差分进化算法优化Iaas两目标任务调度的方法,其特征在于,该方法包括以下步骤:
S1、设定参数,输入提交到云服务器上的任务信息和计算资源的属性,设定的参数包括种群的大小N、集合G的大小gmax、每个集合Si的大小smax、交叉常数CR、最大迭代次数,其中,集合G用于保存两个目标整体优化的解,集合Si用于保存第i个子问题的解,任务信息包括若干个相互独立的任务、用于组成每个独立任务的若干个子任务、每个子任务的执行顺序以及每个子任务的数据量,计算资源的属性包括资源的处理能力、资源的计算服务价格以及连接到资源的数据传输速度;
S2、对模型进行优化,其中,优化目标是找到一组任务资源调度方式x使得云服务的完工时间max{Time1,Time2,…,TimeK}以及云服务的成本两个目标最小化,其中Timej表示第j个资源执行完分配的所有子任务所需的时间,当第i个子任务被分配给了第j个资源则αij=1,否则αij=0,是资源实际执行完任务的用时,是任务的数据传输到计算节点所需的时间,Cj是使用第j个资源的单位时间费用。
2.根据权利要求1所述的利用差分进化算法优化Iaas两目标任务调度的方法,其特征在于,所述的步骤S2中对模型进行优化的过程如下:
S201、随机产生N个合法解作为进化算法中的第一代种群,种群中每个个体的编码方式为解向量的每一个维度用元组表示某个子任务分配给了某个资源,一个合法的解必须将所有的子任务分配给可用的计算资源,并允许有资源不用执行任务;
S202、集合G保存针对目标函数云服务的完工时间和云服务的成本的帕累托最优的解,集合Si保存针对第i个子问题优化的解,初始时为每个集合Si随机分配一个解;
S203、G中的成员通过自繁殖产生后代;
S204、Si的后代通过交叉繁殖产生;
S205、评价后代的适应值;
S206、整体优化下的种群G和子问题优化下的种群S1,S2,...,SN分别采用不同的更新策略进行更新;
S207、如果当前迭代次数超出算法设定的最大迭代次数则结束优化,否则返回步骤203继续执行。
3.根据权利要求2所述的利用差分进化算法优化Iaas两目标任务调度的方法,其特征在于,所述的步骤S203过程如下:
针对G中的成员xi,从G中用基于拥挤距离的轮盘赌方法选择三个成员和按照变异公式产生xi的变异个体vi,将xi和vi用交叉操作得到xi的后代ui,对G中的每个成员都生成一个后代,其中,Θ为算子。
4.根据权利要求3所述的利用差分进化算法优化Iaas两目标任务调度的方法,其特征在于,所述的变异公式中Θ算子的操作过程如下:
①将任务集中的所有任务序号随机分到两个集合I1和I2中;
②初始化当前处理的维度d为0;
③首先检查解第d维元组上对应的子任务索引记为t1在集合I1中是否存在,若存在则将解v中第d维元组所对应的子任务索引设为t1,并且更新d=d+1;
④继续检查解第d维元组上对应的子任务索引记为t2在集合I2中是否存在,若存在则将解v中第d维元组所对应的子任务索引设为t2,并且更新d=d+1;
⑤若d达到D继续步骤⑥,否则返回步骤③;
⑥将解中的所有维度元组对应的资源索引按顺序复制到变异向量v相对应的位置上。
5.根据权利要求3所述的利用差分进化算法优化Iaas两目标任务调度的方法,其特征在于,所述的交叉操作的过程如下:
①初始化当前处理的维度d为0;
②随机生成一个在[0,1]内均匀分布的随机数r,若r≤CR则将交叉向量u第d维元组对应的资源索引设置为变量向量v第d维元组对应的资源索引,否则设置为父本向量x第d维元组对应的资源索引;
③更新当前处理的维度d=d+1;
④若d达到D,则交叉操作结束,否则返回步骤②。
6.根据权利要求2所述的利用差分进化算法优化Iaas两目标任务调度的方法,其特征在于,所述的步骤S204过程如下:
首先在Si中按照基于单个适应值的轮盘赌方法选择一个个体然后在G中按照之前的基于拥挤距离的轮盘赌方法选择三个成员xi,和按照变异公式产生变异个体vi,将xi和vi用上述的交叉操作产生后代ui,按照同样的方法,为每个Si生成一个后代,其中,Θ为算子。
7.根据权利要求2所述的利用差分进化算法优化Iaas两目标任务调度的方法,其特征在于,所述的步骤S205过程如下:
对于子问题优化,要分别将两个目标函数云服务的完工时间f1和云服务的成本f2按照如下归一化:
其中是进化到某一代时,该目标函数的最大值,是目前在所有S集合中最小的目标函数值;
问题的分解采用加权和的方法,如以下公式所示:
其中,λ1的值从集合中分别选取,λ2=1-λ1,Si保存对应于第i个子问题的解,Si中成员适应值用其对应的子问题函数来评估。
8.根据权利要求2所述的利用差分进化算法优化Iaas两目标任务调度的方法,其特征在于,所述的步骤S206过程如下:
对于保存整体优化最优解的G,所有的后代都参与更新该集合,既包括G自繁殖产生的后代,也包括每个S交叉繁殖产生的后代,从这些后代和G中的成员中筛选出帕累托最优的解,来更新集合G,如果帕累托最优解的数目超过集合G的限定大小gmax,就将这些解按照拥挤距离从大到小排列,保留gmax个拥挤距离最大的解;
对于子问题优化,Si参与交叉繁殖产生的后代只用来更新Si,如果Si中成员数目未超过smax,则直接将该后代保存到Si中,否则,比较该后代与Si中成员的单目标适应值,只有当该后代的适应值优于Si中的所有成员时,才将其放进Si中,并随机删除一个较差的解,从而保持Si成员数目不超过smax。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194822.2A CN109522104B (zh) | 2018-10-15 | 2018-10-15 | 利用差分进化算法优化Iaas两目标任务调度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194822.2A CN109522104B (zh) | 2018-10-15 | 2018-10-15 | 利用差分进化算法优化Iaas两目标任务调度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522104A true CN109522104A (zh) | 2019-03-26 |
CN109522104B CN109522104B (zh) | 2021-09-21 |
Family
ID=65771892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811194822.2A Active CN109522104B (zh) | 2018-10-15 | 2018-10-15 | 利用差分进化算法优化Iaas两目标任务调度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522104B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489229A (zh) * | 2019-07-17 | 2019-11-22 | 长沙学院 | 一种多目标任务调度方法及系统 |
CN111324429A (zh) * | 2019-10-09 | 2020-06-23 | 中国人民解放军国防科技大学 | 一种基于多代血统参考距离的微服务组合调度方法 |
CN112579280A (zh) * | 2020-12-30 | 2021-03-30 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
CN112736953A (zh) * | 2020-12-31 | 2021-04-30 | 中国能源建设集团安徽省电力设计院有限公司 | 一种带有多目标优化的风储系统磷酸铁锂电池组储能容量配置设计方法 |
CN113010288A (zh) * | 2021-03-16 | 2021-06-22 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
CN113419854A (zh) * | 2021-06-23 | 2021-09-21 | 东北大学 | 一种面向不平衡多目标优化的云资源调度方法 |
CN114357251A (zh) * | 2021-12-10 | 2022-04-15 | 华南理工大学 | 一种基于分治进化算法的大型图数据库查询方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015163864A1 (en) * | 2014-04-23 | 2015-10-29 | Hewlett-Packard Development Company, L.P. | Selecting a platform configuration for a workload |
CN105843197A (zh) * | 2016-05-26 | 2016-08-10 | 江南大学 | 基于教与学算法的离散制造车间静态调度优化系统 |
CN106610651A (zh) * | 2015-12-16 | 2017-05-03 | 四川用联信息技术有限公司 | 一种混合遗传算法求解多目标柔性作业车间调度问题 |
-
2018
- 2018-10-15 CN CN201811194822.2A patent/CN109522104B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015163864A1 (en) * | 2014-04-23 | 2015-10-29 | Hewlett-Packard Development Company, L.P. | Selecting a platform configuration for a workload |
CN106610651A (zh) * | 2015-12-16 | 2017-05-03 | 四川用联信息技术有限公司 | 一种混合遗传算法求解多目标柔性作业车间调度问题 |
CN105843197A (zh) * | 2016-05-26 | 2016-08-10 | 江南大学 | 基于教与学算法的离散制造车间静态调度优化系统 |
Non-Patent Citations (1)
Title |
---|
JINN-TSONGTSAI ETC.: ""Optimized task scheduling and resource allocation on cloud computing environment using improved differential evolution algorithm"", 《COMPUTERS & OPERATIONS RESEARCH》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489229A (zh) * | 2019-07-17 | 2019-11-22 | 长沙学院 | 一种多目标任务调度方法及系统 |
CN111324429A (zh) * | 2019-10-09 | 2020-06-23 | 中国人民解放军国防科技大学 | 一种基于多代血统参考距离的微服务组合调度方法 |
CN111324429B (zh) * | 2019-10-09 | 2023-03-24 | 中国人民解放军国防科技大学 | 一种基于多代血统参考距离的微服务组合调度方法 |
CN112579280A (zh) * | 2020-12-30 | 2021-03-30 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
CN112579280B (zh) * | 2020-12-30 | 2022-11-29 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
CN112736953A (zh) * | 2020-12-31 | 2021-04-30 | 中国能源建设集团安徽省电力设计院有限公司 | 一种带有多目标优化的风储系统磷酸铁锂电池组储能容量配置设计方法 |
CN112736953B (zh) * | 2020-12-31 | 2022-12-02 | 中国能源建设集团安徽省电力设计院有限公司 | 一种带有多目标优化的风储系统储能容量配置设计方法 |
CN113010288A (zh) * | 2021-03-16 | 2021-06-22 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
CN113419854A (zh) * | 2021-06-23 | 2021-09-21 | 东北大学 | 一种面向不平衡多目标优化的云资源调度方法 |
CN113419854B (zh) * | 2021-06-23 | 2023-09-22 | 东北大学 | 一种面向不平衡多目标优化的云资源调度方法 |
CN114357251A (zh) * | 2021-12-10 | 2022-04-15 | 华南理工大学 | 一种基于分治进化算法的大型图数据库查询方法 |
CN114357251B (zh) * | 2021-12-10 | 2024-05-14 | 华南理工大学 | 一种基于分治进化算法的大型图数据库查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109522104B (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522104A (zh) | 利用差分进化算法优化Iaas两目标任务调度的方法 | |
Mansouri et al. | Hybrid task scheduling strategy for cloud computing by modified particle swarm optimization and fuzzy theory | |
Li et al. | A branch population genetic algorithm for dual-resource constrained job shop scheduling problem | |
Shen et al. | Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems | |
Chaudhry et al. | A research survey: review of flexible job shop scheduling techniques | |
CN103902375B (zh) | 一种基于改进遗传算法的云任务调度方法 | |
Ashouraie et al. | Priority-based task scheduling on heterogeneous resources in the Expert Cloud | |
CN108880663A (zh) | 基于改进遗传算法的天地一体化网络资源分配方法 | |
Demir et al. | Dynamic integrated process planning, scheduling and due-date assignment using ant colony optimization | |
CN108989098B (zh) | 一种混合云环境面向时延优化的科学工作流数据布局方法 | |
CN112346839A (zh) | 一种基于进化算法的关联任务调度方法 | |
CN111611062B (zh) | 云边协同分层计算方法及云边协同分层计算系统 | |
CN110033076B (zh) | 混合云环境下面向代价优化的工作流数据布局方法 | |
CN107197006A (zh) | 基于全局QoS分解的多约束服务选取方法及其装置 | |
Xhafa | A hybrid evolutionary heuristic for job scheduling on computational grids | |
Dhodiya et al. | Genetic algorithm based hybrid approach to solve fuzzy multi-objective assignment problem using exponential membership function | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
Salimi et al. | Task scheduling with Load balancing for computational grid using NSGA II with fuzzy mutation | |
CN108170531A (zh) | 一种基于深度信念网络的云数据中心请求流调度方法 | |
Dalle Mura et al. | Worker skills and equipment optimization in assembly line balancing by a genetic approach | |
Bhunia et al. | A genetic algorithm based hybrid approach for reliabilityredundancy optimization problem of a series system with multiple-choice | |
CN114172963B (zh) | 基于资源利用率的多粒度的任务与服务匹配方法和系统 | |
Manavi et al. | Resource allocation in cloud computing using genetic algorithm and neural network | |
Liu et al. | A discrete squirrel search optimization based algorithm for Bi-objective TSP | |
Wen et al. | A multi-objective optimization method for emergency medical resources allocation |
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 |