云数据中心基于组的多虚拟机迁移策略

2022-04-13 05:02徐胜超熊茂华叶力洪
关键词:能量消耗代价机组

徐胜超,熊茂华,叶力洪

(广州华商学院 数据科学学院,广东 广州 511300)

虚拟机迁移是绿色节能云数据中心的构造的关键技术,可以使云数据中心的物理资源充分利用起来,提高云服务提供商的服务质量,降低企业成本,所以近年来得到了广泛的研究[1−4].

虚拟机迁移的过程非常复杂,一类是以Cloudsim云模拟器工具包为平台及其相关研究的虚拟机迁移模型[5−11],另外一大类是通过智能算法完成虚拟机迁移各个过程的优化,例如贪心算法[12]、粒子群优化算法[13]、萤火虫群优化算法[14]、遗传算法[15]、蚁群算法[16]和蛙跳算法[17]等.2012~2017年国内外提出的虚拟机迁移模型在迁移的时候考虑的因素固定在某个单独维度(比如宿主机的CPU的利用率、内存的大小和剩余磁盘空间)[10−12],2018~2020年提出的虚拟机迁移模型考虑的因素呈现多维趋势(比如同时考虑宿主机的网络带宽、处理器温度情况、主频大小、磁盘空间和网络接口等),甚至也考虑软件因素(宿主机的负载情况).同时最近三年云数据中心的能量消耗模型的设计也在不断的改进,不断地更加接近于真实的能量消耗,例如文献[2]中提到的花授粉算法的虚拟机迁移模型,文献[3]中提到的容器云的虚拟机迁移模型,文献[16]中提到的改进的蚁群算法的虚拟机迁移模型.

上述所描述的虚拟机迁移策略都取得了较好的效果,但是大部分都以单虚拟机迁移为主要研究对象.近年来也有少量的以多虚拟机迁移为对象的研究,考虑的是多个虚拟机同时迁移时间、迁移次数和通信代价等指标.多虚拟机迁移策略可以在一定程度少减少迁移次数,从而间接地降低物理主机的能量消耗,也有自己的优点[18−19],近三年来的多虚拟机迁移模型的提出越来越少,云计算平台的虚拟化技术逐步在向容器技术和边缘计算技术转化.

在目前多虚拟机迁移策略的研究中,并没有考虑当时的云数据中心的资源的运行状态,也没有对多虚拟机迁移的时间和通信成本进行建模分析从而导致了比较低的迁移效果[20−21].另外虚拟机在线迁移后对物理主机的响应时间的影响也是值得考虑的问题.针对上述分析,提出了一种基于组的多虚拟机迁移策略GBM-VMM(Group Based Multi-virtual Machine Migration Model),是一种多虚拟机迁移模式,在虚拟机组选择的过程中,考虑了虚拟机迁移的时间代价和额外的能量消耗对主机响应时间的影响,根据资源的运行状态及剩余虚拟机的连接度(Degree of Connection,DoC)来完成候选迁移虚拟机组的形成.GBMVMM虚拟机迁移策略通过Cloudsim工具包来实现和仿真,仿真结果表明迁移时间代价、总体迁移代价和物理主机的响应时间都比较小,对其他企业构造节能绿色云数据中心具有很好的参考价值.

1 多虚拟机迁移问题及建模

1.1多虚拟机迁移问题定义当云数据中心的物理主机的资源超负载运行的时候,虚拟机迁移过程将启动,把虚拟机从超负载的物理主机迁移到另外一台正常的物理主机之上.不同的迁移策略将产生不同的迁移过程,这些迁移结果将直接影响到云数据中心的各个性能指标.图1为2个不同的虚拟机迁移策略,单虚拟机迁移和多虚拟机迁移.

图1 2种不同的虚拟机迁移模型

图1中物理主机1超负载,运行的多个虚拟机需要迁移到另外一个节点.按照图1a的办法单虚拟机模式,VM3被选择出来并迁移到物理主机2,这是因为物理主机1和物理主机2位置上比较接近,通信成本低.物理主机的位置距离可以根据常见的方法进行计算[22].其次,选择迁移VM4,由于物理主机2没有足够的资源容纳VM4,所以将物理主机3作为目标主机.可以看出,存在物理主机选择问题和虚拟机选择问题,这也是上述提到的虚拟机迁移过程中的前2个步骤:物理主机状态检测和虚拟机选择.但是VM3和VM4分别迁移到了物理主机2和物理主机3,迁移了2次,通信量较大,间接增加了硬件能量消耗.在图1b中,VM3和VM4同时都迁移到物理主机3,该过程保证了比较低的通信量,而且只迁移了一次,降低了迁移次数.

1.2多虚拟机迁移描述为了完成虚拟机在处理任务时候的相互合作,虚拟机之间有频繁的通信.因此,采用一个无向图G(V,E)来描述虚拟机之间的关联性.图2中的无向图G(V,E)中顶点表示了虚拟机,边表示了虚拟机之间的通信量的大小.一个虚拟机的属性可以通过其源物理主机、CPU的内核个数和内存的需求3个元素表示,即(PM src,vci,vmi).不失一般性,可以假设在同一个物理主机上的虚拟机是连接在一起,在不同的物理主机上的虚拟机可能是有关联性.图2表示了虚拟机迁移的模型,(PM1,2,2 000)的含义是该虚拟机在物理主机PM1上,对CPU的资源需求是2个核心,内存2 000 MiB,边上的数字表示通信代价的权值.PM1有5个虚拟机:VM1~VM5,{VM3,VM4}、{VM1,VM5}、{VM2}分别组成3组.

图2 多虚拟机迁移模型的元组表示

1.3GBM-VMM迁移代价分析为了便于研究虚拟机迁移过程中的时间代价、虚拟机迁移额外能量消耗代价,分别设计以下数学模型.

迁移时间代价 在虚拟机选择中,在线迁移技术一般采用预复制策略.在线迁移时,从源物理主机到目标物理主机过程中内存中的脏页面通过不停地迭代而传输,虚拟机迁移时间越长,消耗物理资源就越多,对网络通信带宽的影响就越大.因此,采用迁移时间代价来描述虚拟机迁移的代价.

假设预复制算法中持续了ni+1次循环,虚拟机VMi在第k次循环中数据的转化量与传输时间分别记为vi,k和Ti,k(0≤k≤ni).v0=memi*vi,k(k≠0)的产生是由以前的循环轮次中的脏页面来确定,所以有vi,k=r i*Ti,k-1(1≤k≤n)i,r i表示脏页面的传输速率,且表示了网络带宽.因此,时间Ti的计算公式

其中,ni可以根据内存的阈值memth来计算,当超过阈值时,整个循环迭代过程将停止,ni的计算公式

虚拟机在迁移过程中的下载时间

其中,Td_i是转化剩下的内存脏页面的时间,Tresume_i是将虚拟机恢复到目标主机消耗的时间.因此,整个虚拟机VMi迁移的时间代价

能量消耗代价 表示虚拟机在处理任务的时候物理主机产生的额外的能量消耗情况,用虚拟机的资源利用效率来表示.虚拟机的资源利用效率是随着应用程序负载的变化而动态变化.例如,需要从超负载物理主机迁移虚拟机的时候,虚拟机处于高密集性任务状态,其资源使用利用效率非常高.同时,值得注意的是虚拟机资源利用效率还与历史数据密切相关,在过去一段时间具有高资源利用效率的虚拟机一直处于高密集性任务状态,将来也可能一直要处于高密集性任务状态.因此,虚拟机的能量消耗代价

其中,ucpuj和u RAMj分别表示了虚拟机在时刻j的处理器利用效率需求和内存的利用效率需求,t表示了虚拟机迁移的时刻,T表示了虚拟机的历史数据的持续时间.这里使用了虚拟机的历史数据的平均资源利用效率情况,历史数据可以从样本数据中获取.在持续的T时间段内,Δt表示了时间间隔.值得注意的是Cost_E(VMgroup)不一定是具体的能量消耗值,是通过虚拟机的利用效率情况所表示的额外代价.

2 基于组的多虚拟机迁移模型描述

2.1迁移代价目标值的定义由于很难寻找到同时满足2个迁移代价最小的组选择策略,因此,可以把2个指标进行综合,从而达到简化的目的.定义Cost_mig(VMGroup)和Cost_E(VMGroup)的权重来作为整体迁移代价.Cost_mig(VMGroup)和E(VMGroup)通过标准化来排除其之间的差异,所以整体迁移代价的目标值Cost_integrated,

其中,γ是用来控制变量的权重,γ∈[0,1].Cost_integrated的最小值为基于组的多虚拟机迁移模型最合适的迁移组.

2.2迁移代价计算过程采用了贪心策略的方式来确定最优虚拟机组的选择过程.对于一个多虚拟机迁移,存在多个分组的可能性.例如图2中PM1上有3个虚拟机机(VM3,VM4,VM5)需要迁移,有5种分组方法:partition1={{VM3},{VM4},{VM5}},partition2={{VM3,VM4},{VM5}},partition3={{VM3},{VM4,VM5}},parti⁃tion4={{VM3VM5},{VM4}},partition5={{VM3,VM4,VM5}}.因此,必须计算出所有的分组情况,并获得最优的组选择解决办法.

为了保证虚拟机迁移的低通信量,必须将在具有同样连接的虚拟机迁移到一个相同的物理主机上.从图2可以看出,partition4不满足同一连接条件.

算法Algorithm1给了具体的Cost_integrated值的计算步骤和VMGroup i的选择步骤.为了避免频繁的虚拟机迁移操作,GBM-VMM中必须设置物理资源安全范围(Resource Safe Range,SR).当虚拟机迁移之后,如果资源的占用情况还在SR的范围内,表明该物理主机上的虚拟机迁移结束.

在虚拟机迁移模型工作过程中,物理主机1上的可选择的虚拟机组按照图2中的方式环绕.图2中整个物理主机1的资源是(PM1,16,16 000),checkAvailable()函数中SR的范围是[Low,high]=[0.5,0.6],θ边界值的取值是0.5.availableResource()函数用来确定物理主机的资源在容纳了新迁移的虚拟机后是否超过了SR的上限.checkConnected()函数用来确定虚拟机是否具有同一连接.针对每一个分组,计算出虚拟机组VMGroupi选择的最小代价值Cost_integrated.

Algorithm1伪代码如下:

Algorithm 1.CCMS(Calculate Cost and Migration Scheme)

在输入参数中,AdjVM,remVM分别表示了被选择了的虚拟机VMi的相邻的虚拟机,remVM表示了组内所剩余的虚拟机列表.在输出参数中,PMdist,VMmig分别表示源目标物理主机、即将迁移的虚拟机.PMList表示了所有的物理主机列表.

2.3最优虚拟机组的选择过程整个基于组的多虚拟机迁移模型GBM-VMM的伪代码如算法Algo⁃rithm2.因为只有迁移代价最小的VMGroupi可以满足虚拟机迁移的条件,所以算法Algorithm2专门用来计算迁移代价最小<Cost_integrated_VMGroup i,VMmig,PMdist>,当在所有的分组获得了最小Cost_integrated,这样就完成了虚拟机迁移的目标物理主机选择和虚拟机选择的2个过程.

首先选择所有可能虚拟机组VMGroup i作为候选迁移对象,然后启动虚拟机组选择策略,该策略必须包括所有的可能情况,这样可以防止最优迁移策略的丢失.需要转化超负载物理主机的虚拟机关联图在所有的虚拟机组进行选择.选择后该物理主机资源必须在SR的范围内,而且剩余的虚拟机的连接度(De⁃gree of Connection,DoC)达到一个边界值.值得注意的是虚拟机组也可能存在有单虚拟机选择的情况.算法Algorithm2的伪代码描述了虚拟机组选择的具体过程.

物理主机PMk上的虚拟机的数量反映了被选择的虚拟机组的状态.checkAvailable()函数用来确定虚拟机迁移完成后物理主机的资源是否在处于SR的范围内.θ(0<θ<1)表示了连接度DoC必须要达到的边界值.checkConnectNum()函数用来检查相对于剩余的虚拟机,连接在一起的虚拟机的数量是否达到了θ边界值.

如果上述条件都满足,那么虚拟机组选择将进入到下一步,如果没有虚拟机组满足条件,那么使物理主机PMk上的每个虚拟机都作为虚拟机选择组VMGroup i.

3 实验与性能分析

3.1实验环境的构造GBM-VMM虚拟机迁移策略以Cloudsim模拟器工具包作为云数据中心的仿真环境.性能比较对象为FPA-VMM[2]和ACO-VMM[16]2个虚拟机迁移策略,比较其之间的迁移时间代价和额外能量消耗代价.此外,虚拟机迁移额外产生的开销可以用物理主机响应时间来表示.因为物理主机响应时间是体现云数据中心的资源是否充足的体现,所以响应时间也作为GBM-VMM的测试指标.FPAVMM为单虚拟机迁移模型,利用花授粉算法来完成虚拟机的迁移.ACO-VMM是2018年提出的比较先进的虚拟机迁移模型[16].

按照文献[23]的方式设置参数k,完成云数据中心的物理主机的网络拓扑构造,如表1所示.网络带宽为1Gib‧s-1.物理主机之间的位置距离Distance大小通过文献[22]的方式来计算,通过观察样本数据可以得知,在strtucture1条件下可选择的VMGroup大约有148个.

模拟了4个类型的物理主机如表2所示.采用先来先服务的(First Come First Service,FCFS)的方式来完成虚拟机放置.

3.2实验参数设置云客户端可以是一个Web应用程序或者其他一个具有不同类型工作负载的应用程序,用来反映不同的虚拟机请求类型(虚拟机个数为600~3 000).在虚拟机迁移预复制算法中,虚拟机之间带宽的平均值是10 MiBps,标准差是1 MiBps,概率是0.75.在实验中,脏页面的速率设置为100 MiBps,虚拟机之间的通信量可以按照文献[24]的方式来参考.memth设置为100 MiB,Tresume_i设置为20 ms.

设置SR的范围为[0.5,0.8],将参数θ的值设置为0.4.在公式(6)和公式(7)中λ表示了权重,使得数据的统计更加精确,设置λ=0.3,T=3 600 s,Δt=30 s,意味着历史数据选择为近1 h,时间间隔是30 s.在式(9)中计算Cost_integrated的过程中,设置γ=0.5.

3.3实验结果与性能分析

迁移时间代价 首先测试和比较了FPA-VMM[2]和ACO-VMM[16]2个虚拟机迁移策略之间的迁移时间代价,4种拓扑结构下的迁移时间结果比较如表3所示.

从表3~5中可以看出,GBM-VMM少数情况与FPA-VMM和ACO-VMM迁移策略的性能基本类似,但是多数情况性能比较好.当虚拟机数较少时,FPA-VMM迁移时间代价最小.但随着虚拟机数增加,GBMVMM的迁移时间代价小于FPA-VMM迁移和ACO-VMM迁移.这是因为当超负载物理主机数增加时,单虚拟机迁移没有多虚拟机迁移高效,虚拟机迁移次数大大增加,所以迁移时间代价自然超过了基于组的多虚拟机迁移.

表4 拓扑2结构下的迁移时间代价 单位:s

表5 拓扑3结构下的迁移时间代价 单位:s

总体迁移代价 比较在3种网络拓扑结构下GBM-VMM,FPA-VMM和ACO-VMM3个虚拟机迁移策略的总体迁移代价Cost_integrated.从表6~8中可以看出GBM-VMM比FPA-VMM与ACO-VMM总体迁移代价较小.随着虚拟机数的增加,GBM-VMM迁移模型中的总体迁移代价基本呈线性增加,FPA-VMM模型的总体迁移代价增加.这是因为单虚拟机迁移的策略不能获得最优的虚拟机选择结果,导致了那些有关联的虚拟机迁移到了不同的物理主机之上,这样间接地增加了总体迁移代价.

表6 拓扑1结构下总体迁移代价

表7 拓扑2结构下总体迁移代价

表8 拓扑3结构下总体迁移代价

物理主机响应时间 由于虚拟机迁移后会额外增加物理主机的功率消耗,从而会影响到系统的响应时间.比较了GBM-VMM,FPA-VMM和ACO-VMM 3个虚拟机迁移策略的响应时间,比较网络为拓扑1.

图3显示了实验结果.当t=50 s的时候,系统的响应时间较快,此时物理主机的资源非常缺少,客户端得不到快速响应.同时,虚拟机迁移过程开始启动,从图3中可以看出,物理主机执行了2次迁移,响应时间2次较快.

从图3中还可以看出,ACO-VMM模型的响应时间随着虚拟机迁移发生降低很快,但是响应时间受虚拟机迁移过程中影响也很大.GBM-VMM模型的响应时间相对比较平稳,都一直保持在300 ms内,表明GBM-VMM虚拟机迁移模型可以较好地保证云数据中心的可靠性,提高云服务质量.

图3 3个虚拟机迁移策略的响应时间比较

4 小结

提出了基于组的多虚拟机迁移模型GBM-VMM,主要考虑迁移过程中的迁移时间和虚拟机迁移额外功耗最小从而保证了云数据中心的最优性能.GBM-VMM是一种多虚拟机迁移模型,将多个虚拟机形成组的方式同时迁移到目标物理主机,提出了最优虚拟机组选择算法,与单虚拟机迁移方式相比较,可以更好地节省通信量.实验结果表明,与ACO-VMM和FPA-VMM相比较,GBM-VMM迁移模式有迁移代价小和云数据中心客户端响应时间少等优点.

猜你喜欢
能量消耗代价机组
关于间接蒸发冷机组在数据中心中应用的节能分析
核电厂工程建设机组防异物管理与实践
田湾核电5号机组首次并网成功
幸灾乐祸的代价
川航备降机组获“英雄机组”称号,机长刘传健被授英雄机长
幸灾乐祸的代价
代价
热拌沥青混合料生产和施工全过程能耗与排放评价
移动基站无线传感器网络优化研究
代价