CN105843666B - 云计算中基于多目标优化的虚拟机放置方法 - Google Patents
云计算中基于多目标优化的虚拟机放置方法 Download PDFInfo
- Publication number
- CN105843666B CN105843666B CN201510869992.6A CN201510869992A CN105843666B CN 105843666 B CN105843666 B CN 105843666B CN 201510869992 A CN201510869992 A CN 201510869992A CN 105843666 B CN105843666 B CN 105843666B
- Authority
- CN
- China
- Prior art keywords
- node
- individual
- virtual machine
- individuals
- new
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000005457 optimization Methods 0.000 title claims abstract description 17
- 238000013508 migration Methods 0.000 claims abstract description 33
- 230000005012 migration Effects 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 8
- 230000006641 stabilisation Effects 0.000 claims description 11
- 238000011105 stabilization Methods 0.000 claims description 11
- 101100114015 Danio rerio cnmd gene Proteins 0.000 claims description 10
- 101000945751 Homo sapiens Leukocyte cell-derived chemotaxin-2 Proteins 0.000 claims description 10
- 102100034762 Leukocyte cell-derived chemotaxin-2 Human genes 0.000 claims description 10
- 230000035772 mutation Effects 0.000 claims description 9
- 230000002068 genetic effect Effects 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000006978 adaptation Effects 0.000 claims description 5
- 210000000349 chromosome Anatomy 0.000 claims description 2
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Biology (AREA)
- Genetics & Genomics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (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
本发明公开云环境中基于多目标优化的虚拟机放置方法,基于各虚拟机资源需求的当前信息和未来预测信息,在多个虚拟机和多个物理节点之间动态建立新映射,既保证各应用服务质量,又能极大改善新的虚拟机放置方案中各物理节点的稳定性,同时,在虚拟机从旧放置状态转向新放置状态的过程中避免大量虚拟机的迁移。通过本发明的方案,能够在多虚拟机重新放置时保证服务质量,具有较小的虚拟机迁移次数,同时保证各物理节点具有较长的稳定时间。
Description
技术领域
本发明涉及云计算领域,尤其涉及云环境中一种基于多目标优化的虚拟机放置方法。
背景技术
云计算服务为用户提供数据处理、存储等计算资源,用户可以在其申请到的虚拟资源中部署或运行应用程序,而不需要了解计算资源提供过程的细节。而系统虚拟化技术使得资源的动态配置成为可能,实现资源的按需分配,提高资源利用率。随着数据中心规模的日益增大,云平台服务器的数目不断增加,而用户应用的资源需求也在不断地变化,急需提高云平台的动态资源调度能力,在保证用户应用的服务质量的前提下最大化资源利用率。
目前常常采用约束规划、遗传算法等解决上述问题,但是忽略云平台中各物理节点的负载稳定性因素,造成新的虚拟机放置方式中物理节点在不久的将来又重新出现新的资源热点或应用负载过重等状态,激发新的资源配置请求,导致频繁的虚拟机迁移而造成应用性能下降等问题。
发明内容
本发明的目的在于提供一种能使云平台内物理节点具有较长稳定时间的虚拟机放置方法。
为解决上述问题,本发明云计算中基于多目标优化的虚拟机放置方法采用了如下技术方案:
云计算中基于多目标优化的虚拟机放置方法,包括如下步骤:
S1、将云平台中虚拟机和物理节点的映射关系采用组编码的方式来表示;
S2、为遗传算法建立初始代种群,种群大小为PSIZE,所述初始代种群用于产生新的子代个体,其中,个体即为染色体;
S3、执行遗传算法,生成最后一代第GSIZE代种群;
S4、在最后一代第GSIZE代种群中,选出Tgain值最大的个体,该个体即为新的虚拟机放置方案的组编码;
其中,Tgain=T个体稳定时间–Num个体迁移次数×TVM迁移时间
T个体稳定时间为该个体包含的所有已使用的物理节点的稳定时间的最小值,
Num个体迁移次数为将个体所描述的所有虚拟机的放置方式和虚拟机的当前放置方式进行比较,具有不同放置方式的虚拟机的个数,
TVM迁移时间为系统常量。
进一步的,步骤S1具体包括:
S10:将放置有虚拟机的物理节点Pj上的虚拟机Vi1,Vi2,…,Vik整体表示为组编码Pj{Vi1,Vi2,…,Vik},或者PjSj,集合Sj={Vi1,Vi2,…,Vik}),
其中i1,i2,…,ik∈[1,N],N为云平台中虚拟机总数目,j∈[1,M],M为云平台中物理节点总数目;
将放置有虚拟机的物理节点Pj的节点状态定义为“已使用”,Sj≠φ;没有放置任何虚拟机的物理节点Pj的节点状态定义为“未使用”,Sj=φ;
S11:将云平台中所有物理节点的组编码按照物理节点的序号依次排列,形成一个个体编码,所述个体编码表示为如下表达式:
(P1S1,P2S2,...,PMSM) (1)
其中,
进一步的,步骤S2具体包括:
S20:将云平台中多个虚拟机和物理节点的当前映射状态用组编码方式描述出来,作为初始代种群的一个个体;
S21:随机生成PSIZE-1种虚拟机在物理节点上的不同的放置方案,每个虚拟机放置方案对应的组编码均作为初始代种群的一个个体。
进一步的,步骤S3具体包括:
S30:将步骤S2中生成的初始代种群作为父代种群;
S31:所述父代种群以交叉概率pc、变异概率pv遗传生成2×PSIZE个子代个体;
S32:将所述2×PSIZE个子代个体和PSIZE个父代个体合并成包含3×PSIZE个个体的集合pSet,使用NSGA-II算法对该集合pSet中的个体进行分级排序,形成排序队列pQueue,取出排序队列pQueue中头PSIZE个个体,作为新一代种群;
S33:如果遗传的种群代数未达到GSIZE,则将新一代种群作为父代种群,转到步骤S31。
进一步的,步骤S31具体包括:
S310:从父代种群中随机选择两个个体chm1和chm2,以交叉概率pc进行交叉操作,如果这两个个体交叉,则转到步骤S311,否则,转到步骤S310;
S311:在个体chm1中随机选择一个已使用的物理节点Pi,在个体chm2中随机选择一个已使用的物理节点Pj,交换这两个物理节点Pi、Pj上的虚拟机,并相应修改个体chm1和chm2的组编码表示;
S312:如果个体chm1中物理节点Pi上的某个虚拟机和其它物理节点Pk上的某个虚拟机相同,则将物理节点Pk的状态由“已使用”变成“未使用”,并为物理节点Pk上的每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列中寻找新的放置节点,新的放置节点必须有足够的空闲资源来容纳新的虚拟机,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点,并相应修改个体chm1的组编码表示,得到一个个体chm1';
S313:如果个体chm2中物理节点Pj上的某个虚拟机和其它物理节点Pl上的某个虚拟机相同,则将物理节点Pl的状态由“已使用”变成“未使用”,并为物理节点Pl上的每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列中寻找新的放置节点,新的放置节点必须有足够的空闲资源来容纳新的虚拟机,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点,并相应修改个体chm2的组编码表示,得到一个个体chm2';
S314:将个体chm1'以变异概率pv进行变异,如果该个体chm1'进行变异,则转入步骤S315,否则,将个体chm1'作为子代的一个个体,转入步骤S318;
S315:在个体chm1'中随机选择一个已使用的物理节点Ps,将物理节点Ps的状态由“已使用”变成“未使用”,并为物理节点Ps上的每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列中寻找新的放置节点,新的放置节点必须有足够的空闲资源来容纳新的虚拟机,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点,并相应修改个体chm1'的组编码表示,得到子代的一个个体chm1'';
S316:将个体chm2'以变异概率pv进行变异,如果该个体chm2'进行变异,则转入步骤S317,否则,将个体chm2'作为子代的一个个体,转入步骤S318;
S317:在个体chm2'中随机选择一个已使用的物理节点Pt,将物理节点Pt的状态由“已使用”变成“未使用”,并为物理节点Pt上的每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列上找到新的放置节点,新的放置节点必须有足够的空闲资源来容纳新的虚拟机,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点,并相应修改个体chm2'的组编码表示,得到子代的一个个体chm2'';
S318:如果得到的子代个体总数小于2×PSIZE,转入步骤S310。
进一步的,步骤S32具体包括:
S320:计算集合pSet中每个个体里包含的每个已使用的物理节点的稳定时间,已使用的物理节点Pj的稳定时间计算如下:基于放置在物理节点Pj上的各虚拟机的负载预测信息,从当前时刻到未来物理节点Pj第一次出现负载过重状态的时刻之间的时间间隔即为该物理节点Pj的稳定时间;
S321:计算集合pSet中每个个体的稳定时间,个体的稳定时间为该个体包含的所有已使用的物理节点的稳定时间的最小值;
S322:计算集合pSet中每个个体的迁移次数,将个体所描述的所有虚拟机的放置方式和虚拟机的当前放置方式进行比较,具有不同放置方式的虚拟机的个数即为个体的迁移次数;
S323:以个体的稳定时间和个体的迁移次数为两个目标,使用NSGA-II算法对集合pSet中的个体进行分级和排序,挑选出最优的PSIZE个个体,这些个体具有较长的稳定时间和较少的迁移次数。
本发明云计算中基于多目标优化的虚拟机放置方法,基于应用虚拟机的负载预测信息,通过上述步骤,选取能使云平台中各物理节点在未来较长时间内保持负载稳定性的虚拟机放置方法,这样既保证虚拟机应用的服务质量,又保证新的虚拟机放置方式中各物理节点在未来较长时间内不会出现新的资源热点或应用负载过重状态,避免虚拟机的频繁迁移,同时,从虚拟机的当前分布状态到这种新的虚拟机放置方式之间的状态转换只需较少的虚拟机迁移次数。
附图说明
图1为本发明云计算中基于多目标优化的虚拟机放置方法的系统框架图;
图2为本发明云计算中基于多目标优化的虚拟机放置方法的组编码方式的示意图;
图3为本发明云计算中基于多目标优化的虚拟机放置方法的交叉遗传的过程示意图。
具体实施方式
为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
本发明的基本思想是:将虚拟机和物理节点的当前映射状态采用组编码方式表示,并将之作为初始代种群的一个个体。随机产生初始代种群的其它PSIZE-1个个体。基于初始代种群,以个体的稳定时间和迁移次数为优化目标,执行遗传算法,生成GSIZE代种群。在第GSIZE代种群中,选出Tgain值最大的个体,该个体即为新的虚拟机放置方案的组编码。
其中,Tgain=T个体稳定时间–Num个体迁移次数×TVM迁移时间
为了实现上述方案,在一个实施例中,本发明的方法采用了如下步骤:
步骤1:建立初始种群,种群大小为PSIZE,将虚拟机和物理节点的当前映射状态用组编码方式表示出来,如图2所示实例方法,随机生成初始代种群中其它PSIZE-1个个体,随机生成其它PSIZE-1个个体的方式具体地包含以下子步骤。
步骤1.1:随机生成虚拟机Vi的一个放置目标,即物理节点Pj,若虚拟机Vi与物理节点Pj同时满足公式(1)和公式(2),则虚拟机的放置目标为Pj,Xij值由0变为1;
其中,布尔变量Xkj=1,表示虚拟机Vk已放置在物理节点Pj上,否则,Xkj=0表示虚拟机Vk未放置在物理节点Pj上,表示虚拟机Vk申请的处理器资源数量,表示物理节点Pj所能提供的处理器资源总量,表示虚拟机Vk申请的内存资源数量,表示物理节点Pj所能提供的内存资源总量。
步骤1.2:若在步骤1.1中虚拟机Vi和物理节点Pj不满足公式(1)或者公式(2),则按照首次适应算法为虚拟机Vi在已使用的按节点序号排列的物理节点队列中找到新的放置节点,并同时满足公式(1)和公式(2),若找不到,则在未使用的按节点序号排列的物理节点队列中找到新的放置节点;
步骤1.3:按照步骤1.1和步骤1.2为剩下的虚拟机随机产生放置的物理节点,形成初始化种群的一个个体;
步骤1.4:重复执行步骤1.1、步骤1.2和步骤1.3,一共生成PSIZE-1个个体。
步骤2:以步骤1生成的初始代种群为基础,以个体的稳定时间和迁移次数为优化目标,执行遗传算法,生成GSIZE代种群;
具体步骤如下:
步骤2.1:随机选择两个个体,以交叉概率pc进行交叉操作,即,产生一个0到100之间的随机数ranNum1,如果ranNum1/100>pc,则这两个个体进行交叉操作,否则,这两个个体不进行交叉操作,重新选择要交叉的两个个体;
步骤2.2:如果这两个个体交叉,则随机选择两个个体中的交叉点,即已使用的物理节点,互换这两个物理节点上放置的虚拟机,交叉后,若交叉点上的某个虚拟机和其它物理节点Pl上的某个虚拟机相同,则将物理节点Pl的状态由“已使用”变成“未使用”,并为物理节点Pl上的每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列中寻找新的放置节点,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点。个体交叉过程如图3所示实例方法,两个个体交叉生成两个子代个体;
步骤2.3:对新产生的每个个体以变异概率pv进行变异,即,产生一个0到100之间的随机数ranNum2,如果ranNum2/100<pv,则对该个体进行变异操作;否则对该个体不进行变异操作;
步骤2.4:如果对个体进行变异操作,则在该个体中随机选择一个已使用的物理节点Pl,将物理节点Pl的状态由“已使用”变成“未使用”,并为该物理节点Pl上每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列中寻找新的放置节点,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点。
步骤2.5:重复步骤2.1、步骤2.2、步骤2.3和步骤2.4,一共产生2×PSIZE个子代个体。
步骤2.6:将上述步骤产生的2×PSIZE个子代个体和PSIZE个父代个体合并成一个大的集合pSet。
步骤2.7:计算集合pSet中每个个体的稳定时间T个体稳定时间和迁移次数Num个体迁移次数。T个体稳定时间为该个体包含的所有已使用的物理节点的稳定时间的最小值,Num个体迁移次数为将个体所描述的所有虚拟机的放置方式和虚拟机的当前放置方式进行比较,具有不同放置方式的虚拟机的个数。而已使用的物理节点Pj的稳定时间计算如下:基于放置在物理节点Pj上的各虚拟机的负载预测信息,从当前时刻到未来物理节点Pj第一次出现负载过重状态的时刻之间的时间间隔即为该物理节点Pj的稳定时间。
步骤2.8:为每个个体计算Num',计算公式如公式(3)所示。
Num'=N-Num个体迁移次数+1 (3)
其中,N为云平台中虚拟机总数目,Num个体迁移次数为个体的迁移次数。
步骤2.9:基于每个个体的稳定时间T个体稳定时间和Num',利用NSGA-II算法为集合pSet中的每个个体计算支配等级,支配等级从1开始编号,第二个支配等级是2,依次类推,支配等级越低,个体越被优先选择作为子代个体;对处于同一支配等级内的个体计算其拥挤距离,并将同一支配等级内的个体按照拥挤距离的大小进行降序排列,拥挤距离越大,个体越被优先作为子代个体。
步骤2.10:按照每个个体的支配等级的升序和拥挤距离的降序对集合pSet中所有个体进行排序,并选择最优的PSIZE个个体作为子代个体。
步骤2.11:将子代个体作为新的父代个体,重复上述各步骤,再生成新的子代个体,直至产生第GSIZE代种群。
步骤3:在最后一代即第GSIZE代种群中,选出Tgain值最大的个体,该个体即为新的虚拟机放置方案的组编码。
其中,Tgain=T个体稳定时间–Num个体迁移次数×TVM迁移时间
以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (5)
1.云计算中基于多目标优化的虚拟机放置方法,其特征在于,包括如下步骤:
S1、将云平台中虚拟机和物理节点的映射关系采用组编码的方式来表示;
S2、为遗传算法建立初始代种群,种群大小为PSIZE,所述初始代种群用于产生新的子代个体,其中,个体即为染色体;
S3、执行遗传算法,生成最后一代即第GSIZE代种群,具体包括:
S30:将步骤S2中生成的初始代种群作为父代种群;
S31:所述父代种群以交叉概率pc、变异概率pv遗传生成2×PSIZE个子代个体;
S32:将所述2×PSIZE个子代个体和PSIZE个父代个体合并成包含3×PSIZE个个体的集合pSet,使用NSGA-II算法对该集合pSet中的个体进行分级排序,形成排序队列pQueue,取出排序队列pQueue中头PSIZE个个体,作为新一代种群;
S33:如果遗传的种群代数未达到GSIZE,则将新一代种群作为父代种群,转到步骤S31;
S4、在最后一代即第GSIZE代种群中,选出Tgain值最大的个体,该个体即为新的虚拟机放置方案的组编码;
其中,Tgain=T个体稳定时间–Num个体迁移次数×TVM迁移时间
T个体稳定时间为该个体包含的所有已使用的物理节点的稳定时间的最小值,
Num个体迁移次数为将个体所描述的所有虚拟机的放置方式和虚拟机的当前放置方式进行比较,具有不同放置方式的虚拟机的个数,
TVM迁移时间为系统常量。
2.根据权利要求1所述的基于多目标优化的虚拟机放置方法,其特征在于,步骤S1具体包括:
S10:将放置有虚拟机的物理节点Pj上的虚拟机Vi1,Vi2,…,Vik整体表示为组编码Pj{Vi1,Vi2,…,Vik},或者PjSj,集合Sj={Vi1,Vi2,…,Vik},
其中i1,i2,…,ik∈[1,N],N为云平台中虚拟机总数目,j∈[1,M],M为云平台中物理节点总数目;
将放置有虚拟机的物理节点Pj的节点状态定义为“已使用”,Sj≠φ;没有放置任何虚拟机的物理节点Pj的节点状态定义为“未使用”,Sj=φ;
S11:将云平台中所有物理节点的组编码按照物理节点的序号依次排列,形成一个个体编码,所述个体编码表示为如下表达式:
(P1S1,P2S2,...,PMSM) (1)
其中,Si∩Sj=φ,i≠j,
3.根据权利要求1所述的基于多目标优化的虚拟机放置方法,其特征在于,步骤S2具体包括:
S20:将云平台中多个虚拟机和物理节点的当前映射状态用组编码方式描述出来,作为初始代种群的一个个体;
S21:随机生成PSIZE-1种虚拟机在物理节点上的不同的放置方案,每个虚拟机放置方案对应的组编码均作为初始代种群的一个个体。
4.根据权利要求1所述的基于多目标优化的虚拟机放置方法,其特征在于,步骤S31具体包括:
S310:从父代种群中随机选择两个个体chm1和chm2,以交叉概率pc进行交叉操作,如果这两个个体交叉,则转到步骤S311,否则,转到步骤S310;
S311:在个体chm1中随机选择一个已使用的物理节点Pi,在个体chm2中随机选择一个已使用的物理节点Pj,交换这两个物理节点Pi、Pj上的虚拟机,并相应修改个体chm1和chm2的组编码表示;
S312:如果个体chm1中物理节点Pi上的某个虚拟机和其它物理节点Pk上的某个虚拟机相同,则将物理节点Pk的状态由“已使用”变成“未使用”,并为物理节点Pk上的每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列中寻找新的放置节点,新的放置节点必须有足够的空闲资源来容纳新的虚拟机,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点,并相应修改个体chm1的组编码表示,得到一个个体chm1';
S313:如果个体chm2中物理节点Pj上的某个虚拟机和其它物理节点Pl上的某个虚拟机相同,则将物理节点Pl的状态由“已使用”变成“未使用”,并为物理节点Pl上的每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列中寻找新的放置节点,新的放置节点必须有足够的空闲资源来容纳新的虚拟机,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点,并相应修改个体chm2的组编码表示,得到一个个体chm2';
S314:将个体chm1'以变异概率pv进行变异,如果该个体chm1'进行变异,则转入步骤S315,否则,将个体chm1'作为子代的一个个体,转入步骤S318;
S315:在个体chm1'中随机选择一个已使用的物理节点Ps,将物理节点Ps的状态由“已使用”变成“未使用”,并为物理节点Ps上的每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列中寻找新的放置节点,新的放置节点必须有足够的空闲资源来容纳新的虚拟机,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点,并相应修改个体chm1'的组编码表示,得到子代的一个个体chm1'';
S316:将个体chm2'以变异概率pv进行变异,如果该个体chm2'进行变异,则转入步骤S317,否则,将个体chm2'作为子代的一个个体,转入步骤S318;
S317:在个体chm2'中随机选择一个已使用的物理节点Pt,将物理节点Pt的状态由“已使用”变成“未使用”,并为物理节点Pt上的每一个虚拟机分别按照首次适应算法在已使用的按节点序号排列的物理节点队列上寻找新的放置节点,新的放置节点必须有足够的空闲资源来容纳新的虚拟机,如果找不到新的放置节点,则在未使用的按节点序号排列的物理节点队列中寻找新的放置节点,并相应修改个体chm2'的组编码表示,得到子代的一个个体chm2'';
S318:如果得到的子代个体总数小于2×PSIZE,转入步骤S310。
5.根据权利要求1所述的基于多目标优化的虚拟机放置方法,其特征在于,步骤S32具体包括:
S320:计算集合pSet中每个个体里包含的每个已使用的物理节点的稳定时间,已使用的物理节点Pj的稳定时间计算如下:基于放置在物理节点Pj上的各虚拟机的负载预测信息,从当前时刻到未来物理节点Pj第一次出现负载过重状态的时刻之间的时间间隔即为该物理节点Pj的稳定时间;
S321:计算集合pSet中每个个体的稳定时间,个体的稳定时间为该个体包含的所有已使用的物理节点的稳定时间的最小值;
S322:计算集合pSet中每个个体的迁移次数,将个体所描述的所有虚拟机的放置方式和虚拟机的当前放置方式进行比较,具有不同放置方式的虚拟机的个数即为个体的迁移次数;
S323:以个体的稳定时间和个体的迁移次数为两个目标,使用NSGA-II算法对集合pSet中的个体进行分级和排序,挑选出最优的PSIZE个个体,这些个体具有较长的稳定时间和较少的迁移次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510869992.6A CN105843666B (zh) | 2015-12-01 | 2015-12-01 | 云计算中基于多目标优化的虚拟机放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510869992.6A CN105843666B (zh) | 2015-12-01 | 2015-12-01 | 云计算中基于多目标优化的虚拟机放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105843666A CN105843666A (zh) | 2016-08-10 |
CN105843666B true CN105843666B (zh) | 2019-03-08 |
Family
ID=56580860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510869992.6A Expired - Fee Related CN105843666B (zh) | 2015-12-01 | 2015-12-01 | 云计算中基于多目标优化的虚拟机放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105843666B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681797B (zh) * | 2016-12-28 | 2019-11-29 | 深圳先进技术研究院 | 一种虚拟机应用迁移方法、装置及一种服务器 |
CN106897117A (zh) * | 2017-02-27 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种物理主机虚拟内存分析方法及装置 |
CN108521446B (zh) * | 2018-03-20 | 2021-02-23 | 深圳大学 | 云计算资源的调度方法、装置、设备及存储介质 |
CN108897600A (zh) * | 2018-06-14 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种云计算环境下的虚拟机放置方法 |
CN109388476A (zh) * | 2018-10-12 | 2019-02-26 | 西安交通大学 | 基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法 |
CN109918170A (zh) * | 2019-01-25 | 2019-06-21 | 西安电子科技大学 | 一种云数据中心虚拟机动态资源配置方法及系统 |
CN110413860B (zh) * | 2019-07-16 | 2023-06-23 | 东华大学 | 一种基于nsga-ii的多云环境下云实例的多目标优化选择方法 |
CN111082971B (zh) * | 2019-11-25 | 2021-07-20 | 南京航空航天大学 | 一种面向云负载测试的共享式资源分配方法 |
CN114928542B (zh) * | 2022-05-17 | 2023-05-16 | 内蒙古工业大学 | 一种基于动态整合和多目标布谷鸟算法的虚拟机迁移方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899100A (zh) * | 2015-05-28 | 2015-09-09 | 北京邮电大学 | 一种用于云系统的资源调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877755B2 (en) * | 2005-07-25 | 2011-01-25 | International Business Machines Corporation | Dynamic application placement with allocation restrictions and even load distribution |
-
2015
- 2015-12-01 CN CN201510869992.6A patent/CN105843666B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899100A (zh) * | 2015-05-28 | 2015-09-09 | 北京邮电大学 | 一种用于云系统的资源调度方法 |
Non-Patent Citations (2)
Title |
---|
Dynamic resource provisioning in cloud computing: A randomized auction approach;Linquan Zhang等;《INFOCOM, 2014 Proceedings IEEE》;20140708;第433-441页 |
云计算中虚拟机放置的自适应管理与多目标优化;李强等;《计算机学报》;20111215;第34卷(第12期);第2258-2260页 |
Also Published As
Publication number | Publication date |
---|---|
CN105843666A (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843666B (zh) | 云计算中基于多目标优化的虚拟机放置方法 | |
Kumar et al. | Independent task scheduling in cloud computing by improved genetic algorithm | |
Zhang et al. | Network-aware virtual machine migration in an overcommitted cloud | |
CN110321217B (zh) | 一种多目标的云资源调度方法、装置、设备及存储介质 | |
CN106506657A (zh) | 一种基于多目标的云计算虚拟机分配调整方法 | |
CN105929690B (zh) | 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 | |
CN113742089B (zh) | 异构资源中神经网络计算任务的分配方法、装置和设备 | |
CN109447264B (zh) | 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
Bhamidi et al. | Change point detection in network models: Preferential attachment and long range dependence | |
Kaur et al. | Deadline constrained scheduling of scientific workflows on cloud using hybrid genetic algorithm | |
Alam et al. | Artificial bee colony algorithm with self-adaptive mutation: a novel approach for numeric optimization | |
CN116339932A (zh) | 资源调度方法、装置和服务器 | |
TWI740895B (zh) | 應用歸屬服務集群的分配方法和裝置 | |
CN115981843A (zh) | 云边协同电力系统中任务调度方法、装置和计算机设备 | |
Wang et al. | A novel memetic algorithm based on decomposition for multiobjective flexible job shop scheduling problem | |
Garg et al. | Enhancing the discrete particle swarm optimization based workflow grid scheduling using hierarchical structure | |
CN113504998A (zh) | 一种任务调度方案的确定方法、装置和设备 | |
CN110781003B (zh) | 一种粒子群融合变异控制的负载均衡方法 | |
CN112214928A (zh) | 一种低压配电网多源数据处理与融合方法及系统 | |
CN112486651A (zh) | 一种基于改进遗传算法的云测试平台任务调度方法 | |
CN109885401B (zh) | 基于lpt局部优化的结构化网格负载平衡方法 | |
Zhang et al. | Task scheduling of cloud computing based on Improved CHC algorithm | |
Chen et al. | A cost minimization data allocation algorithm for dynamic datacenter resizing | |
Li et al. | Efficient fog node resource allocation algorithm based on taboo genetic algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190308 Termination date: 20191201 |
|
CF01 | Termination of patent right due to non-payment of annual fee |