陳立勇,李 浩
(周口師范學院 網(wǎng)絡工程學院,河南 周口 466001)
?
云環(huán)境下基于CPU利用率的能耗測試
陳立勇,李浩
(周口師范學院 網(wǎng)絡工程學院,河南 周口 466001)
摘要:云計算中的高能耗造成了高成本和環(huán)境污染,如何降低能耗成為企業(yè)及學者關注的主要問題.對虛擬化環(huán)境中的能耗進行了測試,探討了能耗與CPU利用率、任務個數(shù)、虛擬機個數(shù)之間的關系.實驗結果表明,隨著CPU利用率的逐漸增加,能耗的增加值在不斷減少,即CPU利用率越高,能效越高.
關鍵詞:云計算;能耗;CPU利用率
隨著云計算的發(fā)展,越來越多的數(shù)據(jù)中心建立起來,數(shù)據(jù)中心存在著大量能耗,文獻[1]的研究表明,每個服務節(jié)點4年的能耗花費成本相當于節(jié)點自身的硬件成本,很多大型企業(yè)的能耗開支占到了公司總開支的40%以上,數(shù)據(jù)中心的能耗最高占整個公司能耗的80%以上.阿倫尼斯模型表明,電子設備的溫度每上升10 ℃,設備的故障率就會增加一倍[2].數(shù)據(jù)中心的能耗問題成為云計算領域的重要研究內容.
目前,已有很多學者對能耗和各部件的關系進行了研究,得出了能耗隨CPU利用率的不同而發(fā)生變化的結論[3-8].CPU利用率越高,能耗越高,但高能耗不等于低能效[3],因此,如何尋找能效的最大值成為學者們研究的重點.由于能效和CPU利用率之間存在一定的關系,探索CPU利用率的最佳值以使能效最大化是很多學者一直探索的問題.文獻[4]提出了一種用CPU利用率和頻率計算能效的方法,證明了當CPU利用率達到100%時能效達到最大值的結論.文獻[5]利用多元線性回歸和非線性回歸方法分析了不同參數(shù)對服務器能耗的影響,并采用spec2006作為CPU的基準測試程序, 提出了一種能耗預測精度達到95%的能耗預測模型.文獻[6]研究了處理器核數(shù)與能耗之間的關系,證明了各任務執(zhí)行在系統(tǒng)全部核上時系統(tǒng)能耗最小的觀點.文獻[7]將能耗劃分為空閑能耗和執(zhí)行能耗,定義能耗的取值公式為Pidle+(Pbusy-Pidle)u,其中u代表CPU利用率,Pidle表示空閑能耗,Pbusy表示執(zhí)行能耗,并對公式預測能耗的精度進行了改進,改進后的公式為Pidle+(Pbusy-Pidle)(2u-ur),其中r是一個參數(shù)因子.文獻[8]認為空閑能耗占峰值能耗的70%以上,且能耗與CPU利用率之間的關系可用公式P(u)=k·Pmax+(1-k)·Pmax·u表示,其中Pmax是服務器完全利用時的最高能耗,k是空閑服務器消耗的能源比例,這一比例通常為70%,u是CPU利用率.
上述學者在能耗建模方面做了大量的工作,很多學者建立了自己的能耗模型,為科學的能耗建模提供了有益的參考,但這些能耗模型大多是以仿真軟件為基礎建立的,并非真正基于真實的能耗測試結果,因此很難保證能耗建模的準確性.且學者們在能耗測試方面的工作并不多,很少有學者能夠提供一個完整的能耗測試結果.針對上述問題,從能耗監(jiān)控與測量、能耗結果分析等方面對虛擬機的能耗進行了測試,并對大量真實的能耗數(shù)據(jù)進行了分析,進而探索出能耗與CPU利用率及其他指標的關系,為能耗模型的進一步構建提供了科學依據(jù).本文結構安排如下:第一節(jié)描述實驗方法,包括實驗的測試程序、能耗采集方法及實驗記錄指標;第二節(jié)展示實驗結果并對結果進行分析,總結能耗規(guī)律;第三節(jié)對全文進行總結,提出當前存在的問題及下一步工作思路.
1實驗方法
為了驗證能耗的變化趨勢及影響因素,設計了一些實驗,以更好地理解能耗的變化情況.為了測試不同數(shù)量的任務與能耗之間的關系,編寫了一個純CPU密集型的循環(huán)程序,其基本思想是通過調節(jié)java中sleep函數(shù)和程序運行時間來控制程序的CPU利用率與程序占用的線程個數(shù).測試環(huán)境及指標如表1所示.
表1 測試配置表
測試采用Windows server 2008 R2操作系統(tǒng),以Hyper-v作為虛擬化軟件,選用兩臺CPU類型為Intel 酷睿i7的四核八線程物理機作為測試主機,以HP-9800作為能耗采集設備.在測試的過程中,為一個虛擬機分配1核的CPU,512 MB的內存,運行程序并記錄CPU利用率、頻率、瞬時能耗及任務運行時間、虛擬機個數(shù)、CPU核數(shù)等指標.通過多次測試發(fā)現(xiàn),每次測試的值有一定的差別,但相差很小,因此最終結果采用多次測試取平均值的方式.
2實驗結果
首先測試任務個數(shù)與物理機瞬時能耗的關系,將線程數(shù)對應成任務個數(shù),將任務個數(shù)由1增加到8,記錄下不同任務個數(shù)對應的物理機瞬時能耗,測試結果如圖1所示.
圖1 任務個數(shù)與瞬時能耗的關系圖
從圖1可以看出,當任務個數(shù)由1增加到6的過程中,物理機的瞬時能耗在不斷增加,直到任務個數(shù)增加到6,物理機的瞬時能耗達到最大值,此時繼續(xù)增加任務個數(shù),物理機的瞬時能耗不再繼續(xù)增加,保持最大瞬時能耗不變.為了進一步探索其中的原因,接下來記錄了任務個數(shù)和CPU利用率之間的關系,測試結果如圖2所示.
圖2 任務個數(shù)與CPU利用率的關系圖
從圖2可以看出,當任務個數(shù)增加到6時,CPU利用率已經(jīng)達到了100%,即CPU此時已經(jīng)處于滿負荷運行狀態(tài).因此,繼續(xù)增加任務個數(shù),由于沒有可用的CPU資源供新任務使用,所以物理機的瞬時能耗不再繼續(xù)增加.
接下來將虛擬機個數(shù)由1增加到8,并固定每臺虛擬機上任務個數(shù)為1,來測量虛擬機個數(shù)增加對物理機瞬時能耗的影響,測試結果如圖3所示.
圖3 虛擬機個數(shù)與瞬時能耗的關系圖
從圖3可以看出,當虛擬機個數(shù)增加時,物理機的瞬時能耗逐漸增加,但虛擬機個數(shù)和物理機的瞬時能耗之間并非線性的關系.隨著虛擬機個數(shù)的增加,物理機瞬時能耗的增加值在不斷減少.這進一步印證了文獻[4]中提出的單位時間內的能效值隨CPU利用率的增加而增加的觀點.
為了驗證虛擬機個數(shù)增加對任務執(zhí)行時間有沒有影響,將一臺物理機上分配的虛擬機個數(shù)由1增加到8,并分別記錄不同虛擬機個數(shù)對應的任務執(zhí)行時間,測試結果如圖4所示.
從圖4可以看出,隨著虛擬機個數(shù)不斷增加,單個任務的執(zhí)行時間并沒有發(fā)生變化.這是因為任務執(zhí)行時間只與虛擬機配置有關,固定了虛擬機配置后,任務的執(zhí)行時間就不再發(fā)生變化,因此在物理機上增加虛擬機,對單個任務的執(zhí)行時間沒有造成影響.
圖4 虛擬機個數(shù)與任務執(zhí)行時間的關系圖
通過上述測試發(fā)現(xiàn),對于不同任務,即使CPU利用率相同,瞬時能耗也不同,這說明能耗還受一些其他因素影響.當固定任務類型時,通過增加線程個數(shù)來改變任務個數(shù),隨著線程個數(shù)增加,CPU利用率也會逐漸增加,直到達到100%.在CPU利用率逐漸增加的過程中,能耗的增加量在不斷減少,即CPU利用率越高,單位時間內的能效越高.
3小結
由于資源利用不充分導致的能耗問題日益突出.在能耗測試上,基于物理條件的限制,使得很多學者無法在真實的環(huán)境中測試能耗,而通過理論分析進行建模,則降低了建模結果的準確性.因此,采用真實的虛擬機環(huán)境,利用純CPU密集型測試程序,實現(xiàn)了物理機真實能耗的測試與能耗的自動化采集.通過測試結果可以看出,能耗與CPU利用率
之間并非線性關系,單位時間內的能效值隨CPU利用率的增加而增大.
由于數(shù)據(jù)中心在運行云計算相關任務時,不僅要考慮能耗帶來的成本問題,還要考慮服務質量問題.因此,為保證系統(tǒng)穩(wěn)定性及滿足云服務的QoS約束,CPU利用率應控制在100%以下.基于CPU利用率越高能效越高的觀點,在不影響QoS約束的情況下,CPU利用率應越大越好.因此,下一步工作將集中在以下兩個方面:(1)尋找滿足QoS約束的CPU利用率最大值以最大化能效;(2)構建CPU密集型任務的能耗模型.
參考文獻:
[1]羅亮, 吳文峻, 張飛. 面向云計算數(shù)據(jù)中心的能耗建模方法[J]. 軟件學報, 2014,25(7):1371-1387.
[2] Wu C F. Making a Case for Efficient Supercomputing[J]. Queue, 2003,1(7):54-64.
[3] 于俊洋, 胡志剛, 周舟, 等. 計算機系統(tǒng)能耗估量模型研究[J]. 電子科技大學學報, 2015,44(3):422-427.
[4] 宋杰, 李甜甜, 閆振興, 等. 一種云計算環(huán)境下的能效模型和度量方法[J]. 軟件學報, 2012,23(2):200-214.
[5] 葉可江, 吳朝暉, 姜曉紅, 等. 虛擬化云計算平臺的能耗管理[J]. 計算機學報, 2012,35(6):1262-1285.
[6] 林宇晗, 孔繁鑫, 徐惠婷, 等. 線性加速比并行實時任務的節(jié)能研究[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