樊源泉,伍衛國,許云龍,高顏
(西安交通大學電子與信息工程學院,710049,西安)
?
MapReduce環境中的性能特征能耗估計方法
樊源泉,伍衛國,許云龍,高顏
(西安交通大學電子與信息工程學院,710049,西安)
針對MapReduce系統中負載能耗特征多樣性為系統成本調度帶來的負載與節點難以匹配的問題,提出一種基于負載性能特征的能耗估計方法。該方法以MapReduce系統中各節點操作系統的性能事件為依據估計在線負載的能耗。為了提升負載能耗估計結果的準確度,采用機器學習的方法,在負載執行時,搜集系統的性能特征,并建立估計模型的樣本集;采用粗糙集理論中屬性約簡方法對性能特征屬性進行約簡;在性能屬性約簡的結果之上,基于支持向量機理論,建立能耗的估計模型,對負載運行時系統的能耗進行準確的估計。實驗結果表明:基于性能特征的能耗估計方法擁有較高的估計準確率,在單作業環境中平均相對誤差為4%,在多作業環境中可達到4.5%。
能耗估計;性能特征;MapReduce
隨著MapReduce[1]應用的增多及數據處理規模的劇增,基于MapReduce計算模型的集群系統的能耗問題變得日益突出。平臺資源協調器YARN(yet another resource negotiator)[2]是支持MapReduce計算模型的新一代開源系統,提升YARN系統中作業執行的能效對于節約成本、保護環境意義重大。但是,YARN集群中任務隨機達到的特性,造成集群中部分工作節點在某些時間段出現空閑等待,系統能源的利用率較低[3]。此外,集群工作節點的異構特性導致系統負載失衡,這也對系統的能效產生負面影響。當前提升YARN集群系統能效的方法分為兩類:基于工作節點伸縮的節能方法和基于負載成本調度的節能方法[4]。在以上兩種方法中,一個核心的問題是負載能耗特征的獲取,據此為各個工作節點匹配合適的負載。因此,負載能耗的準確估計是提升YARN系統能效的關鍵。但是,YARN系統中眾多的配置參數、工作節點的異構特性及負載性能特征的多樣性為能耗估計帶來了挑戰。
當前,針對MapReduce系統中負載能耗估計的方法有如下兩類。第一類為基于硬件性能計數器的能耗估計方法。該類方法在作業執行過程中,采集工作節點中各個組成部件的性能計數器數據,據此估計工作節點的能耗。Rong等提出了eTune系統[5-6],該系統依賴于專用的能耗測量設備測量工作節點中各個功能部件的能耗,面對數據中心中大規模的工作節點,可用性不強。另外,該方法適用于CPU密集型的負載,針對I/O密集型的負載,估計結果的準確性不高。第二類方法采用軟件測量的方式估計系統的能耗。Fan等基于CPU利用率建立了工作節點的能耗估計模型[7]。針對異構的Web服務器,Taliver等考慮磁盤利用率及CPU利用率對能耗的影響,建立了能耗估計模型[8]。但是,以上兩種方法僅考慮工作節點中個別組件產生的能耗,預測結果的準確度不高。Suzanne等開發了Mantis系統[9]估計負載產生的能耗。Mantis系統僅考慮CPU及磁盤產生的能耗,將CPU利用率和磁盤利用率作為模型的參數,基于線性回歸的方法估計負載的能耗,但是當作業在多處理器環境中運行時,Mantis估計的誤差較大。
針對以上問題,本文提出了一種基于負載性能特征的能耗估計方法,該方法能夠準確估計MapReduce系統中作業運行時產生的能耗。
能耗估計的流程如圖1所示,其中包括3個步驟:負載性能特征數據的離散化、基于粗糙集的性能屬性的約簡和基于最小平方支持向量機的能耗估計。以下是估計過程的具體描述。

圖1 能耗估計流程
1.1 性能特征數據離散化
在MapReduce作業執行過程中,從每個節點采集到的負載性能數據為數值型,首先采用粗糙集理論中的有監督的離散化方法[10-11]對性能數據離散化處理。設X=(x1,x2,x3,…,xn)為離散化處理之前的樣本數據集,xi由m個負載運行時系統的性能事件組成,即xi=(xi1,xi2,xi3,…,xim),其中xij為任一性能事件。給定任一性能事件Ai,設閾值為T,X被T分割成兩個子集合,則稱T為X的一個斷點。
設離散化處理之前的樣本數據集X被斷點劃分為t個區間,X中的任一樣本xi所對應的系統實時能耗值為P(xi),X中各個樣本對應的不同的系統實時能耗值的個數為k,X所包含的總樣本個數為N,第i個區間中各樣本對應的能耗等于pi的樣本總數為sij,X中各樣本對應的能耗值為pi的樣本總數為si,第j個劃分區間中樣本數為nj,則X相對于t的列聯系數為
(1)
設離散化處理之前的樣本數據集X被劃分為t個區間,X中的樣本xi所對應的系統實時能耗值為P(xi),X的t劃分的列聯系數為χ2(t),則X對t劃分的評判標準為
A(t)=χ2(t)/t(k-1)
(2)
性能數據離散化的過程為求斷點集T,依據T中各個斷點對離散化處理之前的樣本數據集X進行劃分,在每次劃分時使用A(t)作為評判,尋找最佳斷點,依據最佳斷點對每個屬性的值域進行劃分。
1.2 性能屬性的約簡
MapReduce負載的各性能特征屬性對能耗的影響不同,為了去除性能特征屬性中的冗余,基于粗糙集理論中的信息熵[12]對性能屬性約簡。設論域U,P和Q分別為U上的兩個集合,X和Y分別為由P和Q確定的U的兩個劃分,其中X=(X1,X2,X3,…,Xn),Y=(Y1,Y2,Y3,…,Ym),從操作系統中采集到的負載性能屬性的集合為C,負載運行時各個性能屬性采集時間點對應的系統能耗值為D,X中的子集Xi中所包含的樣本的總個數與U中所包含的總樣本數的比值為P(Xi),Xi與Y的子集Yj的交集所包含的樣本總數與U中總樣本數的比值為P(Yj|Xi)。則U中各性能屬性相對于負載運行時系統產生的能耗的條件信息熵可表示為
H(D|C)=
(3)
定義1 條件屬性集C中的屬性Ci相對于論域U的分類重要度表示從C中刪除Ci前后,C相對于決策屬性的信息熵的變化,則屬性Ci的分類重要度為
M(Ci)=H(D|C-{Ci})-H(D|C)
(4)
對MapReduce系統中負載性能屬性約簡的過程如下:首先,依據離散化之后的條件屬性集合C及能耗值所對應的決策屬性集合D,依據式(3)計算D相對于C的信息熵H(D|C)及刪除某個屬性Ci之后的信息熵H(D|C-{Ci});其次,針對C中每個屬性,依據式(4)計算其重要度;最后,依據C中各個屬性的分類重要度大小,依次刪除各個屬性Ci,判斷從C中刪除Ci前后,集合C相對于集合D是否變化,如沒有發生變化則保留屬性Ci,否則刪除屬性Ci。
1.3 基于最小平方支持向量機的能耗估計模型
針對約簡后的性能屬性,采用最小平方支持向量機理論[13-14]建立MapReduce系統中負載能耗的估計模型。
設I為約簡之后的負載性能屬性,I=(A1,A2,A3,…,Am),Ai為負載性能屬性集合中第i個屬性的特征值,則基于最小平方支持向量機的估計模型可表示為
(5)
式中:K(I,Ii)為徑向基核函數,可表示為
K(I,Ii)=exp(-‖I-Ii‖2/ρ2)
(6)
式中:ρ為徑向基核函數參數。
能耗估計方法包括以下步驟:先依據約簡后的性能屬性構建數據集I,再將數據集I切分為訓練樣本集與測試樣本集,采用訓練樣本集對估計模型進行訓練,構建能耗估計模型。
基于最小平方支持向量機的能耗估計算法(MPower)表示如下。
算法1 MPower算法
輸入 MapReduce系統中負載性能特征屬性X與系統產生的能耗值的集合D,能耗值離散化區間數k,誤差量的最小值amin和最大值amax,懲罰因子的最小值amin和最大值amax
輸出 能耗估計模型P
/*決策屬性D的離散化*/
D’=disConAtt(D)
/*負載性能特征屬性X的離散化*/
for each attributeXi∈Xdo
xm←max(Xi)
xo←min(Xi)
Bi←initialBoundary(Xi,xm,xo)
for eachbj∈BIdo
calculate the statisticA(bj) according to
equation (2)
BOi←findBestBoundary(A(bj))
end for
BOUND←BOi
end for
C’=disDecAtt(C,BOUND)
/*負載性能特征屬性約簡*/
calculate the Information Entropy of conditional attributeH(D’|C’) according to equation (3)
for each attributeCi’∈C’ do
calculate the importance of conditional attributeH(D’|C’-{Ci’}) according to equation (3)
Q←H(D’|C’-{Ci’})
Ascending(Q)
end for
j=0;
I←C’
while(j ifH(D’|C’)=H(D’|I-{Qj}) do I←I-{Qj} end if end while /*基于最小平方支持向量機的能耗估計*/ [Itrain,Itest]←divide(I) fora∈[amin,amax] andγ∈[γmin,γmax] do [abest,γbest]←optimization(a,γ,Itrain) end for 本節使用普度大學發布的測試用例[15]驗證能耗估計方法的有效性,其中包括WordCount、Sort、Pi、RankedInvertedIndex、RandomWriter和TeraGen等。這些測試用例分別代表I/O密集型、CPU密集型和混合型3種MapReduce負載類型。 實驗的硬件平臺為3臺服務器與1臺PC機構成的YARN集群。其中每臺服務器的CPU為Intel(R) Xeon(R) E5-2420,內存大小為16 GB,硬盤為SATA接口。PC機的CPU為Intel(R) Core(TM) Q6000 @ 2.40 GHz,內存大小為2 GB,硬盤為IDE接口,存儲容量大小為150 GB。能耗測試儀器為Watts’up,其額定電壓為250 V,額定電流為15 A。軟件采用的是Apache發布的YARN平臺,版本號為2.0。 2.1 數據集 本文基于PerfMon2實現了性能屬性采集器PProfile。實驗中分別向YARN集群提交不同類型的作業,并在作業執行過程中對性能特征數據進行采集,采集間隔為1 s,每次采集40個性能屬性的特征值。同時,讀取采樣頻率間隔內系統的能耗值,每次采集到的性能數據和能耗值構成一個樣本數據,最終構成估計模型的樣本數據集。 2.2 結果分析 2.2.1 負載性能特征屬性的約簡 針對浮點型的能耗值,使用等頻離散化方法[10]執行離散化操作,屬性重要度閾值設為0.01,得到如表1所示的重要度大于0.01的性能特征及重要度。 如表1所示,YARN集群系統中負載的能耗與工作節點的各個組成部件均有關聯,其中CPU對應的性能特征屬性的重要度最大,是耗費電能最大的部件。內存所耗費的電能來源于內存的讀寫,評判內存讀寫能力的重要指標為每秒鐘內存缺頁個數和換入換出內存個數,這兩個性能數據均在表1中有所體現。 表1 性能特征屬性約簡結果 2.2.2 能耗估計方法的有效性驗證 為了驗證MPower算法的估計準確度,本小節引入估計相對誤差。設Pi為MPower算法對負載能耗的估計值,Qi為測量得到的負載能耗值,則MPower算法的估計相對誤差可表示為 E=|Pi-Qi|/Qi (7) (1)單作業環境。分別向YARN集群提交3個Kmeans作業和3個PI作業,分別采用MPower、Mantis[9]與Fan[7]估計系統能耗,圖2、圖3為3種方法估計結果的比較。 如圖2、圖3所示,3種方法均可較為準確地估計負載產生的能耗。對于作業PI,3種方法得到了相似的估計結果,這是由于作業PI運行過程中系統產生的能耗主要來自于CPU,而3種模型中均考慮了CPU的性能特征對能耗的影響。但是,Mantis與Fan方法并沒有考慮網絡I/O對能耗的影響,而這兩個影響因素均被MPower方法所考慮,因此MPower算法的估計準確度較高。對于作業Kmeans,MPower的估計準確度明顯優于Mantis與Fan方法,這也是由于MPower方法充分考慮了工作節點內部主要組成部件對能耗的影響,而Fan方法僅考慮了CPU對負載能耗的影響,Mantis方法僅考慮了磁盤及CPU對負載能耗的影響。 (a)PI (b)Kmeans圖2 單作業環境中負載能耗估計 圖3 單作業環境中不同估計模型平均相對誤差 (2)多作業環境。在多作業環境中,每種類型的作業擁有不同的特征,因此對集群系統資源的使用情況也不同。兩個用戶分別向YARN集群提交兩種類型的作業PI和Kmeans,如表2所示。比較MPower、Mantis和Fan 3種方法分別在最好、最壞及平均情況下的平均相對誤差。圖4、圖5描述了實驗的結果,可以看出MPower方法較另外兩種方法獲得了較高的估計準確率。這主要是因為MPower方法中考慮了作業運行時工作節點中主要功能部件產生的能耗,而Mantis及Fan方法僅考慮了部分功能部件耗費的電能。此外,對比圖2和圖4,單作業或多作業環境中負載產生的能耗與操作系統中采集到的性能特征并非簡單的線性相關,MPower方法中對性能特征進行屬性約簡,保留貢獻較大的性能特征,以此建立非線性估計模型,對負載的能耗值進行估計,因此獲得了較低的估計平均相對誤差。 表2 作業類型及輸入數據大小 圖4 多作業負載能耗估計 圖5 多作業環境中不同能耗估計方法的平均相對誤差 總之,在多作業和單作業環境中,MPower估計準確度高于已有的Fan方法和Mantis方法。 2.2.3 能耗估計方法的應用場景 在YARN集群中,一種常用的節能機制是動態電壓可擴展技術(DVFS)。為此,可將本文所提能耗估計方法與DFVS技術結合制定節能策略。如圖2a所示,PI用例的能耗具有很強的規律性,在161 s之前PI用例處于Map階段,能耗較高,但161 s之后PI用例進入Shuffle階段,能耗明顯降低,該規律已被MPower監控到,此時工作節點可以啟動DVFS機制降低CPU主頻,從而降低負載的能耗。在185 s之后PI用例進入Reduce階段的后期,此時,從MPower估計結果可以看出工作節點的能耗進一步降低。此時,可啟動DVFS技術降低CPU能耗從而達到節能目的。 此外,MPower可用來制定基于成本的調度策略。例如,結合MPower估計的能耗值及節點的性能特征,在保證服務質量的前提下,將Map或Reduce任務調度至當前能耗值較低的節點,而將部分節點休眠或關閉,從而提高YARN集群的能效。 本文針對YARN集群提出了一種負載能耗的估計方法,該方法基于負載的性能特征估計工作節點的能耗。針對Fan與Mantis等線性模型估計結果的平均相對誤差高的問題,本文依據MapReduce作業運行時的系統性能特征,利用粗糙集理論中的屬性約簡方法來約簡性能特征屬性,并基于屬性約簡的結果來構建能耗估計模型。實驗結果表明:本文所提方法估計結果的平均相對誤差為4.5%,低于已有的Fan和Mantis方法。 [1] DEAN, JEFFREY, SANJAY G. MapReduce: simplified data processing on large clusters [J]. Communications of the ACM, 2008, 1(1): 107-113. [2] VAVILAPALLI V K, MURTHY A C, DOUGLAS C, et al. Apache Hadoop YARN: yet another resource negotiator [C]∥Proceedings of the 4th Annual Symposium on Cloud Computing. New York, USA: ACM, 2013: 1-16. [3] 譚一鳴, 曾國蓀, 王偉. 隨機任務在云計算平臺中能耗的優化管理方法 [J]. 軟件學報, 2012, 23(2): 266-278. TAN Yiming, ZENG Guosun, WANG Wei. Policy of energy optimal management for cloud computing platform with stochastic tasks [J]. Journal of Software, 2012, 23(2): 266-278. [4] LEVERICH, JACOB, CHRISTOS K. On the energy (in) efficiency of hadoop clusters [J]. ACM SIGOPS Operating Systems Review, 2010, 44(1): 61-65. [5] GE Rong, FENG Xizhou, WIRTZ T, et al. eTune: a power analysis framework for data-intensive computing [C]∥Proceedings of the 2012 41st International Conference on Parallel Processing Workshops. Piscataway, NJ, USA: IEEE, 2012: 254-261. [6] WIRTZ T, GE Rong. Improving Mapreduce energy efficiency for computation intensive workloads [C]∥Proceedings of the 2011 International Green Computing Conference and Workshops. Piscataway, NJ, USA: IEEE, 2011: 1-8. [7] FAN Xiaobo, 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] HEATH T, DINIZ B, CARRERA E V, et al. Energy conservation in heterogeneous server clusters [C]∥Proceedings of the 10th ACM Sigplan Symposium on Principles and Practice of Parallel Programming. New York, USA: ACM, 2005: 186-195. [9] RIVOIRE S, RANGANATHAN P, KOZYRAKIS C. A comparison of high-level full-system power models [J]. HotPower, 2008, 8: 1-5. [10]LI Bing, CHOW T W S, TANG Peng. Analyzing rough set based attribute reductions by extension rule [J]. Neurocomputing, 2014, 123: 185-196. [11]HAN Jiawei, KAMBER M, PEI Jian. Data mining: concepts and techniques [M]. San Francisco, CA, USA: Morgan Kaufmann, 2006: 63-70. [12]王國胤, 姚一豫, 于洪. 粗糙集理論與應用研究綜述 [J]. 計算機學報, 2009, 32(7): 1229-1246. WANG Guoyin, YAO Yiyu, YU Hong. A survey on rough set theory and applications [J]. Journal of Computers, 2009, 32(7): 1209-1246. [13]CORTES C, VAPNIK V. Support vector machine [J]. Machine Learning, 1995, 20(3): 273-297. [14]SUYKENS J A K, VANDEWALLE J. Least squares support vector machine classifiers [J]. Neural Processing Letters, 1999, 9(3): 293-300. [15]AHMAD F, CHAKRADHAR S T, RAGHUNATHAN A, et al. Tarazu: optimizing Mapreduce on heterogeneous clusters [C]∥Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems. New York, USA: ACM, 2012: 61-74. [本刊相關文獻鏈接] 袁通,劉志鏡,劉慧,等.多核處理器中基于MapReduce的哈希劃分優化.2014,48(11):97-102.[doi:10.7652/xjtuxb2014 11017] 史椸,耿晨,齊勇.一種具有容錯機制的MapReduce模型研究與實現.2014,48(2):1-7.[doi:10.7652/xjtuxb201402001] 崔華力,錢德沛,張興軍,等.用于無線多跳網絡視頻流傳輸的優先級機會網絡編碼.2013,47(12):13-18.[doi:10.7652/xjtuxb201312003] 陳衡,錢德沛,伍衛國,等.傳感器網絡基于鄰居信息量化的能量平衡路由.2012,46(4):1-6.[doi:10.7652/xjtuxb2012 04001] (編輯 武紅江) A Power Estimation Method Based on Performance Features in MapReduce Environments FAN Yuanquan,WU Weiguo,XU Yunlong,GAO Yan (School of Electronics and Information Engineering, Xi’an Jiaotong University, Xi’an 710049, China) It is difficult to improve the energy efficiency of MapReduce clusters by matching active nodes to the needs of the workload since it is difficult to capture the features of energy consumption for cost-based scheduler for different types of workloads. A power estimation method based on performance features of workloads is proposed to solve the problem. The method estimates the power consumption by leveraging performance monitoring counters on components of worker nodes during MapReduce jobs execution. A machine learning method is used to improve the estimation accuracy. The performance monitoring counters of MapReduce system are collected to build a sample set, and then the rough set method is used to select the performance attributes that show strong impact on the energy consumption of workloads. A power estimation model based on the least square support vector machines is built from the attribute reduction results. Experimental results show that the energy estimation method accurately forecasts the power consumption of workloads in MapReduce systems. The relative error of accuracy for power prediction is 4% for only one running job and 4.5% for jobs sharing MapReduce clusters. power estimation; performance features; MapReduce 2014-05-26。 樊源泉(1982—),男,博士生;伍衛國(通信作者),男,教授,博士生導師。 國家自然科學基金資助項目(61202041,91330117);國家高技術研究發展計劃資助項目(2011AA01A204,2012AA01A306)。 時間:2014-12-11 10.7652/xjtuxb201502003 TP333 A 0253-987X(2015)02-0014-06 網絡出版地址:http:∥www.cnki.net/kcms/detail/61.1069.T.20141211.0849.002.html2 實驗分析







3 結 論