云环境下基于CPU利用率的能耗测试

2016-06-04 08:31陈立勇
周口师范学院学报 2016年2期
关键词:云计算能耗

陈立勇,李 浩

(周口师范学院 网络工程学院,河南 周口 466001)



云环境下基于CPU利用率的能耗测试

陈立勇,李浩

(周口师范学院 网络工程学院,河南 周口 466001)

摘要:云计算中的高能耗造成了高成本和环境污染,如何降低能耗成为企业及学者关注的主要问题.对虚拟化环境中的能耗进行了测试,探讨了能耗与CPU利用率、任务个数、虚拟机个数之间的关系.实验结果表明,随着CPU利用率的逐渐增加,能耗的增加值在不断减少,即CPU利用率越高,能效越高.

关键词:云计算;能耗;CPU利用率

随着云计算的发展,越来越多的数据中心建立起来,数据中心存在着大量能耗,文献[1]的研究表明,每个服务节点4年的能耗花费成本相当于节点自身的硬件成本,很多大型企业的能耗开支占到了公司总开支的40%以上,数据中心的能耗最高占整个公司能耗的80%以上.阿伦尼斯模型表明,电子设备的温度每上升10 ℃,设备的故障率就会增加一倍[2].数据中心的能耗问题成为云计算领域的重要研究内容.

目前,已有很多学者对能耗和各部件的关系进行了研究,得出了能耗随CPU利用率的不同而发生变化的结论[3-8].CPU利用率越高,能耗越高,但高能耗不等于低能效[3],因此,如何寻找能效的最大值成为学者们研究的重点.由于能效和CPU利用率之间存在一定的关系,探索CPU利用率的最佳值以使能效最大化是很多学者一直探索的问题.文献[4]提出了一种用CPU利用率和频率计算能效的方法,证明了当CPU利用率达到100%时能效达到最大值的结论.文献[5]利用多元线性回归和非线性回归方法分析了不同参数对服务器能耗的影响,并采用spec2006作为CPU的基准测试程序, 提出了一种能耗预测精度达到95%的能耗预测模型.文献[6]研究了处理器核数与能耗之间的关系,证明了各任务执行在系统全部核上时系统能耗最小的观点.文献[7]将能耗划分为空闲能耗和执行能耗,定义能耗的取值公式为Pidle+(Pbusy-Pidle)u,其中u代表CPU利用率,Pidle表示空闲能耗,Pbusy表示执行能耗,并对公式预测能耗的精度进行了改进,改进后的公式为Pidle+(Pbusy-Pidle)(2u-ur),其中r是一个参数因子.文献[8]认为空闲能耗占峰值能耗的70%以上,且能耗与CPU利用率之间的关系可用公式P(u)=k·Pmax+(1-k)·Pmax·u表示,其中Pmax是服务器完全利用时的最高能耗,k是空闲服务器消耗的能源比例,这一比例通常为70%,u是CPU利用率.

上述学者在能耗建模方面做了大量的工作,很多学者建立了自己的能耗模型,为科学的能耗建模提供了有益的参考,但这些能耗模型大多是以仿真软件为基础建立的,并非真正基于真实的能耗测试结果,因此很难保证能耗建模的准确性.且学者们在能耗测试方面的工作并不多,很少有学者能够提供一个完整的能耗测试结果.针对上述问题,从能耗监控与测量、能耗结果分析等方面对虚拟机的能耗进行了测试,并对大量真实的能耗数据进行了分析,进而探索出能耗与CPU利用率及其他指标的关系,为能耗模型的进一步构建提供了科学依据.本文结构安排如下:第一节描述实验方法,包括实验的测试程序、能耗采集方法及实验记录指标;第二节展示实验结果并对结果进行分析,总结能耗规律;第三节对全文进行总结,提出当前存在的问题及下一步工作思路.

1实验方法

为了验证能耗的变化趋势及影响因素,设计了一些实验,以更好地理解能耗的变化情况.为了测试不同数量的任务与能耗之间的关系,编写了一个纯CPU密集型的循环程序,其基本思想是通过调节java中sleep函数和程序运行时间来控制程序的CPU利用率与程序占用的线程个数.测试环境及指标如表1所示.

表1 测试配置表

测试采用Windows server 2008 R2操作系统,以Hyper-v作为虚拟化软件,选用两台CPU类型为Intel 酷睿i7的四核八线程物理机作为测试主机,以HP-9800作为能耗采集设备.在测试的过程中,为一个虚拟机分配1核的CPU,512 MB的内存,运行程序并记录CPU利用率、频率、瞬时能耗及任务运行时间、虚拟机个数、CPU核数等指标.通过多次测试发现,每次测试的值有一定的差别,但相差很小,因此最终结果采用多次测试取平均值的方式.

2实验结果

首先测试任务个数与物理机瞬时能耗的关系,将线程数对应成任务个数,将任务个数由1增加到8,记录下不同任务个数对应的物理机瞬时能耗,测试结果如图1所示.

图1 任务个数与瞬时能耗的关系图

从图1可以看出,当任务个数由1增加到6的过程中,物理机的瞬时能耗在不断增加,直到任务个数增加到6,物理机的瞬时能耗达到最大值,此时继续增加任务个数,物理机的瞬时能耗不再继续增加,保持最大瞬时能耗不变.为了进一步探索其中的原因,接下来记录了任务个数和CPU利用率之间的关系,测试结果如图2所示.

图2 任务个数与CPU利用率的关系图

从图2可以看出,当任务个数增加到6时,CPU利用率已经达到了100%,即CPU此时已经处于满负荷运行状态.因此,继续增加任务个数,由于没有可用的CPU资源供新任务使用,所以物理机的瞬时能耗不再继续增加.

接下来将虚拟机个数由1增加到8,并固定每台虚拟机上任务个数为1,来测量虚拟机个数增加对物理机瞬时能耗的影响,测试结果如图3所示.

图3 虚拟机个数与瞬时能耗的关系图

从图3可以看出,当虚拟机个数增加时,物理机的瞬时能耗逐渐增加,但虚拟机个数和物理机的瞬时能耗之间并非线性的关系.随着虚拟机个数的增加,物理机瞬时能耗的增加值在不断减少.这进一步印证了文献[4]中提出的单位时间内的能效值随CPU利用率的增加而增加的观点.

为了验证虚拟机个数增加对任务执行时间有没有影响,将一台物理机上分配的虚拟机个数由1增加到8,并分别记录不同虚拟机个数对应的任务执行时间,测试结果如图4所示.

从图4可以看出,随着虚拟机个数不断增加,单个任务的执行时间并没有发生变化.这是因为任务执行时间只与虚拟机配置有关,固定了虚拟机配置后,任务的执行时间就不再发生变化,因此在物理机上增加虚拟机,对单个任务的执行时间没有造成影响.

图4 虚拟机个数与任务执行时间的关系图

通过上述测试发现,对于不同任务,即使CPU利用率相同,瞬时能耗也不同,这说明能耗还受一些其他因素影响.当固定任务类型时,通过增加线程个数来改变任务个数,随着线程个数增加,CPU利用率也会逐渐增加,直到达到100%.在CPU利用率逐渐增加的过程中,能耗的增加量在不断减少,即CPU利用率越高,单位时间内的能效越高.

3小结

由于资源利用不充分导致的能耗问题日益突出.在能耗测试上,基于物理条件的限制,使得很多学者无法在真实的环境中测试能耗,而通过理论分析进行建模,则降低了建模结果的准确性.因此,采用真实的虚拟机环境,利用纯CPU密集型测试程序,实现了物理机真实能耗的测试与能耗的自动化采集.通过测试结果可以看出,能耗与CPU利用率

之间并非线性关系,单位时间内的能效值随CPU利用率的增加而增大.

由于数据中心在运行云计算相关任务时,不仅要考虑能耗带来的成本问题,还要考虑服务质量问题.因此,为保证系统稳定性及满足云服务的QoS约束,CPU利用率应控制在100%以下.基于CPU利用率越高能效越高的观点,在不影响QoS约束的情况下,CPU利用率应越大越好.因此,下一步工作将集中在以下两个方面:(1)寻找满足QoS约束的CPU利用率最大值以最大化能效;(2)构建CPU密集型任务的能耗模型.

参考文献:

[1]罗亮, 吴文峻, 张飞. 面向云计算数据中心的能耗建模方法[J]. 软件学报, 2014,25(7):1371-1387.

[2] Wu C F. Making a Case for Efficient Supercomputing[J]. Queue, 2003,1(7):54-64.

[3] 于俊洋, 胡志刚, 周舟, 等. 计算机系统能耗估量模型研究[J]. 电子科技大学学报, 2015,44(3):422-427.

[4] 宋杰, 李甜甜, 闫振兴, 等. 一种云计算环境下的能效模型和度量方法[J]. 软件学报, 2012,23(2):200-214.

[5] 叶可江, 吴朝晖, 姜晓红, 等. 虚拟化云计算平台的能耗管理[J]. 计算机学报, 2012,35(6):1262-1285.

[6] 林宇晗, 孔繁鑫, 徐惠婷, 等. 线性加速比并行实时任务的节能研究[J]. 计算机学报, 2013,36(2):384-392

[7] Fan X, Weber W D, Barroso L A. Power provisioning for a warehouse-sized computer[J]. ACM SIGARCH Computer Architecture News,2007,35(2):13-23.

[8] 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.

The energy consumption test based CPU utilization in cloud environment

CHEN Liyong, LI Hao

(School of Network Engineering, Zhoukou Normal University, Zhoukou 466001, China)

Abstract:High energy consumption result in high cost and environmental pollution. What main content enterprise and scholars pay attention to is how to reduce energy consumption. It tested the energy consumption in the virtual environment and discussed the relationship among the energy consumption, CPU utilization, the number of tasks and the number of virtual machines. The experiment results showed that the gradual increasing in CPU utilization is accompanied by the declining the energy consumption value added, in other words, the higher the CPU utilization, the higher the energy efficiency.

Key words:cloud computing; energy consumption; CPU utilization

收稿日期:2015-03-20;修回日期:2015-09-24

基金项目:国家自然科学基金项目(No.U1404622);河南省教育厅重点科研项目(No.16B520034);周口师范学院青年科研基金重点项目(No.zknuB315201)

作者简介:陈立勇(1982- ), 男, 河南信阳人,讲师, 硕士, 主要研究方向为能耗测试、资源调度等.

中图分类号:TP393

文献标志码:A

文章编号:1671-9476(2016)02-0137-03

DOI:10.13450/j.cnki.jzknu.2016.02.034

猜你喜欢
云计算能耗
EnMS在航空发动机试验能耗控制中的应用实践
从能耗“双控”向碳排放“双控”转变
120t转炉降低工序能耗生产实践
能耗双控下,涨价潮再度来袭!
探讨如何设计零能耗住宅
日本先进的“零能耗住宅”
志愿服务与“互联网+”结合模式探究
云计算与虚拟化
基于云计算的移动学习平台的设计
实验云:理论教学与实验教学深度融合的助推器