作者简介 邓维,华中科技大学计算机学院服务计算技术与系统实验室在读博士研究生;主要研究领域为云计算。绿色计算、虚拟化、数据中心资源调度与能耗管理。 廖小飞,华中科技大学计算机学院服务计算技术与系统实验室教授、博导;主要研究领域为对等计算与移动互联网、多核与虚拟化。 金海,华中科技大学计算机学院服务计算技术与系统实验室主任、教授、博导;主要研究领域为并行与分布式计算、云计算、多核与虚拟化等。 摘要:文章认为虚拟化技术的广泛应用使得数据中心的能耗管理复杂化,如虚拟机迁移和服务器整合时,迁移哪个虚拟机,何时迁移虚拟机,如何放置虚拟机,整合负载需要考虑哪些问题等。整理、分类分析当前虚拟化数据中心环境中的各种能耗,对于资源和虚拟机的全局管理、合理的放置虚拟机、动态的迁移虚拟机、整合服务器等具有重大意义。文章研究了数据中心节能机制,包括虚拟化数据中心中的全局调度管理、虚拟机初始放置和整合、虚拟机在线迁移策略,以及迁移整合时对网络通信量的考虑、迁移开销、虚拟机负载相关性等。 关键词:绿色计算;虚拟化;数据中心;性能和能耗管理;虚拟机迁移;服务器整合 Abstract:There are certain power management issues that must be considered when a data center is virtualized. These issues include where virtual machines (VMs) should be placed, when VMs should be migrated, and which VMs should be migrated. Sorting and classifying VMs according to energy consumption is essential for managing, placing and migrating VMs and for consolidating servers. In this paper, we focus on energy saving in a data center, including scheduling management, initial placement and consolidation, and online migration strategies. We also discuss network traffic, cost, and load when VMs are being consolidated. Key words: green computing; virtualization; data center; performance and power management; virtual machine migration; server consolidation 绿色计算已成为最受关注的研究热点之一,尤其是随着云计算、网联网和移动互联网的快速发展和数据中心的大量新建,能耗问题越来越严重。虚拟化技术也由此被广泛应用在数据中心来减少成本、提高利用率、降低能耗。 1 数据中心能耗管理现状 1.1 数据中心的能耗问题 美国联邦环境保护署(EPA)报告[1]指出美国数据中心在2006年消耗了610亿千瓦时的电力,这足以供给580万家庭的生活用电,而到2011年相关能耗翻倍。高能耗增加了电力供给和冷却系统的开销。例如,一个30 000 m2,额定功率为10 MW,具有 1 000台每台功率为10 kW的机架的数据中心,每年的电费就是800万美元,散热用的空调系统将消耗200~500万美元[2]。高能耗自然也导致严重的环境污染问题。每1 000 kWh的功耗将排放0.72吨的CO2,美国数据中心在2006年就排放了4 400万吨的CO2。能耗问题目前已经成为阻碍大规模计算系统发展的因素之一,很多计划建设的数据中心因为没有足够的电力供应以及冷却系统的保证而被搁浅。 1.2 虚拟化技术 目前大部分的数据中心都采用虚拟化技术,尤其是云平台中虚拟化应用更为广泛。物理资源被划分为多个独立的称为虚拟机(VM)的逻辑域。每个VM可以运行一个独立的操作系统。从用户的角度看虚拟机像是运行在独立的物理机上,实质是多个VM共享同一个物理机。虚拟机监视器(VMM)负责控制资源多路复用和管理虚拟机。利用虚拟机技术,服务器虚拟化已经成为很多企业的基础架构。利用虚拟机迁移技术可以很便捷地进行服务器整合,将负载迁移聚合到少部分的服务器上,将其余的服务器关闭或者调节到低功耗的状态,从而实现节能。 1.3 功耗、能量和能效 功耗是以瓦特来度量,而能量的单位是瓦时。 减少功耗不一定会降低能量的消耗。比如降低CPU的频率可以减少功耗,但是运行同样的任务相应的执行时间可能会更长,总共消耗的能量可能差不多。 数据中心的能耗不仅仅是指服务器消耗的能量,还包括电力系统、冷却系统和照明的能耗。PUE[3]是评价数据中心能源效率的指标,是数据中心消耗的所有能源与IT负载使用的能源之比,因此提高能效更重要。虚拟化技术就是一种很好的解决方案,它使得多个VM共享服务器。 1.4 虚拟化环境下节能的挑战 虚拟化技术的应用本身将给能耗管理带来很多新的挑战和困难。主要由于VMM和VM之间的隔离和多个VM之间操作的独立性,使得各个软件栈之间信息不互通,尤其是具体应用程序对底层硬件不感知。在集群或数据中心中,虚拟机如何分配到各个服务器直接影响能效。不合理的VM放置策略会导致服务器地利用率或VM之间资源冲突。虚拟机迁移和服务器整合是重要的提高利用率和节能的方法,但这产生一系列相关问题:何时迁移、整合VM?迁移哪个VM?VM迁移到哪个结点?那些服务器开启?那些服务器关闭或者调节到低功耗状态?另外节能不能以牺牲性能为代价,必需在保证性能的同时实现节能才有意义。需要在服务质量(QoS)或服务等级协议(SLA)和能耗之间权衡。 2 数据中心节能机制 数据中心中用虚拟机执行任务的一般步骤是: ?数据中心提供各种各样的虚拟机模板。 ?当负载到来时,全局调度器用预配置的虚拟机来分配任务,然后选择合适结点来执行。 ?任务在虚拟机上开始执行。 ?当任务完成,根据需要判断是撤销虚拟机回收资源,还是分配新任务给此虚拟机。 由此可见,资源和VM的全局管理、合理的放置VM、动态的迁移VM、整合服务器等都是实施节能机制需要解决的关键问题,同时还要考虑相互之间的影响或性能损失等问题。 2.1 全局调度管理 具有VirtualPower结构[4]的全局能耗管理机制监测低层各个结点上的管理策略,然后决定是否、何时整合虚拟机。结合整合和迁移技术,VirtualPower能在异构系统上,最小化当前活跃的资源数,从而使资源处于待机、休眠等状态,从而节能。Nathuji[5]延伸了VirtualPower结构。他利用一种管理能耗的统一代币以区别对待不同的VM,使全系统的应用程序和VM的效用都被感知,解决异构系统上资源能耗和性能的差异,透明地实现预算策略。对于给定的能耗需求,预算管理者将其转换为预算代币,然后根据平台的异构性、性能和利用率信息将代币分配给各个结点的管理者。各个节点管理者的任务则是根据利用率按比例将得到的代币分配给各个VM。实验显示VPM代币的预算策略能够改善全局43%的利用率,同时能够满足能耗的预算限制。 虽然动态地供给VM、聚集负载、按需开关服务器的确能够提高服务器的利用率和提高能效,但是动态资源分配需要仔细控制。因为等待VM和其宿主机开启或者过度的VM切换可能会使得获益甚微。Kusic[6]在虚拟化系统上实现动态资源供给结构优化性能和能耗。资源供给获益问题形式化为不确定性连续优化问题,然后使用有限前瞻控制(LLC)方法解决。LLC方法的概念与模型预测控制相似,类似于控制问题中动态操作限制下的定点规划或效用优化问题。每个服务的获益来自定价策略和SLA,它将相关的响应时间转化为用户愿意支付的费用。前瞻控制LLC的目的就是根据过去和未来资源需求信息来最大化收益、最小化能耗和SLA冲突。然后控制模块决策分配适当的服务器和VM个数给每个服务,VM和服务器根据负载和CPU利用率动态的开启或者关闭。 2.2 虚拟机放置和动态迁移整合 如何将多个虚拟机放置到多个物理机上,使得最终的配置具有最低的能耗而保证期望的性能是有挑战的问题。Urganonkar[7]证明了应用程序在集群上的放置和分派是非多项式(NP)的。由于数据中心为了满足大量服务需求,总是按峰值需求供给,导致服务器利用率很低,Bohrer等通过实际调查发现服务器平均利用率在11%~50%之间波动。这无疑浪费大量能量,所以提高服务器利用率、减少能耗的要求非常紧迫。负载整合是一个很好的方案,将任务聚集到少数的服务器上,而关闭多余的设备,从而节能。虚拟机实时迁移是聚集负载整合服务器的有力工具。但是迁移也会有开销,对性能有影响[8],所以设计迁移算法的同时需要考虑其对性能的影响。 大部分的VM放置和能耗的聚集都没有利用虚拟化技术中固有的Min、Max和Share参数。Max和Min参数表示能分配给虚拟机的最多和最少的资源,而Share参数决定资源争用的VM之间的资源比例分配。Cardosa[9]利用这些特性为虚拟机分配资源。分配参数根据可用资源、应用程序效益和能耗而调节。Bobro[10]设计一种最小化服务器使用个数而不影响SLA(需求超过资源容量)的数据中心VM动态放置方法。基于历史数据来预测未来下一时段的资源需求,然后使用启发式的装箱算法来尽量较少箱子(服务器)的个数。 Verma[11]发现VM的能耗不仅仅与CPU的频率和利用率有关,而且还跟内存访问特征、Cache使用特征和工作集大小有关。性能、资源隔离和多个VM虚拟化开销是服务器整合的“瓶颈”因素,而这些因素与应用程序的内存访问特征、Cache使用特征紧密相关。尤其是工作集大小是考虑VM放置时的一个关键参数。他们提出了一种能耗感知的高性能计算应用虚拟机的放置方法。VM放置控制模块收集来自资源管理模块的信息,像CPU、内存和Cache使用特征以及工作集大小都考虑到了,形成一个多维装箱问题。在将所有应用程序按照他们工作集大小升序排列,然后相继地放置VM,同时确保不妨碍各个VM的CPU使用限制,以及工作集大小不超出服务器的资源容量。他们进一步设计了系统pMapper [12],将VM的放置问题形式化为连续优化问题:VM的放置要最大化性能并且最小化能耗。当在物理机上放置应用程序VM的时候,能耗、迁移开销和性能收益都考虑在内。 Entropy[13]虚拟化集群上的整合管理系统,利用约束规划方式寻求全局最优的VM整合方案。但是系统没有考虑整合对于能耗的影响。vGreen[14]将负载的特征和VM的调度决策联系起来实现较优的性能和能耗。中心管理服务器依据不同VM的性能-能耗特征在各个结点之间放置和调度VM,来平衡结点的每周期内内存访问数、指令数和资源利用率,而且整合低利用率的VM来增加机器空闲时间,然后调节到低功耗状态或者关闭实现节能。 GreenCloud[15]监测器首先收集各种环境、性能和能耗信息,然后管理模块使用启发式算法做决策,触发迁移。算法提供了一个决策列表,像迁移决策:将VM1从PM1迁移到PM2,频率调节决策:将VM2相应的CPU频率调节到100 MHz。系统选择最佳的VM迁移和整合决策使开销最小。开销依据VM迁移数量、使用的PM数量以及服务器的利用率等因素来计算。系统提供接口来让用户根据自己特定的配置和应用需求定义自己的开销计算方式。 2.3 虚拟机迁移开销 关于VM迁移开销的研究有很多,像Blackburn[16]针对各种负载研究了VM实时迁移的性能, Akoush[17]预测VM迁移的性能,Voorsluys研究云计算中VM实时迁移的开销,但是都没有考虑迁移的能耗问题。我们实验室的Liu[18]博士填补了这个空白,首次提出了虚拟机迁移的代价预测模型。我们设计的迁移性能和能耗预测模型就是为了选择迁移代价最小的虚拟机。然而建立这样一个模型需要考虑多种因素:虚拟机内存镜像大小、负载内存访问特性、网络传输速度、迁移算法相关参数的设置。然而最关键的挑战则是正确地量化每一个虚拟机的内存访问模式。在虚拟机迁移过程中,我们可以追踪到每一轮产生的“脏页”总数以及可以跳过本轮传输的可写工作集大小。通过追踪多个应用程序迁移过程中多轮预拷贝中的观测值,可以建立一组方程,通过线性回归方程来解这些模型参数,从而定量迁移网络数据传输量Vmig和迁移时间Tmig。迁移的能耗则是网络数据传输量Vmig的线性模型。基于此选择迁移性能和能耗代价最小的虚拟机。该预测模型预测错误率远低于10%而减少开销达72.9%。 2.4 负载整合时的相关性分析 使用整合方法的时候,我们需要分析负载的资源需求和负载之间的相关性。因为相关联的负载整合到一起可能会导致需求峰值超过服务器资源容量或者会引起资源争用。比如具有不相似的资源需求的负载整合到一起可以减少资源竞争,从而在节能的同时不影响性能。 pSciMapper [19]是针对科学计算应用的节能整合架构。它回答了这个问题:哪些负载可以结合到一起以及如何为整合的负载分配资源。pSciMapper介绍了一种距离度量标准来判断两个任务,能否整合到一起。如果两个任务之间的相关距离小于设定的阈值,pSciMapper就合并两个任务。 Verma[20]设计一个相似的都考虑了负载间相关性的数据中心负载整合方法。皮尔森相关系数用来分析两个应用的相关性以避免SLA资源容量冲突。实验表明这种方法能实现负均衡、节能和较少的冲突,但是他们只考虑了CPU相关性分析。 2.5 迁移整合时对网络通信量的考虑 在决策何时、哪个VM迁移的时候,不能忽视对网络带宽影响和VM之间的网络通信密集程度的考虑。当系统管理模块发现不同物理机上的两个VM之间有密集的网络通信时,这两个VM应该迁移到同一台机器上。Meng[21]证明机器之间的通信量是相关联的,当两个结点间迁移VM时,结点间原来的网络通信模式改变了,不同网段的通信量也会增加。由此提出了通信量感知的虚拟机放置策略。大量的迁移会导致通信量超出交换机或路由器容量,也会妨碍其他没有相关迁移的机器与外部的通信。为了减少虚拟机到物理机的迁移的网络通信开销,Stage[22]提出了一种网络拓扑感知的虚拟机实时迁移调度模型,算法考虑到明确的带宽需求、网络拓扑和虚拟机负载的分类。频繁的迁移会导致系统不可靠、网络拥塞、高延时、低性能和高能耗。因此不当的VM放置和不明智的VM迁移整合也是设计节能策略时需要避免的问题。 3 结束语 能耗问题越来越严重,提高资源利用率、减少冗余是系统节能的核心。由于虚拟化技术能有效利用资源、节省成本、容易部署等优点而被大部分企业广泛应用,像数据中心已经实现虚拟化环境。由于数据中心服务器利用率很低,负载的需求也是多变的,节能的常用方法就是迁移虚拟机、聚集负载、整合服务器,将多余的服务器关闭或者调节至低能耗状态。虚拟机放置、迁移和整合时需要考虑很多因素:虚拟机之间的相关性、网络通信量、负载均衡、结点的利用率和温度等等。虚拟机放置和迁移时可以考虑不同地理位置的数据中心的电费、冷却开销的差异来分布和放置不同的虚拟机应用程序,寻找开销最低、运算较快的结点。另外,因为系统在不断地扩展,需要研究系统设计的算法和策略的可扩展性,还要支持异构性。 4 参考文献 [1] US Environmental Protection Agency (EPA). Energy Star program [R]. EPA Report on Server and Data Center Energy Efficiency. Washington, DC USA: US EPA, 2007. [2] PATEL C D, BASH C E, SHARMA R, et al. Smart cooling of data centers [C]//Proceedings of the Pacific Rim/ASME International Electronic Packaging Technical Conference and Exhibition PACK(IPACK'03), Jul 6-11, 2003, Maui, HI,USA. 2003:129-137. [3] BELADY C, RAWSON A, PFLUEGER J, et al. The Green Grid data center power ef?ciency metrics: PUE and DCiE [R]. White Paper #6. Beaverton,OR,USA: Green Grid, 2007. [4] NATHUJI R, SCHWAN K. Virtual power: Coordinated power management in virtualized enterprise systems [C]//Proceedings of the 21th ACM SIGOPS Symposium on Operating Systems Principles (SOSP’07), Oct 14-17, 2007, Washington, DC, USA. New York, NY, USA: ACM, 2007: 265-278. [5] NATHUJI R, SCHWAN K. VPM tokens: Virtual machine-aware power budgeting in datacenters [C]//Proceedings of the 17th ACM/IEEE International Symposium on High Performance Distributed Computing (HPDC’08), Jun 23-27,2008, Boston, MA, USA. New York, NY, USA: ACM ,2008: 119-128. [6] KUSIC D, KEPHART J O, HANSON J E, et al. Power and performance management of virtualized computing environments via lookahead control [J]. Cluster Computing, 2009,12(1): 1-15. [7] URGAONKAR B, ROSENBERG A, SHENOY P. Application placement on a cluster of servers [J]. International Journal on Foundations of Computer Science, 2007, 18(5): 1023-1041. [8] VOORSLUYS W, BROBERG J, VENUGOPAL S, et al. Cost of virtual machine live migration in clouds: A performance evaluation [C]//Proceedings of the 1st International Conference on Cloud Computing(CloudCom’09), Dec 1-4, 2009, Beijing, China. LNCS 5931. Berlin, Germany: Springer-Verlag, 2009:254-265. [9] CARDOSA M, KORUPOLU M, SINGH A. Shares and utilities based power consolidation in virtualized server environments [C]//Proceedings of 11th IFIP/IEEE International Symposium on Integrated Network Management (IM’09), Jun 1-5, 2009, Long Island, NY, USA. Piscataway, NJ,USA: IEEE, 2009:327-334. [10] BOBRO N, KOCHUT A, BEATY K. Dynamic placement of virtual machines for managing SLA violations [C]//Proceedings of 10th IFIP/IEEE International Symposium on Integrated Network Management (IM’07), May 21-25, 2007, Munich, Germany. Piscataway, NJ,USA: IEEE, 2007: 119-128. [11] VERMA A, AHUJA P, NEOGI A. Power-aware dynamic placement of HPC applications [C]//Proceedings of the 22nd Annual International Conference on Supercomputing(ICS’08), Jun 7-12, 2008, Island of Kos, Greece. New York, NY, USA: ACM, 2008: 175-184. [12] VERMA A, AHUJA P, NEOGI A. pMapper: Power and migration cost aware application placement in virtualized systems [C]//Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware (Middleware ’08), Dec 1-4, 2008, Leuven, Belgium. New York, NY, USA: Springer-Verlag, 2008:243-264. [13] HERMENIER F, LORCA X, MENAUD J M, et al. Entropy: A consolidation manager for clusters [C]//Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE'09), Mar 11-13, 2009, Washington, DC,USA. New York, NY, USA: ACM, 2009: 41-50. [14] DHIMAN G, MARCHETTI G, ROSING T. vGreen: A system for energy efficient computing in virtualized environments [C]//Proceedings of the 14th IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED’09), Aug 19-21, 2009, San Fancisco, CA, USA. New York, NY, USA: ACM, 2009:243-248. [15] LIU L, WANG H, LIU X, et al. GreenCloud: A new architecture for green data center [C]//Proceedings of the 6th IEEE International Conference on Autonomic Computing and Communications (ICAC '09), Jun 15-19, 2009, Barcelona, Spain. Piscataway, NJ,USA: IEEE, 2009:29-38. [16] BLACKBURN S M, GARNER R, HOFFMAN C, et al. The DaCapo benchmarks: Java benchmarking development and analysis [C]//Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA’06), Oct 22-26, 2006, Portland, OR, USA. New York, NY, USA: ACM, 2006: 169-190. [17] AKOUSH S, SOHAN R, RICE A, et al. Predicting the performance of virtual machine migration [C]//Proceedings of the 18th Annual IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS’10), Aug 17-19, 2010, Miami, FL, USA. New York, NY, USA: ACM, 2010:37-46. [18] LIU Haikun, XU Chengzhong, JIN Hai. Performance and energy modeling for live migration of virtual machines [C]//Proceedings of the 20th International ACM Symposium on High-performance Parallel and Distributed Computing (HPDC’11), Jun 8-11, 2011, San Jose, CA, USA. New York, NY, USA: ACM, 2011:171-182. [19] ZHU Qian, ZHU Jiedan, AGRAWAL G.Power-aware consolidation of scientific workflows in virtualized environments [C]//Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis (SC’10), Nov 13-19, 2010, New Orleans, LA, USA. Washington, DC, USA: IEEE Computer Society, 2010: 12p. [20] VERMA A, DASGUPTA G, NAYAK T K, et al. Server workload analysis for power minimization using consolidation [C]//Proceedings of the 2009 USENIX Annual Technical Conference (USENIX’09), Jun 14-19, 2009, San Diego, CA, USA. Berkeley, CA, USA: USENIX Association, 2009:28. [21] MENG X, PAPPAS V, ZHANG L. Improving the scalability of data center networks with traffic-aware virtual machine placement [C]//Proceedings of the 29th Annual Joint Conference of the IEEE Computer and Communications (INFOCOM’10), Mar 14-19, 2010, San Diego, CA, USA. Piscataway, NJ, USA: IEEE, 2010:9p. [22] STAGE A, SETZER T. Network-aware migration control and scheduling of differentiated virtual machine workloads [C]//Proceedings of the 1st ICSE Workshop on Software Engineering Challenges of Cloud Computing (ICSE Cloud’09), May 22-23, 2009, Vancouver, Canada. Washington, DC, USA: IEEE Computer Society, 2009: 9-14. |