CN103488539A - 一种基于cpu动态调频技术的数据中心节能方法 - Google Patents
一种基于cpu动态调频技术的数据中心节能方法 Download PDFInfo
- Publication number
- CN103488539A CN103488539A CN201310436135.8A CN201310436135A CN103488539A CN 103488539 A CN103488539 A CN 103488539A CN 201310436135 A CN201310436135 A CN 201310436135A CN 103488539 A CN103488539 A CN 103488539A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- cpu
- resource
- physical
- resource utilization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
Abstract
本发明涉及一种基于CPU动态调频技术的数据中心节能方法,所述方法包括虚拟机初始化放置和动态管理两个阶段。与现有技术不同,将数据中心节能使用的虚拟机放置技术分为初始化放置和动态管理两阶段来分别考虑。初始化放置适用于数据中心运行之初,以及定期整体调整的时机,由于时间允许,采用的方法具有全局性及长期效应;动态管理适用于数据中心运行时,面对不同的任务,所进行的局部的管理或迁移,采用的方法涉及局部资源并能保证实时性。
Description
技术领域
本发明属于信息技术领域,具体涉及一种基于CPU动态调频技术的数据中心节能方法。
背景技术
最近几年,云计算已经成为计算模式的研究和应用热点。各种各样的云计算产品方便了网络应用,例如AmazonEC2、GoogleAppEngine等。随着云数据中心的蓬勃发展和各类商业云的积极铺开,需求的飞速增长和多样化使得数据中心的规模越来越大、越来越复杂。据统计,Google、微软、拍卖网站eBay、雅虎、Facebook、亚马逊等所拥有的服务器数量均在几十万台。我国2009年各类数据中心和机房的总数量达到519990个,超过70%的服务器安装运行在数据中心。Internet数据中心预计,2012年我国数据中心数量以复合年增长率1.3%达到约540777个左右。40.6%的数据中心服务器数量以20%-50%速度增长。随着数据中心规模的激增,供应系统正常运行的电能和制冷等成本也呈爆炸式增长,由此造成的系统过热现象严重。
云数据中心的巨大能耗已经成为一个突出问题。据统计,2006年美国6000个左右的数据中心,消耗了大约610亿千瓦时的电能,总值高达45亿美元,超过了当年美国所有彩色电视机的总能耗。来自美国能源部的数据表明,数据中心的能耗占全美所有能耗的1.5%,并且对电能的需求仍在以每年12%的速度增长。2010年,美国数据中心的耗电量已达1000亿度,占总耗电量的2.5%,中国也达到了2.4%,资源环境问题已成为数据中心发展的瓶颈。
然而据统计,数据中心的资源利用率很低,平均只有30%左右,服务器在一天中有很大一部分时间处于闲置(CPU利用率为0),即使空闲时也会带来满载(CPU利用率为100%)时60%的功耗。尽管云计算被认为是一种绿色计算,但其本身并没有提供成熟的解决方案来评价和降低能耗,仍需要一种高能效方法来切实地实现绿色计算。
如何在云端有效地整合资源,合理分配任务,使之既满足业务需求又降低系统功耗便成为云时代的一项新挑战。
当前,虚拟化技术已成为云基础设施资源实现按需动态伸缩的重要技术之一[1],以虚拟机为粒度实现云数据中心的资源按需分配已成为趋势。通过实时迁移虚拟机,数据中心可以将若干负载较低的虚拟机整合到较少物理机上,关闭那些没有虚拟机的物理机,从而实现节能。具体来说,实现虚拟机迁移的动机在于对物理机的实时监测,如果发现过热点(负载过重)或者过冷点(负载过轻),就会触发迁移,平衡热点、关掉过冷点,达到节能的目的。
我们将云数据中心从资源预测、触发迁移、待迁虚拟机选择、目的物理机选择的过程称为虚拟机到物理机的放置。文献[2]提出通过预测各节点资源利用率,将资源利用率低的节点中的所有虚拟机迁出然后关机以节省能耗,将资源利用率过高的节点中的部分虚拟机迁出以降低资源利用率和防止形成热点。文献[3]则提出监测资源利用率趋势的预测方法,以避免频繁迁移。这些方法存在预测不够准确导致无谓的迁移,而虚拟机的迁移会增加节点CPU资源的消耗,迁移发生的次数越多,消耗的CPU资源就越多,进而数据中心的电源消耗也越多。另一方面,迁移中的虚拟机将会遭受长时间的服务性能下降。所以在节能问题中有必要减少虚拟机迁移次数的发生。
以放置方法的能耗最低为优化目标,当前已有一些启发式求解方法,文献[4]提出了一种改进的蚁群算法,文献[5]提出了基于NSGA-II的遗传算法。上述算法都是基于物理机CPU频率固定的前提。文献[6]面对数据中心电源节约问题,提出采用广泛用于解决装箱问题的降序最先适应(FFD)算法来进行虚拟机整合。他们并没有采取对系统进行实时优化,而引入了两个门限值:RHigh和RLow。只有当物理主机的CPU利用率超过RHigh或者低于RLow,虚拟机才会被迁移。但是这种方法中的门限值为固定值,并不能随应用负载的变化而变化,所以达不到最有效的节能。Li等人[7]提出了在大规模云计算环境中根据能源消耗和应用程序的特性,利用应用程序的调度和虚拟机的实时迁移,将应用程序在尽量少的物理主机上重组。文中提出了一个能量感知方法,可以根据应用事件的到达或离开重组应用程序的位置。但是这种方法没有考虑用户对资源的目标要求SLA。[8,9]中提出的虚拟机资源监控主要针对CPU,根据算法发现出现热点的主机。从该主机上对VM负载进行排序,选取最大的VM进行迁移,考虑了CPU的行为趋势。由于虚拟机的负载会随用户和应用的需求而经常变化,对虚拟机的放置没有考虑资源均衡的目标。
由于物理机能耗主要以CPU资源利用率为主,文献[10]发现CPU的利用率和服务器总电量的消耗存在一定的关系。随着CPU的利用率从空闲状态上升到满负载,服务器的电源消耗也成线性增长。文献[11]进一步讨论了CPU能耗和CPU利用率和频率的关系,提出CPU的动态能耗与频率的三次方和利用率成正比。
参考文献:
[1]张伟,宋莹,阮利等.面向Internet数据中心的资源管理[J].软件学报,2012,23(2):179-199.
[2]Kirk B,Gautam K,Andrzej K.Application PerformanceManagement in Virtualized Server Environments[C].//Symp of NetworkOperations and Management.10th IEEE/IFIP,2006:373-381.
[3]Xu J,Fortes J.A multi-objective approach to virtual machinemanagement in datacenters[C].//Proc of the 8th ACM internationalconference on Autonomic computing.ACM,2011:225–234.
[4]周文俊,曹健.基于预测及蚁群算法的云计算资源调度策略.计算机仿真,2012,29(9):239-242.
[5]李强,郝沁汾,肖利民,等.云计算中虚拟机放置的自适应管理与多目标优化.计算机学报,2011,34(12):2253-2264.
[6]S.Takeda and T.Takemura.A Rank-based VM ConsolidationMethod for Power Saving in Datacenters,IPSJ Transactions on AdvancedComputing Systems3(2):138-146(2010).
[7]B.Li,J.Li,J.Huai,T.Wo,Q.Li,and L.Zhong.Enacloud:Anenergy-saving application live placement approach for cloud computingenvironments,in IEEE International Conference on Cloud Computing.IEEE Computer Society,2009,pp.17–24.
[8]Mauro Andreolini,Sara Casolari,Dynamic load management ofvirtual machines in cloud architectures.Lecture Notes of the Institute forComputer Sciences,Social Informatics and TelecommunicationsEngineering,2010,34(6):201-214.
[9] Onat Yazr,Chris Matthews,Roozbeh Farahbod.Dynamic Resource Allocation in Computing Clouds using DistributedMultiple Criteria Decision Analysis.2010 IEEE 3rd InternationalConference on Cloud Computing:91-98.
[10]Fan Xiaobo,Weber W D,Barroso L A.Power Provisioning fora Warehouse-sized Computer[C]//Proc.of the 34th Annual InternationalSymposium on Computer Architecture.New York,USA:ACM Press,2007.
[11]宋杰,李甜甜,闫振兴.一种云计算环境下的能效模型和度量方法[J].软件学报,2012,23(2):200-213.
现有技术很少将虚拟机的放置分为初始化放置和动态管理两阶段来分别考虑不同的处理。本发明将虚拟机的初始化放置和动态阶段的管理分为两个不同的阶段。初始化放置方案具有长期效应,因为虚拟机迁移会带来资源的消耗和时间的浪费,所以虚拟机放置中广泛的改变是不切实际的。动态管理阶段由于负载的资源利用率变化,主要包括待迁虚拟机选择、迁移时机以及目的物理机选择三方面。
现有技术大都是基于物理机CPU频率固定的前提。传统的数据中心物理机服务器CPU是以一个固定频率运行的,然而这个频率不一定是运行该负载的最佳频率。本发明在初始化放置阶段通过引入CPU频率的动态范围扩大了虚拟机放置方案的解空间;在动态管理阶段通过动态调整CPU频率以适合负载及其变化规律。
现有的技术存在预测不够准确导致无谓的迁移,而虚拟机的迁移会增加节点CPU资源的消耗,迁移发生的次数越多,消耗的CPU资源就越多,进而数据中心的电源消耗也越多。另一方面,迁移中的虚拟机将会遭受长时间的服务性能下降。所以在节能问题中有必要减少虚拟机迁移次数的发生。本发明在动态阶段虚拟机CPU资源利用率超门限时,通过调节CPU频率使之回归到正常范围内。可以避免虚拟机迁移及对预测迁移时机的依赖。
现有的技术较少考虑虚拟机负载类型,例如,I/O密集型应用、计算密集型应用对物理机资源的需求是不一样的。本发明是一个多目标优化的方法,目标当中考虑了资源均衡。
由于虚拟机的负载还会随用户和应用的需求而经常变化,而在云计算环境中,服务是最基本的资源提供形式,因此需要考虑用户和应用对资源的需求目标,充分考虑用户对资源的目标要求SLA(ServiceLevel Agreement,服务等级协议)。现有技术放置目标单一化。本发明的多目标优化方法中将节能和资源均衡以及SLA三个目标结合起来考虑,最终能得到节能、资源均衡以及满足用户资源需求三者的最优方案。
发明内容
本发明的目的是针对上述现有技术中的不足,提出基于CPU调频技术的云数据中心节能方法,该方法以降低能耗和满足用户服务等级协议SLA为目标。分初始化分配和动态管理两个阶段,在虚拟机初始分配时通过启发式的算法搜索解空间,其中,因为允许动态调节CPU频率,因而比传统方法有更大的解空间。在动态管理阶段,如果CPU资源利用率超过事先设定的门限,通过调节CPU频率使之回归到正常范围内。相对于传统方法一超门限就迁移虚拟机的单一手段,调节CPU频率的方法减少了迁移次数及对预测迁移时机的依赖。
为了实现上述发明目的,本申请提供了以下技术方案:
本发明针对云数据中心的节能问题,从虚拟机资源管理的角度,提出了一个基于CPU调频技术的数据中心节能调度方法CAS。该方法分虚拟机初始化放置和动态管理两个阶段,各有不同的技术方案。
虚拟机初始化放置阶段技术方案
将虚拟机初始化放置描述为一个变种的装箱问题:n个虚拟机放置到m个物理机中,考虑每台物理机的CPU有r个可用频率,对于不同的虚拟机负载任务应该选用最合适的工作频率。因此解空间为rmmn。依次以SLA、能耗、资源均衡为优化目标,从rmmn的解空间中搜索出最佳的虚拟机放置方案。
先将本技术方案中涉及到的参数描述如下:
(1)单个物理节点的能耗表示为:
fenergy=c+k*f3*ucpu-----------------------(1)
fenergy表示物理机的瞬时功率,其中c表示物理机静止能耗;f是CPU频率,uCPU是CPU利用率,k是系数,表示CPU的动态能耗与频率的三次方和利用率成正比[11]。
本发明主要考虑物理节点的三维资源,分别是CPU资源,内存资源和带宽资源,如果资源利用率不平衡很容易导致资源的浪费,即,某一维资源已经不足,另一维资源还有剩余,剩余的资源也无法分配出去。因此,本发明定义资源均衡度如下:
(2)单个物理节点的资源均衡度表示为:
其中
umem,ubw分别表示物理节点的内存,带宽利用率。从式2可以看出,如果三种资源利用率比较均衡,fbalance的取值也会相应的小。
(3)基于(1)和(2),虚拟机初始化放置的目标函数可以表示为:
s.t.ucpu≤usla,umem≤usla,ubw≤usla
其中表示物理节点i的能耗,fbalance i表示物理节点i的各维资源均衡程度。a、b是权值,表示对能耗和资源均衡两方面的重视程度。目标SLA通过约束fenergy和fbalance中的各维资源利用率体现,usla表示物理节点资源利用率的上限。
F函数的求解实质上是个多目标优化问题。本发明采用分层序列法分别考虑每个目标,将SLA作为第一目标,能耗作为第二目标,资源均衡度作为第三目标。在此基础上,设计了启发式蚁群算法用于搜索解空间,基本思路描述如下:
初始化时将虚拟机j和物理机i组成二元组,一个二元组对应一条路径,赋予每条路径一个相同的初始信息素值tij=t,蚂蚁为虚拟机j随机地选择路径,tij较大的路径易被选中,蚂蚁为所有虚拟机选好路径也就是选好物理机后,形成一个初步的虚拟机放置方案。n只蚂蚁形成n个虚拟机放置方案。我们把满足第一目标SLA的所有解作为第二目标的搜索空间。根据第二目标的解集,取前p%(p是预先设定的一个固定比例)的较优子集作为第三目标的搜索空间,继而得到最优放置解。对于最优放置解中的路径,其信息素按给定参数倍数递增。
重复上述过程,迭代至前后两次F值变化足够小后,输出一个较优的虚拟机放置方案。
算法1.虚拟机初始化放置蚁群算法
输入:虚拟机VM数目N,物理机PM数目M,蚂蚁数目A,误差范围ε,目标间解集递减参数p,信息素递增参数q(q>1)。
输出:最佳分配方案S。
算法的伪代码表示如下:
(1)首先将所有的虚拟机、物理机构造成形如(VMj,PMi)的二元组路径对,赋予每条路径一个相同的初始信息素值值tij=t。
(2)初始化一个F值为0(F意义参见式3),并赋值给F1,作为迭代与否的参照。
(3)开始迭代,用S集合记录放置方案的集合,初始化为空,S={}。
(4)为每只蚂蚁a轮流执行以下步骤:
初始化该蚂蚁的路径集合Sa={}。
遍历虚拟机j从1到N。
按照该分配迁移虚拟机j到物理机i上
如果迁移后物理机产生了任一维资源不足,则返回步骤(3),否则将Tij加入Sa的集合中,即:Sa=Sa+Tij。
将当前蚂蚁的方案Sa加入S,即:S=S+Sa。
(5)从S中选择fenergy最小的前p%个蚂蚁的方案,形成筛选后的S。
(6)从步骤(5)的S中选择fbalance最小的方案,形成含有本次迭代最优方案O的集合S。
(7)对本次迭代的最优方案O中的所有路径,增加其信息素值,即tij=tij*q。
(8)按照公式(3),计算本次最优方案O的F值。
(9)将F值与F1值进行对比,如果误差小于ε,则迭代结束,否则返回步骤3。
虚拟机动态管理放置阶段技术方案
虚拟机初始分配之后,在其运行过程中,由于所承载的任务类型不同,对各物理机的资源利用率也会发生变化。因此,需要根据任务负载的变化,监测资源利用率并作出应对。
设置双层门限(VHigh,VLow)监测资源利用率具有上升趋势的物理节点。VHigh高于VLow。每隔一定时间(如30s)监测各物理节点的资源利用情况,最近n个时刻的资源利用率构成序列,如果资源利用率超过VLow的次数大于设定的次数(np%,p事先设定),则用n阶自回归模型对下一时间值进行预测,第n+1时刻的预测值un+1可表示为:
un+1=α1u1+α2u2+……+αnun+εn+1--------------------(4)
其中αi表示自回归系数,ui表示时刻i的资源利用率,εn+1是满足正态分布的噪声。
如果un+1超过VHigh,则判定该物理节点资源利用率会超门限,以此来有效监测资源利用率具有上升趋势的物理节点,这样能够更准确得应对物理节点负载变化。
图2是动态管理阶段的虚拟机放置所进行的资源监测及调整方法的流程图。其中,CPU频率调节方法和待迁虚拟机及目的物理机的选择是三个关键点。
调节CPU频率应对负载变化
由于CPU是资源利用率变化最活跃的一个资源要素,因此当预测结果超过VHigh,并且超门限资源只有CPU资源时,则首先使用调节CPU频率的方法,即:当预测值大于VHigh,说明CPU利用率过高,超过了SLA对资源的限定要求。则尝试调高CPU频率,让其利用率回归正常范围。以此减少不必要的虚拟机迁移。
待迁虚拟机及目的物理机的选择
对于通过调节CPU频率使CPU资源利用率不能回归门限范围,或者是存在其它维资源利用率超门限的情况,则通过虚拟机迁移予以调整。
(1)待迁虚拟机的选择
虚拟机迁移很大一部分代价耗费在网络传输上,因此优先迁移占用内存较小的虚拟机以保证较小的迁移代价。对利用率超过门限的那维资源,按照该维资源与内存利用率之比对虚拟机作降序排列,依次迁出虚拟机,直至资源利用率回归正常水平。这样可以迁移尽可能少的内存页而使资源利用率恢复正常。
对于资源利用率过低的物理节点,迁出其上所有虚拟机然后使该节点休眠,这样可以比较有效地降低基础能耗。
(2)目的物理机的选择
虚拟机迁出后,需要选择合适的目标物理机。依据大包先装的原则,将所有待迁出的虚拟机按资源综合利用率u(u=p*umem+q*uCPU+r*ubw,其中p>q>r为各维资源的权重系数)降序排列,依次为其选择目标物理节点。其中umem表示内存利用率,由于内存是三种资源中比较难满足的,所以其权重最大;ucpu表示CPU资源利用率,ubw表示带宽利用率。
算法2.待迁虚拟机及目标物理机选择算法
输入:按照资源利用率降序排列的虚拟机队列VMs,按照可用资源降序排列的物理机队列PMs
输出:待迁虚拟机新的放置位置
有益效果
1、与现有技术不同,将数据中心节能使用的虚拟机放置技术分为初始化放置和动态管理两阶段来分别考虑。初始化放置适用于数据中心运行之初,以及定期整体调整的时机,由于时间允许,采用的方法具有全局性及长期效应;动态管理适用于数据中心运行时,面对不同的任务,所进行的局部的管理或迁移,采用的方法涉及局部资源并能保证实时性。
2、与现有技术通常只考虑单目标优化不同,本发明提出的两个阶段都将能耗、资源均衡度以及SLA多个目标综合起来进行问题的求解,并提出了物理节点的能耗表示模型、资源均衡度模型以及赋以权重值的目标函数。
3、现有技术中,物理机只考虑固定CPU频率的情况,没有在运行中通过技术手段来动态调节以改善CPU资源的利用率,本发明提出的两个阶段都利用了物理机存在CPU频率变化范围的特点,(1)在虚拟机初始化放置阶段,将每台物理机的CPU频率变化范围考虑进去,因此扩大了虚拟机放置方案的解空间,即,在n个虚拟机放置到m个物理机中,考虑每台物理机的CPU有r个可用频率,对于不同的虚拟机负载任务应选用最合适的工作频率。因此解空间为rmmn(不考虑变化的CPU,则解空间只有mn)(2)在动态管理阶段,当CPU资源利用率超门限时,首先通过调高CPU频率的方式,尝试使其CPU利用率回归正常范围,通过这种方法,避免了传统方法中,资源利用率一超门限就迁移虚拟机的情况。因而减少了虚拟机迁移所带来的物理机运算开销以及网络的传输开销。
4、在动态管理阶段,设置了双层门限(VHigh,VLow)用于监测资源利用率,并使用了自回归模型对下一时刻进行预测。通过对一段时间的资源利用率分析,能够进行提前预测,这样避免了虚拟机反复迁移的发生。
5、动态管理阶段,对待迁虚拟机的选择重点考虑了内存资源,优先迁移内存较小的虚拟机,对其它利用率超门限的资源,按照该维资源与内存利用率之比对虚拟机作降序排列,依次迁出虚拟机,直至资源利用率回归正常水平。这样可以迁移尽可能少的内存页而使资源利用率恢复正常,降低了虚拟机迁移的传输代价。(1)CPU动态调频:每台物理机设备的CPU都有一个工作频率范围(例如1.2GHz~2.8GHz),任何时刻CPU都会以一个确定的频率值工作。如果在任务量不是很大的情况下,将CPU的工作频率动态调低,将有助于物理机设备的节能。(2)虚拟机迁移:虚拟化技术是云数据中心实现资源的按需动态伸缩的关键技术之一,通过虚拟化技术,数据中心中的资源可以虚拟机的粒度来组织和提供。一台物理机可以承载若干个虚拟机,每个虚拟机共享物理机的CPU、内存、I/O等资源。为实现数据中心的节能,可以通过将若干低负载的虚拟机迁移到少数几台物理机上,关闭没有虚拟机的物理机的做法来实现数据中心的节能。
附图说明
图1虚拟机初始化放置蚁群算法;
图2动态管理阶段的资源监测及虚拟机放置方法。
具体实施方式
下面结合附图对本发明进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
一种基于CPU动态调频技术的数据中心节能方法,所述方法包括虚拟机初始化放置和动态管理两个阶段。
所述虚拟机初始化放置阶段包括如下技术参数
(1)单个物理节点的能耗表示为
fenergy=c+k*f3*ucpu-----------------------(1)
fenergy表示物理机的瞬时功率,其中c表示物理机静止能耗;f是CPU频率,uCPU是CPU利用率,k是系数,表示CPU的动态能耗与频率的三次方和利用率成正比;
(2)单个物理节点的资源均衡度表示为
其中
umem,ubw分别表示物理节点的内存和带宽利用率,从式(2)看出,如果三种资源利用率比较均衡,fbalance的取值也会相应的小;
(3)基于式(1)和式(2),虚拟机初始化放置的目标函数表示为:
s.t.ucpu≤usla,umem≤usla,ubw≤usla
其中表示物理节点i的能耗,fbalance i表示物理节点i的各维资源均衡程度,a、b是权值,表示对能耗和资源均衡两方面的重视程度,目标SLA通过约束fenergy和fbalance中的各维资源利用率体现,usla表示物理节点资源利用率的上限;
F函数的求解实质上是个多目标优化问题,采用分层序列法分别考虑每个目标,将SLA作为第一目标,能耗作为第二目标,资源均衡度作为第三目标,在此基础上,设计启发式蚁群算法用于搜索解空间,基本方法为
初始化时将虚拟机j和物理机i组成二元组,一个二元组对应一条路径,赋予每条路径一个相同的初始信息素值tij=t,蚂蚁为虚拟机j随机地选择路径,tij较大的路径易被选中,蚂蚁为所有虚拟机选好路径也就是选好物理机后,形成一个初步的虚拟机放置方案,n只蚂蚁形成n个虚拟机放置方案,将满足第一目标SLA的所有解作为第二目标的搜索空间,根据第二目标的解集,取前p%,的较优子集作为第三目标的搜索空间,继而得到正确的放置解,其中,p是预先设定的一个固定比例,对于正确放置解中的路径,其信息素按给定参数倍数递增;
重复上述过程,迭代至前后两次F值变化足够小后,输出一个正确的虚拟机放置方案。
所述虚拟机初始化放置阶段的步骤如下
(1)首先将所有的虚拟机、物理机构造成形如(VMj,PMi)的二元组路径对,赋予每条路径一个相同的初始信息素值值tij=t;
(2)初始化一个F值为0,F意义参见式(3),并赋值给F1,作为迭代与否的参照;
(3)开始迭代,用S集合记录放置方案的集合,初始化为空,S={};
(4)为每只蚂蚁a轮流执行以下步骤:
初始化该蚂蚁的路径集合Sa={};
遍历虚拟机j从1到N;
按照该分配迁移虚拟机j到物理机i上;
如果迁移后物理机产生了任一维资源不足,则返回步骤(3),否则将Tij加入Sa的集合中,即:Sa=Sa+Tij;
将当前蚂蚁的方案Sa加入S,即:S=S+Sa;
(5)从S中选择fenergy最小的前p%个蚂蚁的方案,形成筛选后的S;
(6)从步骤(5)的S中选择fbalance最小的方案,形成含有本次迭代最优方案O的集合S;
(7)对本次迭代的最优方案O中的所有路径,增加其信息素值,即tij=tij*q;
(8)按照公式(3),计算本次最优方案O的F值;
(9)将F值与F1值进行对比,如果误差小于ε,则迭代结束,否则返回步骤(3)。
所述动态管理即对动态管理阶段的虚拟机放置进行的资源监测和调整策略的方法,主要包括CPU频率调节方法、待迁虚拟机及目的物理机选择,其中,设置双层门限(VHigh,VLow)监测资源利用率具有上升趋势的物理节点,VHigh高于VLow,每隔30s监测各物理节点的资源利用情况,最近n个时刻的资源利用率构成序列,如果资源利用率超过VLow的次数大于设定的次数np%,p事先设定,则用n阶自回归模型对下一时间值进行预测,第n+1时刻的预测值un+1表示为
un+1=α1u1+α2u2+……+αnun+εn+1--------------------(4)
其中αi表示自回归系数,ui表示时刻i的资源利用率,εn+1是满足正态分布的噪声;
如果un+1超过VHigh,则判定该物理节点资源利用率会超门限,以此来有效监测资源利用率具有上升趋势的物理节点,这样能够更准确得应对物理节点负载变化。
由于CPU是资源利用率变化最活跃的一个资源要素,因此当预测结果超过VHigh,并且超门限资源只有CPU资源时,则首先使用调节CPU频率的方法;当预测值大于VHigh,说明CPU利用率过高,超过了SLA对资源的限定要求,则尝试调高CPU频率,让其利用率回归正常范围,以此减少不必要的虚拟机迁移。
对于通过调节CPU频率使CPU资源利用率不能回归门限范围,或者是存在其它维资源利用率超门限的情况,则通过虚拟机迁移予以调整,
待迁虚拟机的选择
虚拟机迁移很大一部分代价耗费在网络传输上,因此先迁移占用内存较小的虚拟机以保证较小的迁移代价,对利用率超过门限的那维资源,按照该维资源与内存利用率之比对虚拟机作降序排列,依次迁出虚拟机,直至资源利用率回归正常水平,这样能够迁移尽可能少的内存页而使资源利用率恢复正常;
对于资源利用率过低的物理节点,迁出其上所有虚拟机然后使该节点休眠,这样能够比较有效地降低基础能耗;
目的物理机的选择
虚拟机迁出后,需要选择合适的目标物理机,依据大包先装的原则,将所有待迁出的虚拟机按资源综合利用率u降序排列,其中
u=p*umem+q*uCPU+r*ubw,
其中p>q>r为各维资源的权重系数。依次为虚拟机选择目标物理节点,其中umem表示内存利用率,由于内存是三种资源中比较难满足的,所以其权重最大;ucpu表示CPU资源利用率,ubw表示带宽利用率。
最后应说明的是:显然,上述实施例仅仅是为清楚地说明本发明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明的保护范围之中。
Claims (6)
1.一种基于CPU动态调频技术的数据中心节能方法,其特征在于:所述方法包括虚拟机初始化放置和动态管理两个阶段。
2.根据权利要求1所述的方法,其特征在于:所述虚拟机初始化放置阶段包括如下技术参数
(1)单个物理节点的能耗表示为
fenergy=c+k*f3*ucpu-----------------------(1)
fenergy表示物理机的瞬时功率,其中c表示物理机静止能耗;f是CPU频率,uCPU是CPU利用率,k是系数,表示CPU的动态能耗与频率的三次方以及CPU的利用率成正比;
(2)单个物理节点的资源均衡度表示为
其中
umem,ubw分别表示物理节点的内存和带宽利用率,从式(2)看出,如果三种资源利用率比较均衡,fbalance的取值也会相应的小;
(3)基于式(1)和式(2),虚拟机初始化放置的目标函数表示为:
s.t.ucpu≤usla,umem≤usla,ubw≤usla
其中表示物理节点i的能耗,fbalance i表示物理节点i的各维资源均衡程度,a、b是权值,表示对能耗和资源均衡两方面的重视程度,目标SLA通过约束fenergy和fbalance中的各维资源利用率体现,usla表示物理节点资源利用率的上限;
F函数的求解实质上是个多目标优化问题,采用分层序列法分别考虑每个目标,将SLA作为第一目标,能耗作为第二目标,资源均衡度作为第三目标,在此基础上,设计启发式蚁群算法用于搜索解空间,基本方法为
初始化时将虚拟机j和物理机i组成二元组,一个二元组对应一条路径,赋予每条路径一个相同的初始信息素值tij=t,蚂蚁为虚拟机j随机地选择路径,tij较大的路径易被选中,蚂蚁为所有虚拟机选好路径也就是选好物理机后,形成一个初步的虚拟机放置方案,n只蚂蚁形成n个虚拟机放置方案,将满足第一目标SLA的所有解作为第二目标的搜索空间,根据第二目标的解集,取前p%,的较优子集作为第三目标的搜索空间,继而得到正确的放置解,其中,p是预先设定的一个固定比例,对于正确放置解中的路径,其信息素按给定参数倍数递增;
重复上述过程,迭代至前后两次F值变化足够小后,输出一个正确的虚拟机放置方案。
3.根据权利要求2所述的方法,其特征在于:所述虚拟机初始化放置阶段的步骤如下
(1)首先将所有的虚拟机、物理机构造成形如(VMj,PMi)的二元组路径对,赋予每条路径一个相同的初始信息素值值tij=t;
(2)初始化一个F值为0,F意义参见式(3),并赋值给F1,作为迭代与否的参照;
(3)开始迭代,用S集合记录放置方案的集合,初始化为空,S={};
(4)为每只蚂蚁a轮流执行以下步骤:
初始化该蚂蚁的路径集合Sa={};
遍历虚拟机j从1到N;
按照该分配迁移虚拟机j到物理机i上;
如果迁移后物理机产生了任一维资源不足,则返回步骤(3),否则将Tij加入Sa的集合中,即:Sa=Sa+Tij;
将当前蚂蚁的方案Sa加入S,即:S=S+Sa;
(5)从S中选择fenergy最小的前p%个蚂蚁的方案,形成筛选后的S;
(6)从步骤(5)的S中选择fbalance最小的方案,形成含有本次迭代最优方案O的集合S;
(7)对本次迭代的最优方案O中的所有路径,增加其信息素值,即tij=tij*q;
(8)按照公式(3),计算本次最优方案O的F值;
(9)将F值与F1值进行对比,如果误差小于ε,则迭代结束,否则返回步骤(3)。
4.根据权利要求1所述的方法,其特征在于:所述动态管理即对动态管理阶段的虚拟机放置进行的资源监测和调整策略的方法,主要包括CPU频率调节方法、待迁虚拟机及目的物理机选择,其中,设置双层门限(VHigh,VLow)监测资源利用率具有上升趋势的物理节点,VHigh高于VLow,每隔30s监测各物理节点的资源利用情况,最近n个时刻的资源利用率构成序列,如果资源利用率超过VLow的次数大于设定的次数即np%,p事先设定,则用n阶自回归模型对下一时间值进行预测,第n+1时刻的预测值un+1表示为
un+1=α1u1+α2u2+……+αnun+εn+1--------------------(4)
其中αi表示自回归系数,ui表示时刻i的资源利用率,εn+1是满足正态分布的噪声;
如果un+1超过VHigh,则判定该物理节点资源利用率会超门限,以此来有效监测资源利用率具有上升趋势的物理节点,这样能够更准确地应对物理节点负载变化。
5.根据权利要求4所述的方法,其特征在于:由于CPU是资源利用率变化最活跃的一个资源要素,因此当预测结果超过VHigh,并且超门限资源只有CPU资源时,则首先使用调节CPU频率的方法,即,当预测值大于VHigh,说明CPU利用率过高,超过了SLA对资源的限定要求,则尝试调高CPU频率,让其利用率回归正常范围,以此减少不必要的虚拟机迁移。
6.根据权利要求4所述的方法,其特征在于:对于通过调节CPU频率使CPU资源利用率不能回归门限范围,或者是存在其它维资源利用率超门限的情况,则通过虚拟机迁移予以调整。
待迁虚拟机的选择
虚拟机迁移很大一部分代价耗费在网络传输上,因此先迁移占用内存较小的虚拟机以保证较小的迁移代价,对利用率超过门限的那维资源,按照该维资源与内存利用率之比对虚拟机作降序排列,依次迁出虚拟机,直至资源利用率回归正常水平,这样能够迁移尽可能少的内存页而使资源利用率恢复正常;
对于资源利用率过低的物理节点,迁出其上所有虚拟机然后使该节点休眠,这样能够比较有效地降低基础能耗;
目的物理机的选择
虚拟机迁出后,需要选择合适的目标物理机,依据大包先装的原则,将所有待迁出的虚拟机按资源综合利用率u降序排列,其中
u=p*umem+q*uCPU+r*ubw,
其中p>q>r为各维资源的权重系数,依次为虚拟机选择目标物理节点,其中umem表示内存利用率,由于内存是三种资源中比较难满足的,所以其权重最大;ucpu表示CPU资源利用率,ubw表示带宽利用率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310436135.8A CN103488539B (zh) | 2013-09-23 | 2013-09-23 | 一种基于cpu动态调频技术的数据中心节能方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310436135.8A CN103488539B (zh) | 2013-09-23 | 2013-09-23 | 一种基于cpu动态调频技术的数据中心节能方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103488539A true CN103488539A (zh) | 2014-01-01 |
CN103488539B CN103488539B (zh) | 2017-01-18 |
Family
ID=49828795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310436135.8A Active CN103488539B (zh) | 2013-09-23 | 2013-09-23 | 一种基于cpu动态调频技术的数据中心节能方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103488539B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216782A (zh) * | 2014-08-19 | 2014-12-17 | 东南大学 | 高性能计算和云计算混合环境中的动态资源管理方法 |
CN104461739A (zh) * | 2014-12-15 | 2015-03-25 | 中山大学 | 一种基于cloudsim平台的虚拟机批量部署方法 |
CN104808770A (zh) * | 2015-04-23 | 2015-07-29 | 南京大学 | 基于动态调频的数据中心能耗管理方法及系统 |
CN104809052A (zh) * | 2014-01-29 | 2015-07-29 | 西门子公司 | 用于对系统资源利用率进行预测的方法和装置 |
CN105183537A (zh) * | 2015-09-23 | 2015-12-23 | 北京交通大学 | 基于动态阈值窗口的虚拟机迁移处理方法 |
CN105302630A (zh) * | 2015-10-26 | 2016-02-03 | 深圳大学 | 一种虚拟机的动态调整方法及其系统 |
CN105808355A (zh) * | 2016-03-10 | 2016-07-27 | 西安电子科技大学 | 一种基于二元线性回归方程的动态调频方法 |
CN107193640A (zh) * | 2017-06-26 | 2017-09-22 | 浙江工业大学 | 一种基于Rendezvous哈希算法的虚拟机初始放置策略方法 |
CN107341043A (zh) * | 2017-06-28 | 2017-11-10 | 东北大学 | 一种评估可再生能源混合供电的数据中心能耗的仿真方法 |
CN107515663A (zh) * | 2016-06-15 | 2017-12-26 | 北京京东尚科信息技术有限公司 | 调整中央处理器内核运行频率的方法和装置 |
CN108429784A (zh) * | 2018-01-16 | 2018-08-21 | 西安建筑科技大学 | 一种能效优先的云资源分配与调度方法 |
CN108804198A (zh) * | 2017-04-26 | 2018-11-13 | 北京邮电大学 | 一种基于利用率变化趋势预测的虚拟机迁移时机确定方法 |
CN109196807A (zh) * | 2016-06-01 | 2019-01-11 | 瑞典爱立信有限公司 | 网络节点以及操作网络节点以进行资源分发的方法 |
CN109582119A (zh) * | 2018-11-28 | 2019-04-05 | 重庆邮电大学 | 基于动态电压频率调整的双层Spark节能调度方法 |
CN110580209A (zh) * | 2019-07-29 | 2019-12-17 | 杭州电子科技大学 | 一种基于模型预测控制的云服务器弹性伸缩与性能优化方法 |
CN112162853A (zh) * | 2020-09-18 | 2021-01-01 | 北京浪潮数据技术有限公司 | 云主机cpu频率设置方法、系统、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120042311A1 (en) * | 2009-03-24 | 2012-02-16 | International Business Machines Corporation | Optimized placement planning for virtual machines in a network |
CN102591443A (zh) * | 2011-12-29 | 2012-07-18 | 华为技术有限公司 | 一种虚拟化集群整合方法、装置及系统 |
-
2013
- 2013-09-23 CN CN201310436135.8A patent/CN103488539B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120042311A1 (en) * | 2009-03-24 | 2012-02-16 | International Business Machines Corporation | Optimized placement planning for virtual machines in a network |
CN102591443A (zh) * | 2011-12-29 | 2012-07-18 | 华为技术有限公司 | 一种虚拟化集群整合方法、装置及系统 |
Non-Patent Citations (7)
Title |
---|
FEI MA等: "Multi-objective Optimization for Initial Virtual Machine Placement in Cloud Data Center", 《JOURNAL OF INFORMATION & COMPUTATIONAL SCIENCE》 * |
JING XU等: "《A Multi-objective Approach to Virtual Machine Management in Datacenters》", 《ICAC 11 PROCEEDING OF THE 8TH ACM INTERNATIONAL CONFERENCE ON AUTONOMIC COMPUTING》 * |
刘媛媛等: "虚拟计算环境下虚拟机资源负载均衡方法", 《计算机工程》 * |
周文俊等: "基于预测及蚁群算法的云计算资源调度策略", 《计算机仿真》 * |
张伟等: "面向Internet数据中心的资源管理", 《软件学报》 * |
林伟伟等: "云计算资源调度研究综述", 《计算机科学》 * |
马飞等: "云计算中高效节能的虚拟机分布式管理方法", 《计算机工程》 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809052A (zh) * | 2014-01-29 | 2015-07-29 | 西门子公司 | 用于对系统资源利用率进行预测的方法和装置 |
CN104216782B (zh) * | 2014-08-19 | 2017-06-09 | 东南大学 | 高性能计算和云计算混合环境中的动态资源管理方法 |
CN104216782A (zh) * | 2014-08-19 | 2014-12-17 | 东南大学 | 高性能计算和云计算混合环境中的动态资源管理方法 |
CN104461739B (zh) * | 2014-12-15 | 2017-12-05 | 中山大学 | 一种基于cloudsim平台的虚拟机批量部署方法 |
CN104461739A (zh) * | 2014-12-15 | 2015-03-25 | 中山大学 | 一种基于cloudsim平台的虚拟机批量部署方法 |
CN104808770A (zh) * | 2015-04-23 | 2015-07-29 | 南京大学 | 基于动态调频的数据中心能耗管理方法及系统 |
CN104808770B (zh) * | 2015-04-23 | 2017-04-12 | 南京大学 | 基于动态调频的数据中心能耗管理方法及系统 |
CN105183537A (zh) * | 2015-09-23 | 2015-12-23 | 北京交通大学 | 基于动态阈值窗口的虚拟机迁移处理方法 |
CN105183537B (zh) * | 2015-09-23 | 2018-07-27 | 北京交通大学 | 基于动态阈值窗口的虚拟机迁移处理方法 |
CN105302630A (zh) * | 2015-10-26 | 2016-02-03 | 深圳大学 | 一种虚拟机的动态调整方法及其系统 |
CN105302630B (zh) * | 2015-10-26 | 2018-07-13 | 深圳大学 | 一种虚拟机的动态调整方法及其系统 |
CN105808355A (zh) * | 2016-03-10 | 2016-07-27 | 西安电子科技大学 | 一种基于二元线性回归方程的动态调频方法 |
CN105808355B (zh) * | 2016-03-10 | 2019-12-10 | 西安电子科技大学 | 一种基于二元线性回归方程的动态调频方法 |
CN109196807A (zh) * | 2016-06-01 | 2019-01-11 | 瑞典爱立信有限公司 | 网络节点以及操作网络节点以进行资源分发的方法 |
CN107515663A (zh) * | 2016-06-15 | 2017-12-26 | 北京京东尚科信息技术有限公司 | 调整中央处理器内核运行频率的方法和装置 |
CN107515663B (zh) * | 2016-06-15 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 调整中央处理器内核运行频率的方法和装置 |
CN108804198A (zh) * | 2017-04-26 | 2018-11-13 | 北京邮电大学 | 一种基于利用率变化趋势预测的虚拟机迁移时机确定方法 |
CN107193640A (zh) * | 2017-06-26 | 2017-09-22 | 浙江工业大学 | 一种基于Rendezvous哈希算法的虚拟机初始放置策略方法 |
CN107193640B (zh) * | 2017-06-26 | 2020-08-04 | 浙江工业大学 | 一种基于Rendezvous哈希算法的虚拟机初始放置策略方法 |
CN107341043A (zh) * | 2017-06-28 | 2017-11-10 | 东北大学 | 一种评估可再生能源混合供电的数据中心能耗的仿真方法 |
CN108429784A (zh) * | 2018-01-16 | 2018-08-21 | 西安建筑科技大学 | 一种能效优先的云资源分配与调度方法 |
CN108429784B (zh) * | 2018-01-16 | 2020-09-29 | 西安建筑科技大学 | 一种能效优先的云资源分配与调度方法 |
CN109582119A (zh) * | 2018-11-28 | 2019-04-05 | 重庆邮电大学 | 基于动态电压频率调整的双层Spark节能调度方法 |
CN109582119B (zh) * | 2018-11-28 | 2022-07-12 | 重庆邮电大学 | 基于动态电压频率调整的双层Spark节能调度方法 |
CN110580209A (zh) * | 2019-07-29 | 2019-12-17 | 杭州电子科技大学 | 一种基于模型预测控制的云服务器弹性伸缩与性能优化方法 |
CN110580209B (zh) * | 2019-07-29 | 2022-05-31 | 杭州电子科技大学 | 一种基于模型预测控制的云服务器弹性伸缩与性能优化方法 |
CN112162853A (zh) * | 2020-09-18 | 2021-01-01 | 北京浪潮数据技术有限公司 | 云主机cpu频率设置方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103488539B (zh) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488539A (zh) | 一种基于cpu动态调频技术的数据中心节能方法 | |
Yadav et al. | Managing overloaded hosts for energy-efficiency in cloud data centers | |
Sharma et al. | Multi-objective energy efficient virtual machines allocation at the cloud data center | |
Toosi et al. | A fuzzy logic-based controller for cost and energy efficient load balancing in geo-distributed data centers | |
Zhou et al. | A novel virtual machine deployment algorithm with energy efficiency in cloud computing | |
Addya et al. | Simulated annealing based VM placement strategy to maximize the profit for Cloud Service Providers | |
Braiki et al. | Fuzzy-logic-based multi-objective best-fit-decreasing virtual machine reallocation | |
Mosa et al. | Dynamic virtual machine placement considering CPU and memory resource requirements | |
Liang et al. | A low-power task scheduling algorithm for heterogeneous cloud computing | |
Kumar et al. | An energy aware cost effective scheduling framework for heterogeneous cluster system | |
He et al. | Energy-efficient framework for virtual machine consolidation in cloud data centers | |
Xu et al. | Energy efficient scheduling of application components via brownout and approximate Markov decision process | |
Xu et al. | Energy-Aware Resource Management in Cloud Computing Considering Load Balance. | |
AlIsmail et al. | Review of energy reduction techniques for green cloud computing | |
Gayathri | Green cloud computing | |
Xu et al. | VMs placement strategy based on distributed parallel ant colony optimization algorithm | |
Nadalizadeh et al. | GreenPacker: renewable-and fragmentation-aware VM placement for geographically distributed green data centers | |
Zhang et al. | A dynamic placement policy of virtual machine based on MOGA in cloud environment | |
Yang et al. | A task scheduling method for energy-performance trade-off in clouds | |
Shi et al. | Research on Multi-Objective Optimization Method of Edge Cloud Computing Virtual Machine Placement | |
Li et al. | SLA‐Aware and Energy‐Efficient VM Consolidation in Cloud Data Centers Using Host State 3rd‐Order Markov Chain Model | |
Bharathi et al. | Profit and energy aware scheduling in cloud computing using task consolidation | |
Ouammou et al. | Energy consumption and cost analysis for data centers with workload control | |
Madhumala et al. | An improved virtual machine placement in cloud data center using particle swarm optimization algorithm | |
Chen et al. | Developing communication-aware service placement frameworks in the cloud economy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |