云数据中心面向低能源消耗的虚拟机分配策略


打开文本图片集

摘  要: 虚拟机分配策略是提高云数据中心的物理主机利用率和降低能源消耗的关键技术。文中提出云数据中心面向低能源消耗的虚拟机分配策略LEC⁃VM。LEC⁃VM包括2个组成部分:虚拟机放置策略和虚拟机迁移优化策略。通过放置策略将云数据中心的虚拟机分配到最合适的物理节点之上,保证整个系统的CPU利用率低于一个给定的阈值; 通过迁移优化策略,根据系统的当前状态动态迁移虚拟机,对物理主机的资源进行优化。利用CloudSim作为云数据中心的云端测试环境。 测试结果表明,LEC⁃VM可以减少云数据中心的SLA违规,保证云计算的服务质量, 与其他的虚拟机分配策略比较起来,可以降低能源消耗。

关键词: 虚拟机; 资源分配; 低能源消耗; 云数据中心; 虚拟化技术; 云计算

中图分类号: TN245⁃34; TP393.093                  文献标识码: A                  文章编号: 1004⁃373X(2019)20⁃0128⁃05

Low energy consumption virtual machine allocation strategy in cloud data center

CAO Hui

(Credit Bank Management Center, Henan Radio & Television University, Zhengzhou 450000, China)

Abstract: Virtual machine allocation strategy is a key technology to reduce energy consumption and improve the utilization of physical hosts in cloud data center. A low energy consumption virtual machine (LEC?VM) allocation strategy in cloud data centers is proposed. The LEC⁃VM is composed of two components: virtual machine placement strategy and virtual machine migration optimization strategy. The virtual machines in the cloud data center is assigned to the most appropriate physical nodes by means of placement strategy to ensure the CPU utilization of the entire system is below a given threshold. The virtual machine is migrated dynamically according to the current state of the system by means of migration optimization strategy, and the resources of the physical host are optimized. CloudSim is taken as the cloud test environment of cloud data center. The test results show that LEC⁃VM can reduce SLA violations of cloud data centers, guarantee the service quality of cloud computing, and reduce energy consumption in comparison with other virtual machine allocation strategies.

Keywords: virtual machine; resource allocation; low energy consumption; cloud data center; virtualization technology; cloud computing

近年来随着云计算、大数据等技术的快速发展,各类大型IT企业都已经逐步建立了自己的基于云的大数据中心,其消耗的能源也与日俱增,政府与企业都在开始研究云数据中心的低能耗问题,倡导低碳环保生活与绿色云计算[1⁃2]。

云数据中心的虚拟机分配策略是目前提高云端资源利用效率和降低能量消耗的主要技术,它能够将应用服务封装在虚拟机之中,在服务请求减少的情况下,将云端的多个虚拟机迁移到一个物理服务器,关闭空闲服务器或者使空闲服务器进入睡眠模式[3⁃6];当服务请求增加时,重新唤醒空闲服务器,并将超负载服务器中的虚拟机迁移到空闲服务器或者低负载服务器,以此来提高云数据中心资源利用的效率[7]。

在研究低能源消耗的虚拟机分配策略的时候,云数据中心的服务质量(QoS)也是重要因素值得考虑,因为云数据中心的最主要的目标是保证各类IT服务可以正常地提供给客户端,如果QoS不能保证,将会出现SLA违规(SLA Violation)问题,这样企业的云数据中心将会失去商业利润。如果使用过多的IT物理资源来保证QoS,这样能源消耗就会增加,间接地提高了企业的成本,所以虚拟机分配策略要保证能源消耗和QoS之间的平衡。

1  相关工作

目前学术界利用云端的虚拟机动态迁移的手段来节省云端的能源消耗,进行了大量的研究。早期的技术有预复制Pre⁃copy[8]、后复制Post⁃copy、混合复制等, 这些主要是应用在单虚拟机迁移领域(Single Virtual Machine Migration)或者非云端的虚拟机迁移。随着云端服务规模的扩大,目前都是多虚拟机迁移(Multiply Virtual Machine Migration)。

文献[7]提出一种集群中多虚拟机的迁移策略,并评价了云端多虚拟机迁移的负载与性能变化。Luo等人同样从CPU维度对虚拟机的动态配置问题进行建模,并利用改进的蛙跳算法进行求解[9]。Xu等人提出了PS⁃ABC算法,该方法能够在长期服务项目的局部时间段内实现较好的节能效果,但是在服务项目全局的能耗优化问题上,效果并不理想[10]。Zhao等人在此基础上提出了PS⁃ES启发式算法,不仅实现了当前场景的能源优化,而且也有效降低了长期服务项目总体的能源消耗,但其考虑的维度较单一[11]。Cao等人在Beloglazov研究的基础上提出SLA违规算法,引入最小能源最大利用率策略,进一步优化虚拟机配置方法[12]。上述这些方法的主要目的是应用虚拟机动态迁移技术实现云端服务的负载均衡,优化服务器的电力能量管理等,最终是为了改善云端的服务质量,减少SLA违规。

本文提出了云数据中心面向低能源消耗的虚拟机分配策略LEC⁃VM (Low Energy Consumption Oriented Virtual Machine Allocation Strategy)。LEC⁃VM主要面向低能量消耗,同时保证IT企业的Qos与低能源消耗相平衡。

本文最后通过CloudSim工具模拟了云数据中心虚拟机分配策略的LEC⁃VM的性能。实验结果表明,LEC⁃VM比常见的虚拟机分配策略要优秀,能够实现低能源消耗和减少SLA违规,保证IT云数据中心的QoS。

2  云数据中心虚拟机分配方法分析

云数据中心的虚拟机分配可以划分为2个步骤:第一步是针对新的请求生成新的虚拟机(Virtual Machine)并将虚拟机放置到可用的物理节点Host;第二步是优化物理主机上的虚拟机。根据已经存在的虚拟机分配策略[13],第一步被认为是一个多维装箱的问题,即将物理主机Host抽象为箱子,箱子的容量是服务器资源的大小,包括CPU、内存、硬盘和网络带宽;虚拟机抽象为装入的物品,其所用的资源就是物品的大小;资源的种类被抽象为装箱问题的维度[14]。此类问题是一个基于多约束的整数规划问题,同时也是一个NP⁃hard问题,这种多约束的多目标优化问题,往往求其近似最优解。云数据中心的虚拟机放置示意图如图1所示,应用程序可表示为A={A1,A2,…,An},n台同构的主机PM={PM1,PM2,…,PMn}和m台虚拟机VM={VM1,VM2,…,VMm},客户请求为LQ={LQ1,LQ2,…,LQm}。

图1  云数据中心的虚拟机放置示意图

第二步是迁移优化问题。一个好的虚拟机分配策略,应该根据应用程序的状态使虚拟机在迁移时能够被部署在合适的物理服务器上,如果虚拟机并不需要所有的物理资源,那么他们应该被透明地重新划分尺寸,并使所需要的物理节点数目最小。空闲的物理节点应该能够转入到睡眠模式,这样使云数据中心的能源消耗最小。虚拟机分配及优化应该基于下面两个标准考虑:

1) 设置物理主机的资源利用率阈值upper_utilization,保持整体的虚拟机的CPU利用率都要低于这个阈值;

2) 设置虚拟机的资源利用率阈值的上限upper_utilization和下限lower_utilization, 保证整体的虚拟机的CPU的利用率都要处于这个阈值下限和上限之间。

为了要达到低能源消耗和防止潜在的SLA违规,保证云数据中心的服务质量, 目前常见的虚拟机分配策略包括下面四类:

1) 单一阈值策略 (Single Threshold,ST)。它是基于单纯上限阈值(upper_utilization)的物理主机的利用率阈值策略,将虚拟机分配到那些能够保证所有的CPU都是低于物理主机阈值的方法。ST策略目标是保证资源的自由性,这样可以保证IT服务的质量,新的虚拟机分配通过虚拟机的在线迁移完成。

2) 最小迁移次数策略 (MM,Minimization of Migrations)。这个策略主要基于虚拟机选择和迁移的次数最小标准,对于那些超过了CPU利用率阈值上限情形并不考虑在内,也许并不迁移。

3) 最高潜在增加策略(HPG,Highest Potential Growth)。该策略在超过了物理资源的CPU利用率的阈值上限时, 将通过虚拟机的参数,迁移那些CPU利用率高虚拟机,这样可以降低和最小化物理主机的利用率,也可以防止SLA违规。

4) 随机选择策略(RC,Random Choice)。该策略对于那些超过最高阈值的物理主机,随机选择一定数目的虚拟机,从而降低该物理主机的CPU利用率。下一节将重点讨论本文的LEC⁃VM虚拟机分配策略。

3  LEC⁃VM虚拟机分配策略

3.1  LEC⁃VM策略流程

LEC⁃VM虚拟机分配策略最直接的思路就是首先放置虚拟机到那些主机的CPU利用率低于最小阈值的那些物理节点,然后优化虚拟机的分配策略,使虚拟机动态的迁移,保证所有的物理节点的CPU利用率一直是低于最小阈值,并且关闭那些空闲的物理节点,使整个云數据中心的能源消耗最小。

但是通过前面的分析,如果整个系统中的虚拟机迁移数量比较大,容易造成大量SLA 违规,从而影响云平台的IT服务质量QoS。 LEC⁃VM策略的设计目标是在云数据中心可以正确地提供合适的物理资源之上,同时约束虚拟机迁移数量,这样就可以最终减少SLA违规情况,同时使云数据中心的能源消耗最小。

图2 描述了LEC⁃VM虚拟机分配策略的流程。该策略有两个组成部分Algorithm 1和Algorithm 2。第一个部分Algorithm 1是利用虚拟机的放置来保证空闲资源的使用效率低于预定的最小阈值。当虚拟机请求个数在不断增加的情况下,系统对物理资源的需求也越大,这样也可以在一定程度上防止SLA 违规。

   图2  LEC⁃VM面向低能源消耗的虚拟机分配流程

第二个组成部分Algorithm 2是采用虚拟机在云数据中心中动态的迁移,迁移到那些CPU利用率比较小、负载比较轻的物理节点,如果物理资源大量空闲,就关闭空闲资源的电源,最终降低云数据中心的能源消耗。

3.2  LEC⁃VM算法描述

Algorithm 1的主要功能是完成虚拟机的放置。算法设置了一个物理主机使用效率(负载情况)的阈值上限UpperThresholdUtilization,然后每个虚拟机组成一个虚拟机列表,对列表中的每个虚拟机都重复地寻找物理主机,判断其整体的CPU使用效率(负载情况)是否低于预先设定的阈值上限。 这里CPU的整体的负载情况是该物理主机上所有虚拟机所消耗的CPU资源的累计之和。然后选择一个物理主机设置为被分配的物理主机,并且虚拟机就放置在该物理节点上。随着该物理节点上虚拟机数量的增加,其消耗的能源情况也会逐渐的增加。该算法将虚拟机列表中的所有虚拟机都放置到合适的物理节点之后停止,该算法的复杂度与必须被放置的虚拟机的数量密切相关,也与可用的物理节点数量有关系。

算法的第二部分Algorithm 2主要是虚拟机动态迁移与优化算法, 首先设置一个物理主机的列表,按照物理主机的负载情况(运行在其上的虚拟机)进行排序,指定最低负载情况阈值,用来约束物理主机上的虚拟机迁移次数。

设置一个计数器counter, counter等于被排序的所有的物理主机数目, 此时开始整个虚拟机的优化策略过程。首先对于主机列表中的每个主机i,如果主机的负载小于迁移阈值,表明主机是未充分利用(under⁃utilized),那么虚拟机就应该迁移到该物理节点。虚拟机的迁移首先在主机j上进行, 那些具有最高CPU利用率的主机一直持续在工作。

根据第一部分的思路,如果物理主机的整体CPU利用率低于某个预定的阈值下限,那么虚拟机将迁移到物理主机j。

如果主机j的整体CPU利用率超过了预定的阈值上限,那么那些处于未充分利用(under⁃utilized)的物理主机也不能迁移到该物理节点,因此这时先前的那些列表中排序的物理节点将被进行检查用来迁移,此时计数器counter数目减1。该过程将一直执行,直到主机i中的所有虚拟机都被迁移到主机j。

对于所有的那些处于under⁃utilized状态的物理主机,该过程重复执行,直到物理主机的i值等于计数器counter的值。

通过这种方式,LEC⁃VM策略可以约束虚拟机的迁移次数,这样云数据中心的SLA违规情形也会减少,整个云平台的服务质量Qos也会提高。Algorithm 2的伪代码如下:

4  仿真实验与性能分析

4.1  仿真环境

本节采用CloudSim软件仿真IaaS环境。模拟的云数据中心具有200个物理主机,每个主机具有双核CPU, 其性能相当于1 860 MIPS和2 660 MIPS,具有5 GB的内存和1 TB的磁盘空间。

模拟客户端的应用程序提交310个虚拟机,保证云数据中心的物理主机的基本负载。采用2种已经的能量管理策略DVFS和NPA,还有另外的ST迁移策略和MM迁移策略。 DVFS是根据芯片所运行的应用程序对计算能力的不同需要,动态调节芯片的运行频率和电压。NPA(No Power Aware Policy)是一种无能量管理的随机策略。ST是单一阈值策略, MM是最小迁移次数策略。

4.2  性能分析

表1中列出了通過单一阈值策略 (ST)和最小迁移次数策略(MM)的比较情况。表2中列出了通过使用LEC⁃VM完成虚拟机的分配后的能源消耗情况。几次实验都在不同的物理主机CPU利用率阈值设置上限和下限情形下完成。

   表1   云数据中心不同能量管理策略性能分析

从表1和表2的模拟结果可以看出,本文的LEC⁃VM虚拟机迁移策略可以获得比较低的能源消耗,具体体现在三个方面:

1) 在物理主机CPU利用率上限阈值设置为90%的情形下,对于NPA策略、DVFS策略、ST策略和MM策略来言,LEC⁃VM分别有67%,31%,7%和0.89%的能量消耗的降低,在物理主机CPU利用率下限阈值设置为30%的情形下,只有大约2.72%的SLA违规情况。

2) 在物理主机CPU利用率阈值设置为40%~90%的情形下,对于NPA策略、DVFS策略、ST策略和MM策略来言, LEC⁃VM分别有68%,34%,10%和4%的能量消耗的降低,有大约2.29%的SLA违规情况。

3) 在物理主机CPU利用率阈值设置为50%~90%的情形下,对于NPA策略、DVFS策略、ST策略和MM策略来言,分别有71%,40%,19%和13%的能量消耗的降低,有大约3.01%的SLA违规情况。

   表2  云数据中心中LEC⁃VM策略性能分析

从表1和表2还可以看出,ST迁移策略的虚拟机迁移次数是本文的LEC⁃VM虚拟机分配策略的3倍;MM虚拟机迁移策略的虚拟机迁移次数是本文的LEC⁃VM虚拟机分配策略的2倍。这个结果可以证明LEC⁃VM策略可以很好地减少SLA违规,SLA违规在2.29%时,大约只有47.19 kW·h的能源消耗;SLA违规在3.01%时,只有42.71 kW·h的能源消耗。

5  结  论

本文针对云数据中心的低能源消耗和高服务质量的要求,提出一种面向低能源消耗的虚拟机分配策略LEC⁃VM。LEC⁃VM通过虚拟机放置策略保证云数据中心有足够的物理资源,保证Qos质量,减少SLA的违规。通过虚拟机动态迁移优化策略保证虚拟机的迁移次数来减少云数据中心的能源消耗。仿真实验表明,LEC⁃VM能够有效减少虚拟机的迁移次数,比常见的迁移策略能更好地减少云数据中心的能源消耗。未来的工作在虚拟机迁移策略中将考虑物理主机的内存大小、网络带宽和空余磁盘空间情况。

参考文献

[1] LOVASZ G, NIEDERMEIER F, MEER H, et al. Performance tradeoffs of energy⁃aware virtual machine consolidation [J]. Cluster computing, 2013, 16(3): 481⁃496.

[2] 张玉清,王晓菲,刘雪峰,等.云计算环境安全综述[J].软件学报,2016,27(6):1328⁃1348.

ZHANG Y Q, WANG X F, LIU X F, et al. Survey on cloud computing security [J]. Journal of software, 2016, 27(6): 1328⁃1348.

[3] LIU H K, HE B S. VMbuddies: coordinating live migration of multi⁃tier applications in cloud environments [J]. IEEE transactions on parallel and distributed systems, 2015, 26(4): 1192⁃1205.

[4] KELLA A, BELALEM G. A stable matching algorithm for vm migration to improve energy consumption and QOS in cloud infrastructures [J]. International journal of cloud applications and computing, 2014, 4(2): 15⁃33.

[5] HUANG J, WU K, MOH M. Dynamic virtual machine migration algorithms using enhanced energy consumption model for green cloud data centers [C]// 2014 International Conference on High Performance Computing & Simulation. Bologna: IEEE, 2014: 902⁃910.

[6] JIANG H P, WENG M L, CHEN W M. Dynamic consolidation of virtual machines in cloud datacenters [J]. IEICE transactions on information and systems, 2014, 97(7): 1727⁃1730.

[7] DAD D, YAGOUBI D E, BELALEM G. Energy efficient VM live migration and allocation at cloud data centers [J]. International journal of cloud applications and computing, 2014, 4(4): 55?63.

[8] AGARWAL A, RAINA S. Live migration of virtual machines in cloud [J]. International journal of scientific and research publications, 2012, 2(6): 1⁃5.

[9] LUO J P, LI X, CHEN M R. Hybrid shuffled frog leaping algorithm for energy⁃efficient dynamic consolidation of virtual machines in cloud data centers [J]. Expert systems with applications, 2014, 41(13): 5804⁃5816.

[10] XU G C, DING Y, ZHAO J. A novel artificial bee colony approach of live virtual machine migration policy using Bayes theorem [J]. Scientific world journal, 2013, 23: 11⁃18.

[11] ZHAO J, HU L, DING Y, et al. A heuristic placement selection of live virtual machine migration for energy⁃saving in cloud computing environment [J]. Plos one, 2014, 9(9): e108275.

[12] CAO Z, DONG S. Energy⁃aware heuristic framework for virtual machine consolidation in cloud computing [J]. Journal of supercomputing, 2014, 69(1): 1890⁃1895.

[13] 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: 755⁃768.

[14] BASU A. Energy aware resource allocation in cloud data center [J]. International journal of engineering & advanced technology, 2013(5): 277⁃281.

推荐访问:数据中心 虚拟机 能源消耗 分配 面向