一种基于cpu动态调频技术的数据中心节能方法
【专利摘要】本发明涉及一种基于CPU动态调频技术的数据中心节能方法,所述方法包括虚拟机初始化放置和动态管理两个阶段。与现有技术不同,将数据中心节能使用的虚拟机放置技术分为初始化放置和动态管理两阶段来分别考虑。初始化放置适用于数据中心运行之初,以及定期整体调整的时机,由于时间允许,采用的方法具有全局性及长期效应;动态管理适用于数据中心运行时,面对不同的任务,所进行的局部的管理或迁移,采用的方法涉及局部资源并能保证实时性。
【专利说明】一种基于CPU动态调频技术的数据中心节能方法
【技术领域】
[0001]本发明属于信息【技术领域】,具体涉及一种基于CPU动态调频技术的数据中心节能方法。
【背景技术】
[0002]最近几年,云计算已经成为计算模式的研究和应用热点。各种各样的云计算产品方便了网络应用,例如AmazonEC2、Google AppEngine等。随着云数据中心的蓬勃发展和各类商业云的积极铺开,需求的飞速增长和多样化使得数据中心的规模越来越大、越来越复杂。据统计,Google、微软、拍卖网站eBay、雅虎、Facebook、亚马逊等所拥有的服务器数量均在几十万台。我国2009年各类数据中心和机房的总数量达到519990个,超过70%的服务器安装运行在数据中心。Internet数据中心预计,2012年我国数据中心数量以复合年增长率1.3%达到约540777个左右。40.6%的数据中心服务器数量以20%_50%速度增长。随着数据中心规模的激增,供应系统正常运行的电能和制冷等成本也呈爆炸式增长,由此造成的系统过热现象严重。
[0003]云数据中心的巨大能耗已经成为一个突出问题。据统计,2006年美国6000个左右的数据中心,消耗了大约610亿千瓦时的电能,总值高达45亿美元,超过了当年美国所有彩色电视机的总能耗。来自美国能源部的数据表明,数据中心的能耗占全美所有能耗的1.5%,并且对电能的需求仍在以每年12%的速度增长。2010年,美国数据中心的耗电量已达1000亿度,占总耗电量的2.5%,中国也达到了 2.4%,资源环境问题已成为数据中心发展的瓶颈。
[0004]然而据统计,数据中心的资源利用率很低,平均只有30%左右,服务器在一天中有很大一部分时间处于闲置(CPU利用率为O),即使空闲时也会带来满载(CPU利用率为100%)时60%的功耗。尽管云计算被认为是一种绿色计算,但其本身并没有提供成熟的解决方案来评价和降低能耗,仍需要一种高能效方法来切实地实现绿色计算。
[0005]如何在云端有效地整合资源,合理分配任务,使之既满足业务需求又降低系统功耗便成为云时代的一项新挑战。
[0006]当前,虚拟化技术已成为云基础设施资源实现按需动态伸缩的重要技术之一 [1],以虚拟机为粒度实现云数据中心的资源按需分配已成为趋势。通过实时迁移虚拟机,数据中心可以将若干负载较低的虚拟机整合到较少物理机上,关闭那些没有虚拟机的物理机,从而实现节能。具体来说,实现虚拟机迁移的动机在于对物理机的实时监测,如果发现过热点(负载过重)或者过冷点(负载过轻),就会触发迁移,平衡热点、关掉过冷点,达到节能的目的。
[0007]我们将云数据中心从资源预测、触发迁移、待迁虚拟机选择、目的物理机选择的过程称为虚拟机到物理机的放置。文献[2]提出通过预测各节点资源利用率,将资源利用率低的节点中的所有虚拟机迁出然后关机以节省能耗,将资源利用率过高的节点中的部分虚拟机迁出以降低资源利用率和防止形成热点。文献[3]则提出监测资源利用率趋势的预测方法,以避免频繁迁移。这些方法存在预测不够准确导致无谓的迁移,而虚拟机的迁移会增加节点CPU资源的消耗,迁移发生的次数越多,消耗的CPU资源就越多,进而数据中心的电源消耗也越多。另一方面,迁移中的虚拟机将会遭受长时间的服务性能下降。所以在节能问题中有必要减少虚拟机迁移次数的发生。
[0008]以放置方法的能耗最低为优化目标,当前已有一些启发式求解方法,文献[4]提出了一种改进的蚁群算法,文献[5]提出了基于NSGA-1I的遗传算法。上述算法都是基于物理机CPU频率固定的前提。文献[6]面对数据中心电源节约问题,提出采用广泛用于解决装箱问题的降序最先适应(FFD)算法来进行虚拟机整合。他们并没有采取对系统进行实时优化,而引入了两个门限值:&_和1^?。只有当物理主机的CPU利用率超过Rlligh或者低于Rkjw,虚拟机才会被迁移。但是这种方法中的门限值为固定值,并不能随应用负载的变化而变化,所以达不到最有效的节能。Li等人m提出了在大规模云计算环境中根据能源消耗和应用程序的特性,利用应用程序的调度和虚拟机的实时迁移,将应用程序在尽量少的物理主机上重组。文中提出了一个能量感知方法,可以根据应用事件的到达或离开重组应用程序的位置。但是这种方法没有考虑用户对资源的目标要求SLA。[8,9]中提出的虚拟机资源监控主要针对CPU,根据算法发现出现热点的主机。从该主机上对VM负载进行排序,选取最大的VM进行迁移,考虑了 CPU的行为趋势。由于虚拟机的负载会随用户和应用的需求而经常变化,对虚拟机的放置没有考虑资源均衡的目标。
[0009]由于物理机能耗主要以CPU资源利用率为主,文献[1°]发现CPU的利用率和服务器总电量的消耗存在一定的关系。随着CPU的利用率从空闲状态上升到满负载,服务器的电源消耗也成线性增长。文献[11]进一步讨论了 CPU能耗和CPU利用率和频率的关系,提出CPU的动态能耗与频率的三次方和利用率成正比。
[0010]参考文献:
[0011][I]张伟,宋莹,阮利等.面向Internet数据中心的资源管理[J].软件学报,2012,23 (2):179-199.[0012][2]Kirk B,Gautam K,Andrzej K.Application Performance Managementin Virtualized Server Env ironments[C].//Symp of Network Operations andManagement.10th IEEE/IFIP,2006:373-381.[0013][3]Xu Jj Fortes J.A mult1-objective approach to virtual machinemanagement in datacenters [C].//Proc of the 8th ACM international conference onAutonomic computing.ACM, 2011:225 - 234.[0014][4]周文俊,曹健.基于预测及蚁群算法的云计算资源调度策略.计算机仿真,2012,29 (9):239-242.[0015][5]李强,郝沁汾,肖利民,等.云计算中虚拟机放置的自适应管理与多目标优化.计算机学报,2011,34(12):2253-2264.[0016][6]S.Takeda and T.Takemura.A Rank-based VM Consolidation Methodfor Power Saving in Datacenters, IPSJ Transactions on Advanced ComputingSystems3(2):138-146(2010).[0017][7]B.Li,J.Li,J.Huai, T.Woj Q.Li,and L.Zhong.Enacloud:An energy-savingapplication live placement approach for cloud computing environments,inIEEE International Conference on Cloud Computing.1EEE ComputerSociety, 2009, pp.17 - 24.[0018][8] Mauro Andreolini, Sara Casolari, Dynamic load management ofvirtual machines in cloud architectures.Lecture Notes of the Institutefor Computer Sciences, Social Informatics and TelecommunicationsEngineering, 2010, 34(6): 201-214.[0019][9] Ya^glZ Onat Yazr, Chris Matthews, Roozbeh Farahbod.Dynamic ResourceAllocation in Computing Clouds using Distributed Multiple Criteria DecisionAnalysis.2010 IEEE 3rd International Conference on Cloud Computing:91-98.[0020][10] Fan Xiaobo, Weber W D, Barroso L A.Power Provisioning for aWarehouse-sized Computer[C]//Proc.0f the 34th Annual International Symposiumon Computer Architecture.New York, USA:ACM Press, 2007.[0021][11]宋杰,李甜甜,闻振兴.一种云计算环境下的能效模型和度量方法[J].软件学报,2012, 23 (2): 200-213.[0022]现有技术很少将虚拟机的放置分为初始化放置和动态管理两阶段来分别考虑不同的处理。本发明将虚拟机的初始化放置和动态阶段的管理分为两个不同的阶段。初始化放置方案具有长期效应,因为虚拟机迁移会带来资源的消耗和时间的浪费,所以虚拟机放置中广泛的改变是不切实际的。动态管理阶段由于负载的资源利用率变化,主要包括待迁虚拟机选择、迁移时机以及目的物理机选择三方面。
[0023]现有技术大都是基于物理机CPU频率固定的前提。传统的数据中心物理机服务器(PU是以一个固定频率运行的,然而这个频率不一定是运行该负载的最佳频率。本发明在初始化放置阶段通过引入CPU频率的动态范围扩大了虚拟机放置方案的解空间;在动态管理阶段通过动态调整CPU频率以适合负载及其变化规律。
[0024]现有的技术存在预测不够准确导致无谓的迁移,而虚拟机的迁移会增加节点CPU资源的消耗,迁移发生的次数越多,消耗的CPU资源就越多,进而数据中心的电源消耗也越多。另一方面,迁移中的虚拟机将会遭受长时间的服务性能下降。所以在节能问题中有必要减少虚拟机迁移次数的发生。本发明在动态阶段虚拟机CPU资源利用率超门限时,通过调节CPU频率使之回归到正常范围内。可以避免虚拟机迁移及对预测迁移时机的依赖。
[0025]现有的技术较少考虑虚拟机负载类型,例如,1/0密集型应用、计算密集型应用对物理机资源的需求是不一样的。本发明是一个多目标优化的方法,目标当中考虑了资源均衡。
[0026]由于虚拟机的负载还会随用户和应用的需求而经常变化, 而在云计算环境中,月艮务是最基本的资源提供形式,因此需要考虑用户和应用对资源的需求目标,充分考虑用户对资源的目标要求SLA(Service Level Agreement,服务等级协议)。现有技术放置目标单一化。本发明的多目标优化方法中将节能和资源均衡以及SLA三个目标结合起来考虑,最终能得到节能、资源均衡以及满足用户资源需求三者的最优方案。
【发明内容】
[0027]本发明的目的是针对上述现有技术中的不足,提出基于CPU调频技术的云数据中心节能方法,该方法以降低能耗和满足用户服务等级协议SLA为目标。分初始化分配和动态管理两个阶段,在虚拟机初始分配时通过启发式的算法搜索解空间,其中,因为允许动态调节CPU频率,因而比传统方法有更大的解空间。在动态管理阶段,如果CPU资源利用率超过事先设定的门限,通过调节CPU频率使之回归到正常范围内。相对于传统方法一超门限就迁移虚拟机的单一手段,调节CPU频率的方法减少了迁移次数及对预测迁移时机的依赖。
[0028]为了实现上述发明目的,本申请提供了以下技术方案:
[0029]本发明针对云数据中心的节能问题,从虚拟机资源管理的角度,提出了一个基于CPU调频技术的数据中心节能调度方法CAS。该方法分虚拟机初始化放置和动态管理两个阶段,各有不同的技术方案。
[0030]虚拟机初始化放置阶段技术方案
[0031]将虚拟机初始化放置描述为一个变种的装箱问题:n个虚拟机放置到m个物理机中,考虑每台物理机的CPU有r个可用频率,对于不同的虚拟机负载任务应该选用最合适的工作频率。因此解空间为!."^。依次以SLA、能耗、资源均衡为优化目标,从rmmn的解空间中搜索出最佳的虚拟机放置方案。
[0032]先将本技术方案中涉及到的参数描述如下:
[0033]( I)单个物理节点的能耗表示为:
[0034]fenergy=c+k*f3*ucpu (1)
[0035]fenergy表示物理机的瞬时功率,其中c表示物理机静止能耗;f是CPU频率,Ucpu是CPU利用率,k是系数,表示CPU的动态能耗与频率的三次方和利用率成正比[11]。
[0036]本发明主要考虑物理节点的三维资源,分别是CPU资源,内存资源和带宽资源,如果资源利用率不平衡很容易导致资源的浪费,即,某一维资源已经不足,另一维资源还有剩余,剩余的资源也无法分配出去。因此,本发明定义资源均衡度如下:
[0037](2)单个物理节点的资源均衡度表示为:
[0038]
【权利要求】
1.一种基于CPU动态调频技术的数据中心节能方法,其特征在于:所述方法包括虚拟机初始化放置和动态管理两个阶段。
2.根据权利要求1所述的方法,其特征在于:所述虚拟机初始化放置阶段包括如下技术参数 (1)单个物理节点的能耗表示为
3.根据权利要求2所述的方法,其特征在于:所述虚拟机初始化放置阶段的步骤如下 (I)首先将所有的虚拟机、物理机构造成形如(VMp PMi)的二元组路径对,赋予每条路径一个相同的初始信息素值值tij=t; (2)初始化一个F值为O,F意义参见式(3),并赋值给F1,作为迭代与否的参照; (3)开始迭代,用S集合记录放置方案的集合,初始化为空,S=O; (4)为每只蚂蚁a轮流执行以下步骤: 初始化该蚂蚁的路径集合Sa={}; 遍历虚拟机j从I到N ;: _ ht/ 为j按照概率
4.根据权利要求1所述的方法,其特征在于:所述动态管理即对动态管理阶段的虚拟机放置进行的资源监测和调整策略的方法,主要包括CPU频率调节方法、待迁虚拟机及目的物理机选择,其中,设置双层门限(VHigh,Vlow)监测资源利用率具有上升趋势的物理节点,Vsigh高于\?,每隔30s监测各物理节点的资源利用情况,最近η个时刻的资源利用率构成序列,如果资源利用率超过的次数大于设定的次数即ηρ%,ρ事先设定,则用η阶自回归模型对下一时间值进行预测,第η+1时刻的预测值un+1表示为 un+i= α IU1+ a 2u2+......+ a nun+ ε n+1--------------------(4) 其中a i表示自回归系数,Ui表示时刻i的资源利用率,ε n+1是满足正态分布的噪声;如果un+1超过VHigh,则判定该物理节点资源利用率会超门限,以此来有效监测资源利用率具有上升趋势的物理节点,这样能够更准确地应对物理节点负载变化。
5.根据权利要求4所述的方法,其特征在于:由于CPU是资源利用率变化最活跃的一个资源要素,因此当预测结果超过VHigh,并且超门限资源只有CPU资源时,则首先使用调节(PU频率的方法,即,当预测值大于VHigh,说明CPU利用率过高,超过了 SLA对资源的限定要求,则尝试调高CPU频率,让其利用率回归正常范围,以此减少不必要的虚拟机迁移。
6.根据权利要求4所述的方法,其特征在于:对于通过调节CPU频率使CPU资源利用率不能回归门限范围,或者是存在其它维资源利用率超门限的情况,则通过虚拟机迁移予以调整。 待迁虚拟机的选择 虚拟机迁移很大一部分代价耗费在网络传输上,因此先迁移占用内存较小的虚拟机以保证较小的迁移代价,对利用率超过门限的那维资源,按照该维资源与内存利用率之比对虚拟机作降序排列,依次迁出虚拟机,直至资源利用率回归正常水平,这样能够迁移尽可能少的内存页而使资源利用率恢复正常; 对于资源利用率过低的物理节点,迁出其上所有虚拟机然后使该节点休眠,这样能够比较有效地降低基础能耗; 目的物理机的选择 虚拟机迁出后,需要选择合适的目标物理机,依据大包先装的原则,将所有待迁出的虚拟机按资源综合利用率U降序排列,其中u=P*umem+q*uCPU+r*ubw, 其中p>q>r为各维资源的权重系数,依次为虚拟机选择目标物理节点,其中uM表示内存利用率,由于内存是三种资源中比较难满足的,所以其权重最大表示CPU资源利用率,Ubw表示带宽利用率。`
【文档编号】G06F9/455GK103488539SQ201310436135
【公开日】2014年1月1日 申请日期:2013年9月23日 优先权日:2013年9月23日
【发明者】刘真, 向勇潮 申请人:北京交通大学