数据中心环境下能耗性能感知的优化方法
郭力争1,2, 张翼飞1, 赵曙光2    
1. 河南城建学院 计算机科学与工程学院, 河南 平顶山 467036;
2. 东华大学 信息科学与技术学院, 上海 201620
摘要

针对云计算环境下数据中心高能耗问题, 提出了一种能耗性能感知的虚拟机动态整合方法, 以优化能耗性能.首先通过局部回归分析判定主机是否过载, 利用均值法检测主机是否轻载, 然后根据虚拟机最小迁移时间、最大和最小CPU利用率策略选择要迁移的虚拟机加入到迁移队列, 最后运用能耗性能感知的虚拟机部署优化算法对虚拟机进行优化部署.仿真结果显示, 该算法不但提高了系统性能, 而且也降低了系统能耗.

关键词: 性能     能耗     数据中心     云计算     虚拟化    
中图分类号:TN393 文献标志码:A 文章编号:1007-5321(2015) 增-0072-05 DOI:10.13190/j.jbupt.2015.增.017
Optimization Method of Performance and Energy Consumption Aware under Data Center Environment
GUO Li-zheng1,2, ZHANG Yi-fei1, ZHAO Shu-guang2    
1. Department of Computer Science and Engineering, Henan University of Urban Construction, Henan Pingdingshan 467036, China;
2. College of Information Sciences and Technology, Donghua University, Shanghai 201620, China
Abstract

In order to optimize the high energy consumption and to keep certain quality of service in the cloud computing data center, an optimization method for performance and energy aware was proposed. Firstly, local regression was used to determine whether the host is overloaded and using mean value determined whether the host is underloaded. And then, the virtual machine of the overloaded host was shifted into queue according to the minimum migration times and the maximum or minimum CPU utilization strategy. Finally, the performance and energy aware algorithm was designed to deploy the virtual machine in the queue and underloaded host. Simulations show that the proposed algorithm not only improves system performance but also reduces system energy consumption.

Key words: performance     energy consumption     data center     cloud computing     virtualization    

大数据的出现导致了存储、处理海量数据的数据中心的诞生.高德纳(Gartner)警告,数据中心是个巨大的能量消耗者,如果能耗继续保持每5年翻一番,从2005年到2025年,整个能耗将增加16倍.如此大的能量消耗不仅仅是由于计算资源量大和低效硬件设施的原因,也是资源使用效率较低的问题.因此能耗的节省来自于2个方面:1) 硬件设施方面,设计高效的服务器;2) 软件方面,通过资源管理实现能耗的优化.殷波等[1]综合考虑了虚拟机迁移成本和通信成本,提出了一种虚拟机迁移策略,该策略尽可能逼近目标物理服务器下限来实现能耗节省;Ferreto等[2]提出了线性规划和启发式算法相结合的方法来控制虚拟机迁移,主要目的是最小化虚拟机迁移问题,而没有关注能耗和性能;Kim等[3]提出了能量感知的虚拟机调度机制,根据每个虚拟机的能耗率来调度,以使能量消耗率低于用户的预先设定值,然而其仅仅考虑了能耗,而没有考虑性能的优化;Beloglazov等[4]运用了基于固定门限的方法优化能耗,然而固定门限在混合负载环境下效率较低,是一种不稳定的资源使用模式.

目前,综合研究性能、能耗兼顾的优化方法不多,因此,笔者提出了一种局部数据预测的过载检查方法和可变均值的轻载检测方法,基于上述方法设计了性能和能耗感知的动态虚拟机整合算法,该算法既降低了系统能耗,又提高了系统性能.

1 虚拟机实时迁移的性能参数

总的迁移时间:许多研究者都认为除了在目的服务器预留固定资源作为开销之外,总的迁移时间Tmig高度依赖虚拟机使用的内存Umig和2个服务器间的网络带宽B.总的迁移时间Tmig可以表示为

(1)

性能降低:文献[5]研究表明,平均的性能降低近似为CPU利用率的10%.因此,性能降低表示为

(2)

其中:Pdmig(j)为虚拟机j总的性能降低情况;t0为虚拟机开始迁移的时间;Tmigj为虚拟机j完成迁移的时间;Sj(t)为虚拟机j的CPU利用率;∂为经验系数,可以通过训练来获得.

实时迁移的能量消耗:文献[6]研究证实虚拟机实时迁移导致源服务器与目的服务器功率的增加,此外,迁移的时间不受虚拟机使用资源的影响.因此,实时迁移能耗可以表示为

(3)

其中:Emig为虚拟机迁移期间的能耗,Psj为源服务器的功率,Pdj为目的服务器的功率,δλ分别为源服务器和目的服务器功率的增加部分.根据以上分析,总的能耗可以表示为

(4)

其中:tsttsh分别为服务器的开启时间和关闭时间,PsbPsa分别为源服务器迁移前后的功率,PdbPda分别为目的服务器迁移前后的功率.

实时迁移的性能标准:当前云计算中,服务质量通常表示为服务等级协议(SLA,service level agreements).然而,应用程序的性能从一个资源变化的环境下获取,一个显著的资源变化会影响到多核服务器上多个虚拟机的应用.为了确保应用程序的性能独立于负载变化或虚拟机调整的影响,提出2个度量标准来衡量SLA,且可以应用到任何基础设施即服务(IaaS,infrastructure as a service)环境.第1个标准是性能违反百分比V

(5)

其中:M为IaaS中的物理节点数,Tv(i)为物理节点i经历100%使用且导致了SLA违反发生的时间,Ta(i)为物理节点i整个的活动时间.第2个标准是性能下降百分比D

(6)

其中:N为总的虚拟机数,Pdmig(j)为由于虚拟机的迁移导致虚拟机j性能降低的大小,Pr(j)为虚拟机j在整个生命期间申请的处理能力大小. VD是2个独立的且同等重要的指标,因此采用了一个联合的性能指标VSLA

(7)
2 能耗和性能感知的虚拟机整合方法

能耗和性能感知的虚拟机整合问题可以分解为3个子问题:1) 什么时间决定一个或多个虚拟机应当从过载或轻载的服务器迁移出去,在过载的情况下迁移虚拟机—性能,在轻载情况下迁移虚拟机—节能;2) 决定哪个虚拟机应当从过载或轻载的服务器迁移出去;3) 决定虚拟机迁移到哪里.

2.1 过载检查方法

局部加权回归(LR,local regression)法的主要思想是通过局部子集的数据建立一条曲线,并使曲线拟合于原始的曲线.对于每个新到来的数据通过趋势线来估计下一个值,以决定主机是否过载,进而把一些虚拟机迁移出去.具体的调节为

(8)

其中:sR+为安全系数,调整过载的大小;tm为过载的主机中需要迁移的虚拟机中时间最大的那个虚拟机的迁移时间.在文中安全系数设定为1.2,系数ab可以通过最小二乘法来获得:

(9)

其中:xk为最后观测到的值,x1为从右边界起的第k个值,xi满足x1xixk、Δi(xk)=xk-xi和0≤ ;权重系数wi(x)也称为权重函数,一般选取立方函数:

(10)

因此,权重函数为

(11)
2.2 轻载检查方法

CPU算数均值(AM,arithmetic mean)法和CPU最小利用率(MU,minimal utilization)法.

AM是全体x1, x2, …, xn样本总和除以样本的个数n,即

(12)

该方法决定一个主机是否轻载,如果轻载,一些或全部虚拟机就要迁移出去,其依据是不等式(13) 成立.

(13)

其中:i为一个节点;hu为当前的主机h的CPU利用率;au为主机a的CPU利用率;sR+为安全系数,可以通过训练获得.

如果把不等式(13) 改为不等式(14),AM法就变为最小CPU利用率法.

(14)
2.3 虚拟机选择方法

1) 最小迁移时间(MMT,minimum migration time)策略

在第1节中已经讨论过虚拟机迁移期间不仅会导致服务器性能的下降,还会导致服务器能耗的上升,因此设计了MMT策略,以尽可能地降低对性能和能耗的影响. MMT策略是在所有的虚拟机中首先选择迁移时间最小的虚拟机,迁移时间通过式(1) 确定.假如Vj为主机j所有虚拟机的集合,MMT策略可表示为

(15)

其中:R(v)为要迁移虚拟机v的当前RAM使用量,Bj为主机j当前可用的网络带宽.

2) 最大CPU利用率(MAU,maximum CPU utilization)和最小CPU利用率(MCU,minimum CPU utilization)策略

在主机过载的情况下,通过虚拟机的迁移可使主机不再过载,同时获得更好的性能.这样在选择要迁移的虚拟机时,可以选择对主机CPU利用率大的虚拟机,以便更快地使主机不过载;也可以选择CPU利用率最小的虚拟机,以使系统的能耗最优. MAU策略是在所有的虚拟机中首先选择CPU利用率最大的虚拟机进行迁移. MAU策略可表示为

(16)

其中uCPU(v)为要迁移虚拟机v的当前CPU利用率.同理,MCU策略可表示为

(17)
2.4 虚拟机部署方法

虚拟机部署问题是NP问题,这一问题可以看作一个二维装箱问题,箱子有可变的长和宽,箱子代表物理节点,物品是所有待部署的虚拟机.箱子的宽表示节点的RAM(r),箱子的高表示节点的CPU处理能力CPU(c).一个集合G={g1, g2, …, gn}为待分配的虚拟机的集合, 其每一个元素为一个虚拟机gi= {ri, ci},ri为虚拟机的RAM,ci为虚拟机的处理能力.目的主机的集合为H={h1, h2, …, hm},其中的一个元素为hj={Rj, Cj}.目的是寻找H的一个子集H′={h1, h2, …, h′m}, 其每一个元素为一个虚拟机h′j={R′j, C′j},并建立一个映射f:GH′使得如下表达式成立:

由于虚拟机的部署是NP问题,运用贪禁算法可以快速地得到近似最优解.采用能量感知的最佳适应(PABF,power aware best fit)算法来部署虚拟机,算法的大致内容是首先获得所有主机,然后分配一个虚拟机到一个主机使其能耗最小.该算法的复杂度为O(nm),其中n为主机数,m为要分配的虚拟机数.同样,能量感知的最佳适应递减(PABFD,power aware best fit decreasing)算法、能量感知的首次适应递减(PAFFD,power aware first fit decreasing)算法和能量感知的首次适应(PAFF,power aware first fit)算法也可类似地实现.

2.5 能耗和性能感知的虚拟机部署优化算法

能耗和性能感知的虚拟机部署优化算法的具体内容:首先,运用主机过载检查方法以确定主机是否过载,如果主机过载,使用虚拟机选择方法选择一合适的虚拟机加入到等待部署的虚拟机队列,以便重新对虚拟机进行调度分配,这个过程重复进行直到主机不过载;一旦主机过载检测完成,形成了待部署的虚拟机,运用PABF优化方法完成虚拟机的重新调度和部署.然后,运用轻载检查方法判定主机是否轻载,如果轻载,同样运用PABF方法完成轻载主机的虚拟机重新调度和部署;如果主机为空,即没有任何虚拟机在其上运行,则把主机关闭或转换到睡眠模式.与此同时,新到来的用户请求也加入到等待部署的虚拟机队列,同样运用PABF优化方法完成虚拟机部署.在调度与部署期间,如果现有的主机能满足要求就在现有的主机上完成部署与调度,如果现有主机不能满足用户的服务质量要求就需要开启新的主机,同时在虚拟机的部署与调度期间虚拟机和主机的开启与关闭是根据系统当前的资源使用情况动态变化的.在最坏的情况下,算法的复杂度为O(n+nm+ nm2).

3 性能评估3.1 评估标准

对过载检测方法(LR)、轻载检查方法(MU、AM)、虚拟机选择方法(MMT、MCU、MAU)和虚拟机部署方法(PABFD、PABF、PAFFD、PAFF)的组合分别进行仿真,同时为了测试每个组合的性能和能耗,同样的测试数据和标准用于评估以上各组合.其一标准是能耗,它代表整个数据中心系统运行期间物理服务器的能耗.另外用来衡量性能的标准是在第1节中介绍过的VSLADVV表示整个系统中用户的服务请求在所申请的时间内不能得到满足的百分比(如果为1%则表示有百分之一的时间服务得不到满足),D表示虚拟机迁移期间性能下降的百分比.其他标准是系统运行过程中虚拟机迁移数(VMN,virtual machine number)和主机关闭数(HN,host number).其中能耗和性能是2个主要参数,但是能耗和性能之间存在负相关关系,因此采用了能耗和性能相结合的度量标准(如式(18) 所示),以便更好地反映性能与能耗.

(18)
3.2 仿真结果及分析

为了更好地测试各种方法、算法,使用了两类测试数据,一类是随机数据,另一类是真实的数据.真实的数据来自于开放的平台PlanetLab,并且使用了没有能耗感知(NPA,no power aware)的方法、动态电压频率放缩(DVFS,dynamic voltage frequency scaling)法和文献[5]的LR_MU_MMT作为比较.首先,使用随机的测试数据评估方法、算法组合,测试结果如表 1所示,并从中发现最好的组合;然后,使用真实数据再来验证和评估此组合,测试结果如表 2所示.

表 1 PABFD、PABF、MMT和MAU算法组合的仿真结果

表 2 PABFD、PABF、MMT和MAU组合的仿真结果

表 1可以发现,0.8 AM方法和LR方法结合MMT、PABF、MAU和PABFD方法的仿真结果优于LR_MU_MMT方法的组合.其主要原因是MU方法从所有的主机中选择一个利用率最低的主机,并尽量把此主机的虚拟机全部迁移到其他主机,且其他主机不能超载,如果能完成全部迁移,则关闭此主机;而0.8 AM方法在选择主机时,不但要求其利用率最低且利用率要小于0.8 AM,这样当所有主机的负载都比较高的时候,如大于0.8 AM时,所有主机都不需要再进行虚拟机的迁移了.在所有的结果中,LR_0.8AM_MMT_PABFD算法的综合性能指标J为最优.

以上研究结果揭示了0.8 AM方法、LR方法、MMT方法、PABF方法、MAU方法和PABFD方法的结合可以获得较好结果.以上是使用随机数据的测试结果,使用真实环境下的数据的测试结果如表 2所示,表 2的测试结果再一次证实了以上结论.此外,当过载检查方法为LR,轻载检测方法为0.8 AM,虚拟机部署方法为PABF或PABFD时,虚拟机选择方法MAU在能耗、VMN和HN方面优于MMT,但是性能不如MMT方法.其原因是MMT方法能快速地从过载的主机中迁移一个虚拟机出去,从而使过载的主机达到正常状态,所以性能比MAU方法好.然而,如果在负载相对稳定的环境下,MAU方法能使一个过载的主机保持在相对长一点的时间内不再出现过载的情况,从而在确保较高利用率的同时,保持能耗相对较低.

4 结束语

为了动态地优化主机的性能和能耗,根据历史数据,利用局部回归分析法预测主机的CPU利用率,进而判定主机是否过载;利用动态自适应均值法来发现轻载的主机.基于上述方法,设计了能耗和性能感知的虚拟机部署算法以优化虚拟机的部署.仿真结果显示以上方法和算法能动态地整合虚拟机,进而显著地改善服务质量,降低能耗.

参考文献
[1] 殷波, 王颖, 孟洛明, 等. 综合迁移成本和通信成本的云计算节能策略[J]. 北京邮电大学学报, 2012, 35(1): 68–71.
Yin Bo, Wang Ying, Meng Luoming, et al. A new virtual machine migration strategy based on migration cost and communication cost for power saving in cloud[J].Journal of Beijing University of Posts and Telecommunications, 2012, 35(1): 68–71.
[2] Ferreto T C, Netto M A, Calheiros R N, et al. Server consolidation with migration control for virtualized data centers[J].Future Generation Computer Systems, 2011, 27(8): 1027–1034. doi: 10.1016/j.future.2011.04.016
[3] Kim N, Cho J, Seo E. Energy-credit scheduler: an energy-aware virtual machine scheduler for cloud systems[J].Future Generation Computer Systems, 2014, 32: 128–137. doi: 10.1016/j.future.2012.05.019
[4] Beloglazov A, Abawajy J, Buyya R. Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing[J].Future Generation Computer Systems, 2012, 28(5): 755–768. doi: 10.1016/j.future.2011.04.017
[5] 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, 2012, 24(13): 1397–1420. doi: 10.1002/cpe.v24.13
[6] Clark C, Fraser K, Hand S, et al. Live migration of virtual machines[C]//Proceedings of the 2nd Conference on Symposium on Networked Systems Design & Implementation. CA, USA: USENIX Association, 2005: 273-286.