一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种虚拟机的迁移方法、装置、电子设备及存储介质

2022-12-20 22:36:19 来源:中国专利 TAG:


1.本发明涉及虚拟机技术领域,尤其涉及一种虚拟机的迁移方法、装置、电子设备及存储介质。


背景技术:

2.目前,云计算仍处于高速发展阶段,各种云产品层出不穷,如云主机、云存储、云数据库、云游戏、云应用等。对于用户来说,云平台拥有几乎无穷的计算资源,用户仅需按需使用即可拥有自己的云资源。随着用户需求的变化,云平台内部资源分配结构不均衡的现象愈发突出,高能耗、低资源利用率等问题急需解决。
3.云平台资源调度管理按资源大小分为细粒度和粗粒度管理。细粒度的资源调度管理直接针对资源本身,需要花费额外的系统开销来实现;粗粒度的资源管理不再以资源为单位进行管理,而是以虚拟机为单位进行调度。虚拟机是云平台进行资源分配的基本单位,虚拟机迁移是调整云平台资源分配结构的重要途径。一个合理的虚拟机迁移策略,可以有效地提高云平台资源分配结构的合理性,提高负载均衡度,提高资源利用率、降低能耗。
4.目前针对云平台虚拟机迁移的研究,主要集中在系统节能、可靠性和安全性等方面。然而,能耗和安全性是两个相互冲突的目标:安全性的保障要求预留足够的资源来应对突发情况,而预留资源会使得云平台资源利用率降低、能耗增加。因此,如何充分考虑两个目标之间的冲突问题,在各目标之间的权衡之中获取最优解,成为当前亟需解决的问题。


技术实现要素:

5.为解决上述技术问题,本发明实施例期望提供一种虚拟机的迁移方法、装置、电子设备及存储介质,能够有效减少虚拟机迁移次数,降低虚拟机调度域的宿主机数量,提高算法运行速度。
6.本发明的技术方案是这样实现的:
7.第一方面,本发明实施例提供一种虚拟机的迁移方法,包括:
8.获取虚拟机动态迁移多目标优化模型,虚拟机动态迁移多目标优化模型的优化目标包括能耗、资源利用率和负载均衡度;
9.根据虚拟机动态迁移多目标优化模型和布谷鸟算法,生成虚拟机迁移策略;
10.基于虚拟机迁移策略迁移虚拟机。
11.可选的,虚拟机动态迁移多目标优化模型为max{u
avg
,rd,e},虚拟机动态迁移多目标优化模型的约束条件为
12.其中,u
avg
为云平台的综合资源利用率,rd为云平台总的负载失衡度,e为云平台的
电源消耗功率,m为云平台活跃物理机数量,n为云平台运行中的虚拟机数量,i、j分别代表物理机、虚拟机序号,物理机pmi上放置着k台虚拟机,θ为物理机在保障用户服务质量情况下所能提供最大资源的比例,r={cpu、mem、bw、disk},cpu、mem、bw、disk分别表示中央处理器cpu大小、内存大小、带宽大小、磁盘大小。
13.可选的,根据虚拟机动态迁移多目标优化模型和布谷鸟算法,生成虚拟机迁移策略,包括:
14.确定待迁移虚拟机和待迁入物理机;
15.根据虚拟机动态迁移多目标优化模型,对布谷鸟算法进行优化,得到多目标布谷鸟算法;
16.根据多目标布谷鸟算法,为待迁移虚拟机和待迁入物理机生成虚拟机重分配方案。
17.可选的,确定待迁移虚拟机和待迁入物理机,包括:
18.确定物理机的状态,物理机的状态包括低载状态、超载状态、正常状态和休眠状态;
19.计算虚拟机负载和物理机资源,物理机资源为处于非休眠状态下的所有物理机提供的资源;
20.根据物理机的状态、虚拟机负载和物理机资源,确定待迁移虚拟机和待迁入物理机。
21.可选的,根据物理机的状态、虚拟机负载和物理机资源,确定待迁移虚拟机和待迁入物理机,包括:
22.判断虚拟机负载是否小于物理机资源;
23.若是,则确定目标低载物理机,并将目标低载物理机对应的所有虚拟机放入待迁移虚拟机队列、将目标低载物理机添加到休眠物理机列表中、将低载物理机列表中除目标低载物理机的剩余低载物理机和正常物理机放入待迁入物理机队列,其中,在低载物理机列表中移除目标低载物理机后物理机资源仍旧大于或者等于虚拟机负载;
24.若否,则确定并开启目标休眠物理机,将目标休眠物理机和正常物理机放入待迁入物理机队列,其中,在开启目标休眠物理机后物理机资源大于或者等于虚拟机负载。
25.可选的,若存在超载物理机,还包括:
26.遍历超载物理机列表,将超载物理机上的虚拟机按虚拟机占用体积大小顺序排序,优先将体积大的虚拟机放入待迁移虚拟机队列,直到超载物理机恢复正常为止。
27.可选的,多目标布谷鸟算法中,布谷鸟的卵构成种群,种群中每一颗卵代表一个虚拟机放置方案,通过迭代更新种群,寻找种群中最优的个体作为虚拟机重分配方案;每一颗卵具有3个属性:云平台综合资源利用率、资源损耗度、能耗。
28.第二方面,本发明实施例提供一种虚拟机的迁移装置,包括:模型获取模块,策略生成模块和迁移模块;
29.模型获取模块,用于获取虚拟机动态迁移多目标优化模型,虚拟机动态迁移多目标优化模型的优化目标包括能耗、资源利用率和负载均衡度;
30.策略生成模块,用于根据虚拟机动态迁移多目标优化模型和布谷鸟算法,生成虚拟机迁移策略;
31.迁移模块,用于基于虚拟机迁移策略迁移虚拟机。
32.第三方面,本发明实施例提供一种电子设备,包括:处理器,处理器用于在执行计算机程序时实现具有上述第一方面任一特征的虚拟机的迁移方法。
33.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现具有上述第一方面任一特征的虚拟机的迁移方法。
34.本发明实施例从四个维度的资源出发,以资源利用率、负载均衡、能耗为优化目标,建立了虚拟机动态迁移多目标优化模型,提出了基于动态整合和改进多目标布谷鸟搜索算法的虚拟机迁移策略。该策略可以精准地筛选出待迁移虚拟机和待迁入物理机,并利用改进的多目标布谷鸟搜索算法对虚拟机重分配问题进行求解。如此,能够有效减少虚拟机迁移次数,降低虚拟机调度域的宿主机数量,提高算法运行速度。与现有方法进行对比,本发明提供的方案能够提高综合资源利用率、保障负载均衡、降低能耗。
附图说明
35.此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
36.图1为本发明实施例提供的一种虚拟机的迁移方法的流程示意图;
37.图2为本发明实施例提供的一种虚拟机迁移过程示意图;
38.图3为本发明实施例提供的一种物理机整合和待迁移虚拟机选择过程示意图;
39.图4为本发明实施例提供的一种基于动态整合的虚拟机和物理机选择策略示意图;
40.图5为本发明实施例提供的一种多目标布谷鸟算法的流程示意图;
41.图6为本发明实施例提供的一种虚拟机放置方案编码示意图;
42.图7为本发明实施例提供的一种虚拟机轮盘赌初始化方法示意图;
43.图8为本发明实施例提供的一种云平台综合资源利用率图;
44.图9为本发明实施例提供的一种云平台负载失衡度图;
45.图10为本发明实施例提供的一种云平台总能耗图;
46.图11为本发明实施例提供的一种云平台sla违背率图;
47.图12为本发明实施例提供的一种平台虚拟机迁移次数图;
48.图13为本发明实施例提供的一种虚拟机的迁移装置的结构示意图;
49.图14为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
50.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
51.图1为本发明实施例提供的一种虚拟机的迁移方法的流程示意图,本发明实施例
公开的方法适用于虚拟机的迁移装置。如图1所示,该方法可以包括如下步骤:
52.s110、获取虚拟机动态迁移多目标优化模型,虚拟机动态迁移多目标优化模型的优化目标包括能耗、资源利用率和负载均衡度。
53.云平台由许多物理机构成,虚拟机部署在物理机上。虚拟化技术将虚拟机与物理机隔离,虚拟机使用宿主机资源而不受宿主机的影响,可以在云平台中迁移。因此将虚拟机迁移问题看作一个多目标重装箱问题,需要用多目标优化算法进行求解。
54.物理机通常具有6种主要的属性:物理机编号、cpu、内存、磁盘、网络资源和部署在其上的虚拟机列表。物理机pmi能形式化描述为公式(1)。
55.pmi=(idi,cpui,memi,diski,bwi,vmlisti)
ꢀꢀꢀꢀ
公式(1)
56.在公式(1)中,idi表示pmi在云平台中的唯一标识,cpui表示pmi的cpu大小,memi表示pmi的内存大小,diski表示pmi的磁盘大小,bwi表示pmi的带宽大小,vmlisti表述运行在pmi的虚拟机列表。
57.虚拟机是云平台分配给用户的资源集合。虚拟机vmj能形式化描述为公式(2)。
58.vmj=(idj,cpuj,memj,diskj,bwj,hostj)
ꢀꢀ
公式(2)
59.在公式(2)中,idj表示vmj在云平台中的唯一标识,cpuj表示vmj需求的cpu大小,memj表示vmj需求的内存大小,diskj表示vmj需求的磁盘大小,bwj表示vmj需求的带宽大小,hostj表示vmj的宿主机。
60.假设云平台现有m台物理机{pmi,i=1,2,

,m},n台异构的虚拟机{vmj,j=1,2,

,n}。图2为本发明实施例提供的一种虚拟机迁移过程示意图。
61.根据云平台中物理机和虚拟机的隶属关系,将物理机与虚拟机之间的映射表述为一个01矩阵。如公式(3)所示,若x
ij
=1,则表示第j个虚拟机vmj放置在物理机pmi上。
[0062][0063]
本发明将待迁移虚拟机筛选出来,其重分配方案构成一个新的01矩阵。两个01矩阵的变换过程,就是虚拟机迁移问题的一个解。虚拟机动态迁移问题主要解决以下三个子问题:
[0064]
(1)迁移时机的判断:通过对资源的实时监控,当发现资源结构异常时进行虚拟机迁移操作,合理调整云平台资源分配结构。
[0065]
(2)选择待迁移虚拟机:对虚拟机进行整合,减少低载物理机的数量,合理地选择待迁移虚拟机,通过最少的虚拟机迁移次数,达到最好的资源分配结构。
[0066]
(3)设计重分配方案:在调度域范围内,为待迁移虚拟机选择新的宿主机。
[0067]
在一实施例中,虚拟机动态迁移多目标优化模型的优化目标包括能耗、资源利用率和负载均衡度。
[0068]
对于资源利用率(又可称为综合资源利用率),定义物理机pmi的综合资源利用率u
iavg
为pmi四个维度利用率的均值:
[0069][0070]
公式(4)中,u
icpu
、u
imem
、u
ibw
、u
idisk
分别为物理机pmi的cpu利用率、内存利用率、网络
带宽利用率和磁盘资源利用率。
[0071]
云平台的综合资源利用率u
avg
为云平台各个维度资源利用率的均值:
[0072][0073]
公式(5)中,u
cpu
、u
mem
、u
bw
、u
disk
分别为云平台整体的cpu利用率、内存利用率、网络带宽利用率和磁盘资源利用率。
[0074]
对于负载均衡度,因为每台物理机上的资源不相类似,而且相应的分配的虚拟机的需求资源也不相同,因此导致不同物理机上剩余资源会有很大的变化。只有尽可能保障物理机上的剩余资源在各个维度的平衡,才能提高综合资源利用率,否则会由于负载失衡而造成资源浪费。云平台应该尽量保持每个物理机的资源均衡状态,将物理机pmi的负载失衡度rdi定义为该物理机最小剩余资源利用率和其他剩余资源利用率差值的均值:
[0075][0076]
其中,u
ik
表示物理机pmi各个维度资源利用率,u
imin
表示物理机pmi最小剩余资源利用率。云平台总的负载失衡度rd定义为:
[0077][0078]
其中,uk表示云平台各个维度资源利用率,u
min
表示云平台最小剩余资源利用率。
[0079]
对于能耗,云平台能耗主要由物理机运行所消耗的电源消耗构成,研究表明电源消耗和物理机的cpu利用率存在一定的线性关系,大多数研究采用cpu利用率线性模型来估算系统功耗。随着虚拟机的运行,物理机的cpu利用率随着时间的变化而变化,因此u
icpu
应该是一个变量为时间t的函数,表示为u
icpu
(t),物理机pmi的电源消耗ei表示为:
[0080]ei
=αp
imax
(1-α)p
imax
×uicpu
ꢀꢀꢀ
公式(8)
[0081]
公式(8)中α为物理机空载时的能耗功率相对于满载时的功率所占的比重,p
imax
为物理机pmi的满载时的功率。云平台的电源消耗功率e为:
[0082]
e=∑eiꢀꢀꢀ
公式(9)
[0083]
在一实施例中,虚拟机动态迁移多目标优化模型的约束条件包括放置类约束和资源类约束。
[0084]
对于放置类约束,一台虚拟机仅能放置在一台物理机上,不能同时放置在2台或以上的物理机上。形式化描述如公式(10)所示。
[0085][0086]
其中m为云平台活跃物理机数量,i、j分别代表物理机、虚拟机序号。
[0087]
对于资源类约束,部署在一台物理机上所有虚拟机请求的资源总和不能超过物理机在保证服务质量情况下所能提供的资源。形式化描述如公式(11)所示。
[0088][0089]
物理机pmi上放置着k台虚拟机,θ为物理机在保障用户服务质量情况下所能提供最大资源的比例,r={cpu、mem、bw、disk}。
[0090]
云平台中所有虚拟机请求的资源总和不能超过云平台在保证服务质量情况下所能提供的资源的。形式化描述如公式(12)所示。
[0091][0092]
其中,m为云平台活跃物理机数量,n为云平台运行中的虚拟机数量,i、j分别代表物理机、虚拟机序号,θ为物理机在保障用户服务质量情况下所能提供最大资源的比例,r={cpu、mem、bw、disk}。
[0093]
综上所述,虚拟机动态迁移多目标优化模型vmm-ule可以描述为公式(13):
[0094]
max{u
avg
,rd,e}
[0095][0096]
其中,r={cpu、mem、bw、disk}。第1个约束条件表示放置类约束,第2、3个约束条件表示资源类约束。
[0097]
s120、根据虚拟机动态迁移多目标优化模型和布谷鸟算法,生成虚拟机迁移策略。
[0098]
虚拟机迁移问题是一个典型的np-hard问题,难以在多项式时间内解决。本发明设计了基于动态整合和改进多目标布谷鸟搜索算法的虚拟机迁移策略vmmp-dimocs。针对上述步骤s110中提出的三个子问题,分别设计了相应的解决方案。
[0099]
图3为本发明实施例提供的一种物理机整合和待迁移虚拟机选择过程示意图。首先,设计了基于cpu利用率的双阈值判断法,判断物理机是否处于低载或超载状态;其次,将云平台中的物理机分类,在虚拟机整合阶段筛选出待迁移虚拟机和待迁入物理机;最后,利用多目标布谷鸟搜索算法良好的寻优能力来解决虚拟机重分配问题。
[0100]
具体的,步骤s120可以通过如下三个步骤实现:
[0101]
步骤a:确定待迁移虚拟机和待迁入物理机。
[0102]
考虑到云任务对cpu的依赖性,在判断迁移时机时,采用物理机cpu利用率为指标,设计了基于cpu利用率的双阈值判断法。将云平台内部的物理机分为四种状态:低载、超载、正常和休眠。通过对云平台物理机状态进行监控,当某台物理机cpu利用率多次或长时间越过上限阈值时,认为其处于超载状态,当某台物理机cpu利用率多次或长时间低于下限阈值时,认为其处于低载状态,当某台物理机cpu利用率持续为0%时,认为其处于休眠状态(休眠状态消耗少量电量),否则该物理机状态正常。
[0103]
为了尽可能地提高资源利用率,很有必要对虚拟机整合,降低非休眠状态物理机的数量,间接地提高资源利用率。如果考虑为所有虚拟机重新分配物理机,花费的时间、资源代价太大,因此有必要构建一种虚拟机选择方法,对云平台中所有虚拟机进行筛选,尽可能减少虚拟机迁移次数,以避免对用户服务造成影响,同时考虑物理机未来状态,避免未来的频繁迁移。
[0104]
图4为本发明实施例提供的一种基于动态整合的虚拟机和物理机选择策略示意图。如图4所示,首先,判断此时的负载状态。若此时虚拟机负载小于处于非休眠状态下的物
理机所提供的资源,此时应该进行虚拟机整合,从而减少运行中的物理机数量,提高资源利用率。其次,若云平台处于状态1(虚拟机负载小于处于非休眠状态下的物理机所提供的资源),则先将低载物理机按负载大小升序排序,选择最小负载低载物理机的所有虚拟机放入待迁移虚拟机队列migvmlist,将该物理机从低载物理机列表移除,再次进行资源负载判断,若仍处于状态1,则将该物理机添加到休眠物理机列表中,否则将其重新添加到低载物理机列表中,直到低载物理机列表处理完成或资源负载判断时处于状态2。遍历超载物理机列表,迁移超载物理机上的虚拟机,将虚拟机按占用体积大小进行排序,优先迁移体积大的虚拟机,直到该物理机恢复正常。若处于状态2(虚拟机负载不小于处于非休眠状态下的物理机所提供的资源),需要开启休眠物理机以降低负载强度。依次开启休眠物理机,再次进行资源负载判断,若仍处于状态2,则继续开启新的物理机,直到将超载状态物理机上的虚拟机迁移到新开启的物理机上。遍历超载物理机列表,迁移超载物理机上的虚拟机,按虚拟机占用体积大小顺序排序,优先迁移体积大的虚拟机,直到该物理机恢复正常。
[0105]
步骤b:根据所述虚拟机动态迁移多目标优化模型,对所述布谷鸟算法进行优化,得到多目标布谷鸟算法。
[0106]
步骤c:根据所述多目标布谷鸟算法,为所述待迁移虚拟机和所述待迁入物理机生成虚拟机重分配方案。
[0107]
传统的布谷鸟搜索算法的优化目标仅有一个,因此在处理多目标优化问题时有必要设计相应的优化策略。同时针对布谷鸟搜索算法在解决虚拟机问题的缺憾,针对性地提出了相应的解决方案。
[0108]
图5为本发明实施例提供的一种多目标布谷鸟算法的流程示意图。在多目标布谷鸟搜索算法中,布谷鸟的卵构成种群,种群中每一颗卵代表虚拟机放置问题的一个解,即一个虚拟机放置方案。每个卵具有3个属性:云平台综合资源利用率、资源损耗度、能耗。寻找种群中最优的个体,通过迭代更新种群,布谷鸟搜索算法的工作就是在种群迭代过程中寻找最优的个体。
[0109]
1.编码设计
[0110]
传统的布谷鸟搜索算法能够在连续空间内进行搜索寻优,无法处理离散型问题。本课题使用一种连续整数编码的方法,相对于二进制编码,能够有效地减少编码和解码的时间,从而降低算法的运行时间。
[0111]
常用的二进制编码方式在对虚拟机放置问题进行编码时,一个m
×
n的01矩阵代表问题的一个解,第i行代表第i台物理机的虚拟机放置信息。
[0112]
由于虚拟机的不可分割性,每台虚拟机仅能放置在一台物理机上,故每一列仅能有一个数字为1。
[0113]
图6为本发明实施例提供的一种虚拟机放置方案编码示意图。如图6所示,左侧是一个4
×
6的01矩阵,描述的是将6台虚拟机放置到4台物理机上的一个放置方案,也可以将其表示为该方案的一个二进制编码。右侧表示每一台虚拟机放置的连续整数编码。计算编码所对应的n个虚拟机放置位置,需要一个解码的时间,显然二进制编码的计算时间远大于连续整数编码。此外,使用二进制编码在位置更新时,要求考虑每个虚拟机仅能放置在一台物理机上的约束。必须在位置-速度计算模型添加额外的模块来保证该约束的实现,造成不必要的计算资源浪费。
[0114]
在对卵进行编码之后,卵由一个整数数组来表示,称数组为基因,基因的长度由待放置的虚拟机决定,每个基因信息的大小由物理机数量决定。如公式(14)所示,m、n表示物理机和虚拟机的数量,xi表示虚拟机初始放置问题的一个解,x
ij
取值为[1,m]之间的整数。
[0115]
xi=[x
i1
,x
i2
,x
i3
,...,x
in
]
ꢀꢀꢀ
公式(14)
[0116]
2.种群初始化设计
[0117]
在初始化种群时,随机产生的种群中可能存在很多不可行解,导致后期需要很多次迭代才能产生可行解,进而会使算法寻优效率下降,过多的不可行解严重影响算法求解精度和收敛速度。因此,本发明设计了基于轮盘赌的种群初始化策略,以cpu利用率为指标进行轮盘赌,剩余cpu资源越多的物理机有更大概率放置虚拟机。图7为本发明实施例提供的一种虚拟机轮盘赌初始化方法示意图。如图7所示,pm1所对应的10%为pm1剩余资源占所有运行中物理机剩余资源的比例。剩余资源越多,轮盘所占的面积越大,被选中做宿主机的概率越大。
[0118]
3.评价函数
[0119]
评价函数即优化目标,用来评价种群中个体的优劣,表示个体所代表的虚拟机放置方案的优劣性。
[0120]
虚拟机重分配问题是一个多目标优化问题,拥有多个评价函数。针对虚拟机初始放置问题,本发明采用第二节所提出来的优化目标,作为该问题的评价函数,见公式(5)、(7)、(9)。
[0121]
4.多目标优化
[0122]
本发明使用pareto最优理论来处理虚拟机放置问题中的多目标优化。在种群中,若不存在任何一个除xi的个体优于xi,则称xi为pareto最优解。所有pareto最优解构成的集合称为pareto最优解集
[0123]
假设种群中存在m个个体,对一个个体进行一次pareto最优解的比较在最差的情况下需要进行m-1次,对所有个体进行pareto最优解的比较在最差的情况下需要进行m
×
(m-1)次。
[0124]
5.迭代更新设计
[0125]
布谷鸟种群通过莱维飞行机制完成种群迭代更新。莱维飞行是一种大步长和短步长相间的一种游走方式。局部短距离随机移动过程可以描述为:
[0126][0127]
x
it
表示第t代种群中第i个个体,α为步长控制因子,s表示步长,表示两个向量的点乘,h(
·
)为单位阶跃函数,pa为短距离行走和长距离飞行的切换开关,一般取值为0.25,ε是从均匀分布中抽取的随机数,x
jt
和x
kt
是随机选择的两个解。全局长距离移动的过程可以描述为:
[0128][0129][0130]
其中,l(s,λ)表示随机搜索路径,γ(λ)是伽马函数。对于每一代的pareto最优解集,将其定义为精英。在每轮迭代时,对精英进行高斯扰动,增加其接近最优解的概率。对于
精英个体进行高斯扰动操作:
[0131]
x
it 1
=x
it 1
βg(ε)
ꢀꢀꢀ
公式(18)
[0132]
其中,β为缩放因子,g(ε)为一组服从高斯分布的随机数,维度与x
it 1
相同。
[0133]
s130、基于虚拟机迁移策略迁移虚拟机。
[0134]
为了验证vmmp-dimocs策略在提高资源利用率、降低能耗和维持负载均衡等方面的优势,本发明在cloudsim4.0平台上设计并实现了基于动态整合和改进多目标布谷鸟搜索算法的虚拟机迁移策略vmmp-dimocs,并且与基于人工免疫系统的改进克隆选择算法的虚拟机调度策略、布谷鸟搜索算法进行了对比。对比策略如表1所示。
[0135]
表1对比策略
[0136][0137][0138]
为了避免虚拟机迁移对虚拟机放置结果的影响,本发明设计的实验采用无迁移的虚拟机放置策略。算法参数如表2所示。其中,m、n分别为物理机数量和待放置虚拟机数量。
[0139]
表2算法参数设置
[0140][0141]
本发明主要研究虚拟机动态迁移对云平台资源利用率、资源损耗度、能耗的影响,不同的物理机、虚拟机的数量和配置,会产生不同的结果。为了验证算法的有效性,本发明设计了多个实验场景,对比每种算法在每个场景下的运行结果。为保证数据的可靠性,每个场景将运行15次,然后取15次的平均值作为实验结果。
[0142]
为了贴合实际,本发明设计了3种不同的物理机配置,如表3所示。同时设计了几种不同的虚拟机配置,具体参数规格如表4所示。其中,空载功耗为物理机cpu利用率为0%时的功耗,满载功耗为cpu利用率为100%时的功率。为了便于后续实验,本发明为异构环境下的物理机和虚拟机设置了数量比例,在不同数量下各物理机、虚拟机类型比例保持不变。
[0143]
表3物理机规格
[0144][0145]
表4虚拟机规格
[0146][0147][0148]
实验采用的性能评价指标如表5所示。
[0149]
表5性能评价指标
[0150][0151]
(1)综合资源利用率对比
[0152]
实验中设计云平台拥有100台异构物理机,物理机型号和比例见表3。分别请求100、200、300、400、500台虚拟机,虚拟机规格及比例见表4。设定一批云任务随机分配给虚拟机。在云平台运行中,随机给一批虚拟机扩容、销毁,模拟真实云平台环境。
[0153]
图8为本发明实施例提供的一种云平台综合资源利用率图。从图8可以看出,综合资源利用率和虚拟机数量无线性关系。在虚拟机数量为100时,由于云平台初始开启的物理机数量足以满足虚拟机需求,3种策略的综合资源利用率接近。当虚拟机规模变大时,相对于其他两种策略,策略3使用的布谷鸟搜索算法未经过改进,难以在有效时间内找到最优解,故策略3的综合资源利用率最低。虚拟机数量达到300时,综合资源利用率基本稳定,受活跃物理机数量、虚拟机生命周期和各策略迁移方案的影响,各策略表现各不相同。策略1以综合资源利用率为优化目标,注重在可行解集中寻找资源利用率更高的方案,故综合资源利用率比其他两种策略更高,能够更充分利用云平台系统资源。
[0154]
(2)负载失衡度对比
[0155]
图9为本发明实施例提供的一种云平台负载失衡度图。从图9可以看出,在虚拟机数量为100时,由于此时资源充裕,不需要开启额外的物理机,3种策略的负载失衡度接近且
都相对较小。当虚拟机规模增加到300时,3种策略的资负载失衡度都有基本稳定。策略3采用的cs算法寻优能力较弱,体现在负载失衡度相较于其他策略高。策略1在虚拟机整合、放置阶段,考虑了资源损耗问题,并以负载失衡度为优化目标,在降低负载失衡方面上优于其他两种策略。
[0156]
(3)能耗对比
[0157]
图10为本发明实施例提供的一种云平台总能耗图。从图10可以看出,云平台能耗与虚拟机数量存在一定的线性关系。在虚拟机数量为100时,数据中心初始物理机数量完全满足,此时在能耗方面3种策略的能耗接近。策略2以能耗为优化目标,通过基于约束的虚拟机整合模型来最小化活跃物理机数量,特别是在异构环境中能够降低能耗。故策略2相对于其他2种策略,在降低能耗方面更有优势。
[0158]
(4)sla违背率对比
[0159]
图11为本发明实施例提供的一种云平台sla违背率图。从图11可以看出,虚拟机数量为100时,数据中心提供的资源大于虚拟机所需求的,故此时三种策略的sla违背率为0。随着虚拟机数量的增加,sla违背率趋于平稳。策略2由于过度优化能耗,导致数据中心活跃物理机数量降低,虚拟机分布紧密,抢占资源导致sla违背率升高。策略2将sla违背率作为优化目标之一,在sla违例率方面优于其他两种方法,能够在云平台运行中保障用户的服务质量。
[0160]
(5)虚拟机迁移次数对比
[0161]
图12为本发明实施例提供的一种平台虚拟机迁移次数图。从图6-12可以看出,当虚拟机规模为100时,三种策略虚拟机迁移次数最少。当虚拟机规模扩大时,策略2为了维持低能耗的状态,需要频繁的虚拟机整合迁移,需要较多的迁移次数来完成低能耗的状态。而策略1在虚拟机整合阶段,筛选出待迁移虚拟机和待迁入物理机,提高了虚拟机迁移效率,减少了虚拟机迁移次数,故在虚拟机迁移次数方面优于其他两种策略。
[0162]
通过上述实验得出如下结论:在异构物理机集群环境下,与其它策略相比,本文所提出的虚拟机迁移策略vmmp-dimocs在异构能够充分利用物理资源,提高综合资源利用率、维持负载均衡、保障用户服务质量,同时在一定程度上降低了能耗。
[0163]
如此,本发明实施例从四个维度的资源出发,以资源利用率、负载均衡、能耗为优化目标,建立了虚拟机动态迁移多目标优化模型,提出了基于动态整合和改进多目标布谷鸟搜索算法的虚拟机迁移策略。该策略可以精准地筛选出待迁移虚拟机和待迁入物理机,并利用改进的多目标布谷鸟搜索算法对虚拟机重分配问题进行求解。如此,能够有效减少虚拟机迁移次数,降低虚拟机调度域的宿主机数量,提高算法运行速度。与现有方法进行对比,本发明提供的方案能够提高综合资源利用率、保障负载均衡、降低能耗。
[0164]
图13为本发明实施例提供的一种虚拟机的迁移装置的结构示意图,如图13所示,包括:模型获取模块20,策略生成模块21和迁移模块22。
[0165]
所述模型获取模块20,用于获取虚拟机动态迁移多目标优化模型,所述虚拟机动态迁移多目标优化模型的优化目标包括能耗、资源利用率和负载均衡度;
[0166]
所述策略生成模块21,用于根据所述虚拟机动态迁移多目标优化模型和布谷鸟算法,生成虚拟机迁移策略;
[0167]
所述迁移模块22,用于基于所述虚拟机迁移策略迁移虚拟机。
[0168]
本实施例提供的虚拟机的迁移装置为实现上述实施例的虚拟机的迁移方法,本实施例提供的虚拟机的迁移装置实现原理和技术效果与上述实施例类似,此处不再赘述。
[0169]
可选的,所述虚拟机动态迁移多目标优化模型为max{u
avg
,rd,e},所述虚拟机动态迁移多目标优化模型的约束条件为
[0170]
其中,u
avg
为云平台的综合资源利用率,rd为所述云平台总的负载失衡度,e为所述云平台的电源消耗功率,m为所述云平台活跃物理机数量,n为所述云平台运行中的虚拟机数量,i、j分别代表物理机、虚拟机序号,物理机pmi上放置着k台虚拟机,θ为物理机在保障用户服务质量情况下所能提供最大资源的比例,r={cpu、mem、bw、disk},cpu、mem、bw、disk分别表示中央处理器cpu大小、内存大小、带宽大小、磁盘大小。
[0171]
可选的,策略生成模块21,具体用于确定待迁移虚拟机和待迁入物理机;根据所述虚拟机动态迁移多目标优化模型,对所述布谷鸟算法进行优化,得到多目标布谷鸟算法;根据所述多目标布谷鸟算法,为所述待迁移虚拟机和所述待迁入物理机生成虚拟机重分配方案。
[0172]
可选的,策略生成模块21,具体用于确定物理机的状态,所述物理机的状态包括低载状态、超载状态、正常状态和休眠状态;计算虚拟机负载和物理机资源,所述物理机资源为处于非休眠状态下的所有物理机提供的资源;根据所述物理机的状态、所述虚拟机负载和所述物理机资源,确定所述待迁移虚拟机和所述待迁入物理机。
[0173]
可选的,策略生成模块21,具体用于判断所述虚拟机负载是否小于所述物理机资源;若是,则确定目标低载物理机,并将所述目标低载物理机对应的所有虚拟机放入待迁移虚拟机队列、将所述目标低载物理机添加到休眠物理机列表中、将低载物理机列表中除所述目标低载物理机的剩余低载物理机和正常物理机放入待迁入物理机队列,其中,在低载物理机列表中移除所述目标低载物理机后所述物理机资源仍旧大于或者等于所述虚拟机负载;若否,则确定并开启目标休眠物理机,将所述目标休眠物理机和正常物理机放入待迁入物理机队列,其中,在开启所述目标休眠物理机后所述物理机资源大于或者等于所述虚拟机负载。
[0174]
可选的,若存在超载物理机,策略生成模块21,还用于遍历超载物理机列表,将所述超载物理机上的虚拟机按虚拟机占用体积大小顺序排序,优先将体积大的虚拟机放入待迁移虚拟机队列,直到所述超载物理机恢复正常为止。
[0175]
可选的,所述多目标布谷鸟算法中,布谷鸟的卵构成种群,种群中每一颗卵代表一个虚拟机放置方案,通过迭代更新种群,寻找种群中最优的个体作为所述虚拟机重分配方案;每一颗卵具有3个属性:云平台综合资源利用率、资源损耗度、能耗。
[0176]
本发明实施例还提供了一种电子设备,包括:处理器,处理器用于在执行计算机程序时实现具有上述实施例任一特征的方法。
[0177]
图14示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助
理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0178]
如图14所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom12以及ram13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
[0179]
电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0180]
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如虚拟机的迁移方法。
[0181]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0182]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0183]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0184]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0185]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献