计算机应用   2017, Vol. 37 Issue (9): 2547-2550  DOI: 10.11772/j.issn.1001-9081.2017.09.2547
0

引用本文 

赵春, 闫连山, 崔允贺, 邢焕来, 冯斌. 基于动态调整阈值的虚拟机迁移算法[J]. 计算机应用, 2017, 37(9): 2547-2550.DOI: 10.11772/j.issn.1001-9081.2017.09.2547.
ZHAO Chun, YAN Lianshan, CUI Yunhe, XING Huanlai, FENG Bin. Dynamic adjusting threshold algorithm for virtual machine migration[J]. Journal of Computer Applications, 2017, 37(9): 2547-2550. DOI: 10.11772/j.issn.1001-9081.2017.09.2547.

基金项目

国家自然科学基金资助项目(61401374);中国铁路总公司重大项目(2016X008-D)

通信作者

闫连山, lsyan@home.swjtu.edu.cn

作者简介

赵春(1992-), 女, 四川成都人, 硕士研究生, 主要研究方向:数据中心节能调度;
闫连山(1971-), 男, 山东招远人, 教授, 博士, 主要研究方向:光通信、物联网、软件定义网络;
崔允贺(1987-), 男, 山东济宁人, 博士研究生, 主要研究方向:软件定义网络、网络安全;
邢焕来(1983-), 男, 河北唐山人, 副教授, 博士, 主要研究方向:进化计算、网格编码;
冯斌(1991-), 男, 四川成都人, 硕士研究生, 主要研究方向:数据中心带宽分配

文章历史

收稿日期:2017-02-26
修回日期:2017-04-26
网络出版时间:2017-08-15 09:37:19
基于动态调整阈值的虚拟机迁移算法
赵春, 闫连山, 崔允贺, 邢焕来, 冯斌    
西南交通大学 信息科学与技术学院, 成都 611756
摘要: 针对当前数据中心服务器能耗优化和虚拟机迁移时机合理性问题,提出一种基于动态调整阈值(DAT)的虚拟机迁移算法。该算法首先通过统计分析物理机历史负载数据动态地调整虚拟机迁移的阈值门限,然后通过延时触发和预测物理机的负载趋势确定虚拟机迁移时机。最后将该算法应用到实验室搭建的数据中心平台上进行实验验证,结果表明基于DAT的虚拟机迁移算法比静态阈值法关闭的物理机数量更多,云数据中心能耗更低。基于DAT的虚拟机迁移算法能根据物理机的负载变化动态迁移虚拟机,达到提高物理机资源利用率、降低数据中心能耗、提高虚拟机迁移效率的目的。
关键词: 数据中心    能耗    虚拟机迁移    预测    资源利用率    
Dynamic adjusting threshold algorithm for virtual machine migration
ZHAO Chun, YAN Lianshan, CUI Yunhe, XING Huanlai, FENG Bin     
School of Information Science and Technology, Southwest Jiaotong University, Chengdu Sichuan 611756, China
Abstract: Aiming at the optimization of servers' energy consumption in data center and the reasonable migration time of Virtual Machine (VM), a VM migration algorithm based on Dynamic Adjusting Threshold (DAT) was proposed. Firstly, the migration threshold was dynamically adjusted by analyzing the historical load data acquired from Physical Machine (PM), then the time for migrating VMs was decided by the delay trigger mechanism and the PM load trend prediction. The VM migration algorithm based on DAT was tested on datacenter platform in the laboratory. Experimental results indicate that compared with the static threshold method, the number of the shut down PMs of the proposed algorithm is larger, and the energy consumption of the data center is lower. The VM migration algorithm based on DAT can dynamically migrate VMs according to the variation of PM load, thus improving the utilization of resources and the efficiency of VM migration, reducing the energy consumption of the data center.
Key words: data center    energy consumption    Virtual Machine (VM) migration    prediction    resource utilization rate    
0 引言

随着信息产业朝着移动化、数字化、智能化方向的不断推进,一些新兴信息服务模式如物联网、智慧城市、软件定义网络正在逐步改变人们的生活。近年来,云计算和大数据技术的快速发展使当前网络中的数据量急剧增加,导致数据中心规模日益增大。大规模的数据中心由于其能量消耗的急剧上升,不仅增加了数据中心的运维成本,而且增加了碳排放,对环境也造成了间接的影响,如何降低数据中心的能耗逐渐成为当前的研究热点[1-3]。当前全球数据中心的物理机(Physical Machine, PM)资源大多数都没有得到充分利用[4],这导致数据中心有较多的物理机闲置,而一个空闲物理机的能耗大约是其峰值能耗的70%[5]。虚拟机(Virtual Machine, VM)整合技术通过虚拟机的动态迁移能够将数据中心中的虚拟机整合到少数物理机上,不仅实现了资源的最大化利用和节能减排目的,且有助于数据中心的资源管理。此外,不断更新的硬件产品能够增强对虚拟化的支持,使得虚拟机整合技术成为数据中心节能的重要手段。

在虚拟机整合过程中,最关键的步骤是虚拟机迁移触发时机的判断,而对触发机制的研究分为静态阈值触发机制[6-7]和动态阈值触发机制[8-12]。文献[6-7]都是基于静态阈值的虚拟机迁移触发机制,其为CPU利用率设定一个阈值门限,若物理机的CPU利用率不在此范围内则采取相应的迁移策略以达到降低过载节点资源使用率或者关闭空闲节点实现节能的目的。

由于物理机负载随虚拟机对资源的需求不断变化而变化,而静态阈值触发机制不能根据物理机的负载变化对迁移阈值进行动态调整,所以静态阈值触发机制存在着固有的缺陷。针对该缺陷,文献[10]提出了一种统计分析物理机历史CPU利用率来实现虚拟机迁移的触发机制。此方法不但考虑了一段时间内物理机的负载情况,还针对不同物理机设置不同阈值,提高了资源利用率,减少了不必要的虚拟机迁移,降低了数据中心能耗;但历史负载数据中存在较多离群点时会对结果造成较大影响,此方法的适用性也会被大大削弱。文献[11]提出了一种动态阈值触发机制,周期性地利用每个物理机CPU利用率历史值的绝对中位差和四分位差设置高低阈值。该文中使用了一千多个真实虚拟机动态变化的负载数据进行算法仿真,结果表明该算法不仅能有效降低数据中心能耗,而且还减小了文献[10]中由于历史负载中存在离群点对阈值设置造成偏差的影响。文献[12]提出了一种基于多资源预测方法的虚拟机迁移触发机制。该方法基于线性回归模型对每种物理机资源都利用过去t-1个时刻负载的线性组合来预测物理机下一时刻的负载值,当预测值不在设定的阈值范围内时就进行虚拟机迁移。在无离群点影响的情况下,基于时间序列模型的虚拟机迁移触发机制能根据历史负载对资源需求作较精确的判断以减少不必要的虚拟机迁移,降低迁移代价;但当模型阶数较大时,离群点的权值系数越大,预测结果越不理想。

综上所述,针对虚拟机迁移触发时机研究的不足,本文提出一种基于动态调整阈值(Dynamic Adjusting Threshold, DAT)的虚拟机迁移算法。

1 问题描述

针对虚拟机迁移触发时机的研究,大多数算法都是考虑物理机的CPU、内存、带宽三种资源的使用率。本实验室的数据中心实验平台是基于OpenStack搭建的,而OpenStack通过使用超售手段将各计算节点原有的CPU个数乘以一个大于1的系数对外提供CPU资源,这种做法容易造成由于争抢CPU资源而导致用户业务暂停,降低数据中心的业务连续性。所以,本文针对虚拟机迁移触发时机的研究主要以物理机的CPU资源使用率作为主要参数。

图 1描述了一个典型数据中心4台物理机的资源使用情况。假定该数据中心的虚拟机迁移阈值门限设置为[40%, 80%]。从图 1可以看出,PM3和PM4处于欠载状态,即PM3和PM4的CPU利用率低于设置的虚拟机迁移下阈值,此时将触发虚拟机的下限迁移。若将PM3和PM4上的虚拟机分别迁移到PM1和PM2上,PM1和PM2的CPU利用率都将大于80%,该CPU利用率超出了PM1和PM2的虚拟机迁移上阈值,因此不能将PM3和PM4上的虚拟机迁移到PM1和PM2上。图 2是经过阈值调整后物理机资源的使用情况,经过阈值调整后的虚拟机迁移上阈值为85%,此时可以将PM3和PM4上的虚拟机分别迁移到PM1和PM2上,并能够关闭PM3和PM4节点以减小数据中心能耗。

图 1 数据中心物理机资源使用情况 Figure 1 Resource usage of data center PMs
图 2 阈值调整后物理机资源使用情况 Figure 2 Resource usage of data center PMs after adjusting thresholds

本文提出的虚拟机迁移触发算法可以根据物理机负载情况来动态调整触发虚拟机迁移的上下阈值。当物理机负载波动较小,即物理机过载的概率较小时,调整阈值范围不仅能够使单个物理机容纳更多的虚拟机进而能够提高物理机的资源利用率,还能够关闭欠载物理机以达到优化数据中心能耗的目的。

本文算法的目的是降低数据中心的能量消耗,而数据中心的能耗主要由物理机能耗、制冷设备能耗和供电设备能耗组成,本文主要考虑物理机能耗。单个物理机的能耗[13]定义如下:

${{E}_{\text{PM}}}=\int_{t}^{t+\Delta t}{({{P}_{\text{idle}}}+({{P}_{\text{busy}}}-{{P}_{\text{idle}}})*u(t))\text{d}t}$ (1)

其中:Pidle为物理机空闲时功率,Pbusy为物理机满载时功率,u(t)为物理机CPU利用率。

数据中心总能耗定义为:

${{E}_{\text{datacenter}}}=\sum\limits_{i=1}^{n}{{{E}_{P{{M}_{i}}}}}$ (2)

由数据中心能耗公式可以直观看出,活跃物理机个数越少,数据中心能耗越小。

2 基于动态调整阈值的虚拟机迁移算法

本章介绍一种通过统计分析物理机历史负载来动态调整虚拟机迁移阈值门限触发虚拟机整合的算法。该算法首先判定物理机负载程度,再对负载进行预测,以达到更加准确地选择虚拟机迁移触发时机的目的。

该算法主要根据物理机负载平稳性对虚拟机迁移阈值进行动态调整。物理机负载平稳性定义如下:

${{P}_{\text{load}}}=\sqrt{\frac{1}{n}\sum\limits_{i=1}^{n}{{{({{x}_{i}}-{{x}_{\text{avg}}})}^{2}}}}$ (3)

其中:xi为第i个时刻的物理机负载,xavg为历史负载均值。Pload越小说明物理机负载波动越小,处于高负载状态的物理机过载概率越小;而处于低负载状态的物理机上的虚拟机负载趋于平稳,将其上的虚拟机迁移到其他物理机上发生过载的概率也越小。

基于DAT的虚拟机迁移算法使用自回归模型对未来时刻负载作预测,第t时刻物理机CPU利用率的预测值定义为:

${{x}_{n+1}}=\sum\limits_{j=1}^{n}{{{\alpha }_{j}}{{x}_{n+1-j}}}+{{e}_{t}}$ (4)

其中:αj表示自回归系数,xn-j表示第n-j个时刻的物理机负载,et表示满足正态分布的噪声。

本文提出的基于动态调整阈值的虚拟机迁移触发算法伪代码如算法1所示。

算法1  基于动态调整阈值的虚拟机迁移算法。

输入  物理机历史负载数据列表Historical_Load;

1)   Historical_Load.remove(max and min)

2)   count←len(Historical_Load)

        /*判定物理机负载波动等级*/

3)   if Ploadload_high then

4)   S←[Tlow, Thigh]       /*基础阈值*/

5)   else if load_lowPloadload_high then

6)   S←[Tlowt, Thight]

7)   else if Pload ≤load_low then

8)  S←[Tlow+2Δt, Thigh+2Δt]

9)   for j in Historical_Load do

10)   if jThigh then

11)    count_high++;

12)   else if jTlow then

13)   count_low++;

14)   end

15)   if count_high/countp & & X(t)>Thigh then

                                    /*物理机过载*/

16)   migrate VMs from overload PM

17)   else if count_low/countp & & X(t)<Tlow then

                                    /*物理机欠载*/

18)   migrate VMs from underload PM

算法1首先借鉴稳健统计思想淘汰历史负载数据中的最大值和最小值,进而降低离群点对算法的影响(第1) 行)。本文将基础阈值范围S设为[40%, 80%],调整幅度Δt=5%,负载波动范围分两个等级:5%和10%。若负载平稳且波动相对较大,将上阈值和下阈值分别调大一个幅度;若负载平稳且波动相对较小,将上阈值和下阈值分别调大两个幅度(3) ~8) 行)。当物理机处于高负载状态时,负载波动越大越容易出现资源需求得不到满足的情况。所以,波动相对较大的物理机上阈值调整幅度小,波动相对较小的物理机上阈值调整幅度大。将虚拟机迁移上阈值调大使物理机能够容纳更多的虚拟机;将下阈值调大可以关闭更多的物理机,节约的能耗也越多。最后通过延时触发和利用自回归模型使虚拟机迁移触发时机更加准确(9) ~18) 行)。在此步骤中的p属于一个经验值,本文取0.5。

3 实验与结果分析

基于虚拟机整合实现节能的算法大多是基于CloudSim平台进行仿真验证,本文则在真实的数据中心环境进行了实验。为了验证算法性能,本文对比了基于DAT的虚拟机迁移算法(以下简记为DAT)和基于静态阈值的虚拟机迁移算法——能量感知的虚拟机迁移算法(Energy Aware Migration, EAM)[14]在能量消耗、活跃物理机个数和虚拟机迁移效率等三方面的性能差异。

3.1 实验环境

实验室的云数据中心平台基于OpenStack进行搭建,其包含1个控制节点、1个网络节点和8个计算节点。上述10个节点均为型号为ThinkServer RD640的服务器,物理机和虚拟机的具体配置如表 1所示。实验过程中使用力创功率计记录数据中心能耗值。

表 1 物理机和虚拟机配置 Table 1 Configuration of PMs and VMs
3.2 实验结果

实验过程如下:首先在数据中心随机创建40个虚拟机,且保证每个物理机上至少创建一个虚拟机;再随机在14个虚拟机上运行计算π值的蒙特卡罗算法应用,分别使用DAT和EAM对虚拟机进行整合。实验分5组进行,每组实验均使用力创功率计每隔5 min采集一次数据中心能耗值,共采集12次,并在1 h后记录虚拟机的迁移次数和关闭物理机个数,最后进行数据整理。

图 3为上述实验中具有代表性的数据中心间隔能耗图。如图 3所示,DAT和EAM在第一个能耗间隔内首先检测到有一台物理机欠载,将其上的虚拟机迁移出去并关闭该物理机。由于DAT能动态调整虚拟机迁移阈值,所以在前两个间隔内,其比EAM多关闭了两台负载平稳的物理机。所以EAM在第一个间隔内能耗值呈下降趋势,DAT在前两个间隔内呈下降趋势,且DAT减少的能耗更多。由图 3可知,DAT能够根据物理机负载平稳性自动调整虚拟机迁移的阈值门限,并且能够对负载趋势进行预测,所以该算法能够关闭更多轻负载物理机使数据中心能耗更低。图 4为执行上述两种算法和未作虚拟机整合时数据中心一个小时内的能耗值。在第3次实验中,由于7台物理机的CPU利用率均在阈值门限经DAT调整后的范围内,所以DAT的节能效果和EAM一样。与未作虚拟机整合相比,DAT能耗节省了将近24.8%,而EAM节省了9.8%。总体来看,基于DAT的虚拟机迁移算法在节能方面有更突出的优势。

图 3 等间隔时间内的数据中心能耗 Figure 3 Energy consumption of data center in equal intervals
图 4 1 h内数据中心能耗 Figure 4 Energy consumption of data center in an hour

表 2为5组实验中DAT和EAM分别对数据中心进行虚拟机整合并运行1 h后统计的关闭物理机数量。从数据中心的能耗值公式(2) 可知,数据中心的活跃物理机个数越少,其能量消耗也就越小。表 2直观地反映了DAT比EAM关闭的物理机更多,节约的能耗也越多。

表 2 关闭物理机数量 Table 2 Number of shut down PMs

表 3为五组实验中DAT和EAM的虚拟机迁移效率对比,此处的虚拟机迁移效率定义如下:

表 3 虚拟机迁移效率       % Table 3 VMs migration efficiency       %
$ME\text{=}\frac{关闭的\text{PM}数量\text{ }}{虚拟机迁移次数}\times 100\%$ (5)

虚拟机迁移效率反映了虚拟机迁移次数和关闭物理机个数之间的关系,虚拟机迁移次数越少,关闭物理机个数越多,虚拟机的迁移效率也越高。在第五次实验中,EAM没有触发虚拟机迁移的阈值条件,未能关闭任意一台物理机,所以虚拟机迁移效率为0。由表 3可知,DAT的虚拟机迁移效率整体上要比EAM高。

总体来看,针对虚拟机整合问题,本文提出的基于DAT的虚拟机迁移算法比基于静态阈值的虚拟机迁移算法的综合效果更好。

4 结语

本文针对数据中心能耗优化问题提出了基于动态调整阈值的虚拟机迁移触发机制,该机制根据物理机历史负载数据界定负载波动等级来动态调整虚拟机迁移的阈值门限。最后在真实的云数据平台上通过实验对提出的基于DAT的虚拟机迁移算法进行了验证,结果表明相比基于静态阈值的虚拟机迁移算法,本文算法能够提高数据中心内物理机资源利用率、降低数据中心能耗、提高虚拟机的迁移效率。下一步的工作是将本文提出的动态阈值调整算法应用到大型数据中心的节能减排项目中。

参考文献(References)
[1] KANG D-K, ALHAZEMI F, KIM S-H, et al. Dynamic virtual machine consolidation for energy efficient cloud data centers[C]//Proceedings of the 6th International Conference on Cloud Computing, LNICST 167. Berlin:Springer, 2016:70-80.
[2] ARROBA P, MOYA J M, AYALA J L, et al. Dynamic voltage and frequency scaling-aware dynamic consolidation of virtual machines for energy efficient cloud data centers[J]. Concurrency and Computation:Practice and Experience, 2016, 29(10).
[3] LI H, ZHU G, CUI C, et al. Energy-efficient migration and consolidation algorithm of virtual machines in data centers for cloud computing[J]. Computing, 2016, 98(3): 303-317. DOI:10.1007/s00607-015-0467-4
[4] VMware, server consolidation overview, building a virtual infrastructure[EB/OL]. (2009)[2016-11-13]. https://www.vmware.com/solutions/consolidation.html.
[5] FAN X B, WEBER W D, BARROSO L A. Power provisioning for a warehouse-sized computer[C]//ISCA' 07:Proceedings of the 34th Annual International Symposium on Computer Architecture. New York:ACM, 2007:13-23.
[6] MURTAZAEV A, OH S. Sercon:server consolidation algorithm using live migration of virtual machines for green computing[J]. IETE Technical Review, 2011, 28(3): 212-231. DOI:10.4103/0256-4602.81230
[7] HSU C-H, SLAGTER K D, CHEN S-C, et al. Optimizing energy consumption with task consolidation in clouds[J]. Information Sciences, 2014, 258: 452-462. DOI:10.1016/j.ins.2012.10.041
[8] MAURYA K, SINHA R. Energy conscious dynamic provisioning of virtual machines using adaptive migration thresholds in cloud data center[J]. International Journal of Computer Science and Mobile Computing, 2013, 2(3): 74-82.
[9] TAKOUNA I, ALZAGHOUL E, MEINEL C. Robust virtual machine consolidation for efficient energy and performance in virtualized data centers[C]//Proceedings of 2014 IEEE International Conference on Internet of Things/IEEE International Conference on Green Computing and Communications/IEEE International Conference on Cyber-Physical-Social Computing. Washington, DC:IEEE Computer Society, 2014:470-477.
[10] CAO Z, DONG S. Dynamic VM consolidation for energy-aware and sla violation reduction in cloud computing[C]//PDCAT' 12:Proceedings of the 201213th International Conference on Parallel and Distributed Computing, Applications and Technologies. Washington, DC:IEEE Computer Society, 2012:363-369.
[11] BELOGLAZOV A, BUYYA R. Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers[J]. Concurrency and Computation:Practice and Experience:Special Issue on Middleware for Clouds and e-Science, 2012, 24(13): 1397-1420. DOI:10.1002/cpe.v24.13
[12] HIEU N T, FRANCESCO M D, YLAJAASKI A. Virtual machine consolidation with usage prediction for energy-efficient cloud data centers[C]//Proceedings of the 8th IEEE International Conference on Cloud Computing. Piscataway, NJ:IEEE, 2015:750-757.
[13] ECONOMOU D, RIVOIRE S, KOZYRAKIS C, et al. Full-system power analysis and modeling for server environments[EB/OL].[2016-12-04]. http://rivoire.cs.sonoma.edu/research/pubs/economou.2006.mantis.mobs.slides.pdf.
[14] AL SHAYEJI M H, SAMRAJESH M D. An energy-aware virtual machine migration algorithm[C]//ICACC' 12:Proceedings of the 2012 International Conference on Advances in Computing and Communications. Washington, DC:IEEE Computer Society, 2012:242-246.