王文娟
摘 要:為了對云計算系統的能耗進行優化,文章提出了一種基于系統使用率的云計算平臺能耗模型,并對其具體構建與設計進行了分析,測試結果表明該能耗模型可以有效降低系統能耗。
關鍵詞:云計算;系統使用率;能耗模型
如何提高云計算系統的能耗測量和管理水平,是當前的云計算技術領域中的研究熱點,基于系統使用率的云計算平臺能耗模型具有較好的優化節能效果,值得推廣和應用。
1 云計算平臺系統能耗模型介紹
為了保證云計算平臺系統能耗模型科學性及合理性,在構建模型時需要遵循相應的原則。首先,應該保證能耗模型測量數據的全面性和完整性,覆蓋到整個云計算系統。其次,設計合理的能耗優化算法,確保能耗模型測量的精準性。同時,能耗模型要能夠適用于不同類型的云計算系統中,并且可以根據當前采集到的數據對云計算系統的能耗進行預測。最后,能耗模型中的數學模型要具備較強的靈活性,可以隨云計算系統的變化做出相應的調整,并且要盡量簡單化,方面進行計算[1]。
2 基于系統使用率的云計算平臺能耗模型
2.1 系統CPU使用率能耗模型
CPU使用率在云計算系統能耗中占有很大比例,加強對CPU使用率的控制,是降低云計算系統能耗的一種有效手段。如果用線性關系式表示云計算系統CPU使用率能耗模型,則存在公式P=M+i*Ncpu,其中M和I分別表示云計算系統的網絡能耗數據以及CPU使用率能耗數據的經驗數值。但是隨著云計算技術的不斷發展以及相關研究的不斷深入,發現CPU使用率能耗與系統能耗之間的關系,已經不能用線性關系式來表示,所以對原有能耗模型公式進行了改進,將其調整為非線性關系,即P=M+i*NCPU+j*NCPU,其中j和N分別是不同的影響因子。
2.2 系統內存使用率能耗模型
內存使用率也是影響云計算系統能耗的主要因素之一,主要體現在系統硬件能耗方面,因內存使用率所造成了能耗最高可以占到系統總能耗的70%左右。內存本身的能耗較低,但是由于CPU處理器的運行方式為多核技術,需要耗費更多的內存才能保證虛擬機的正常運行,所以,便會造成內存使用率能耗的增加[2]。因為內存使用率與CPU處理器有關,所以兩者之間的能耗呈正比關系,即內存使用率能耗會隨著CPU使用率能耗的升高而變大,如果用數學模型來表示兩者之間的關系,則存在公式P=M+i*NCPU+j*NMEMORY。
2.3 系統存儲使用率能耗模型
在特定情況下,由存儲使用率所造成的能耗最高可以達到系統總能耗的65%。在一個云計算系統中往往會存在多個存儲磁陣,并且每個存儲磁陣都可以隨系統升級而進行擴展,雖然可以提高云計算系統的并行能力、增加數據吞吐量,但是系統的存儲使用率耗能也會隨之升高。并且,多個存儲磁陣的運行方式為同軸共轉,再加上云計算系統自身的安全保護技術,都會使存儲使用率能耗增加。當前,一般使用不同調節功能的磁盤降低系統存儲使用率能耗,閃存技術也是一種比較常用的存儲節能方式。在構建存儲使用能耗模型的時候,如果將存儲磁陣作為主要影響因素,則存儲使用率與云計算系統的能耗存在線性關系式為P=M+i*NCPU+j*NDISK。
在得到云計算系統的CPU、內存及存儲使用率能耗的非線性關系之后,便可以對能耗變量與資源使用率進行回歸分析,最終得到的非線性目標函數為f(x)=W·?準(x)+b,其中x表示資源使用率。如果通過該函數將一組試驗數據映射到高維線性特征空間,并在數學關系式中引入彈性因子,則可以得到云計算系統的最優化能耗模型為:
3 基于系統使用率的云計算平臺能耗模型設計及測試
在得到云計算系統使用率與能耗之間的非線性模型之后,便需要設計科學的模型構建方法,然后對能耗模型進行測試,驗證能耗模型是否可以實現減耗節能效果。
3.1 基于系統使用率的云計算平臺能耗模型設計
在對云計算系統能耗模型進行設計的時候,以Linux內核處理器為例,因為CPU處理器的使用率與內核中的全局變量jiffies有關,jiffies所表示的時鐘節拍數便是CPU的具體使用率,所以可以通過采樣法,利用變量jiffies得到CPU在某一段時間內的使用率。在得到CPU使用率之后,可以利用process/information文件中的數據及參數,對云計算系統的內存使用率及存儲使用率進行計算,完成能耗模型數據采集。然后對采集到的范圍從0-1的400多組數據進行回歸分析,包括Lasso回歸分析、變量多元指數Lasso回歸分析以及支持向量機回歸分析,將主要影響因子代入到回歸方程中,可以得到最終的云計算系統能耗公式為
3.2 基于系統使用率的云計算平臺能耗模型測試
在對云計算系統能耗模型進行測試的時候,使用的主控芯片為64位四核處理器Athlon,其中處理器的內置芯片有六組,包括兩組64×2的內置芯片以及四組64×4的內置芯片,處理器的主內存為48G,操作系統版本為2.6.36-260ELsmp,編譯環境為gcc-4.4.6。
在對云計算系統能耗模型的精準性進行判斷的時候,所使用的指標為相對誤差率Q誤差,可以用公式Q誤差=表示,其中Q估計和Q電表分別代表能耗模型預測值和電表實際測量值,在得到能耗相對誤差之后,便可以根據數值的大小判斷能耗模型的精準度,能耗誤差值越小,能耗模型的預測值與接近實際測量值,表明能耗模型的精準度越高。
對400多組數據分別進行線性回歸分析和非線性回歸分析,發現線性模型的能耗誤差達到了30%左右,與三種非線性模型的能耗誤差相比誤差值比較大。Lasso回歸模型和變量多元指數Lasso回歸模型的能耗誤差在±10%范圍內波動,并且CPU和內存使用率的指數函數ex不會對計算結果造成影響。支持向量機回歸模型的能耗誤差為±6%,在所有的能耗模型中,誤差值是最小的,表明該能耗模型具有較高的預測精準度,如果僅考慮系統使用率,在進行能耗預測時可以達到94%的精準度。
4 結束語
能耗模型是優化云計算系統能耗的主要手段,同時也是判斷云計算資源調度是否科學的重要方式,在保證云計算系統高效低耗運行時起到了關鍵作用。通過對云計算系統的CPU、內存以及存儲使用率進行分析,構建相應的能耗模型,經過科學設計及非線性回歸計算之后,可以發現面向云計算平臺的系統使用率的能耗模型具有較高的精準度,能夠有效降低云計算系統能耗。
參考文獻
[1]羅亮,吳文峻,張飛.面向云計算數據中心的能耗建模方法[J].軟件學報,2014(7):1371-1387.
[2]盧彪,李悅,張萬禮.基于云計算系統使用率的能耗模型的研究與設計[J].綏化學院學報,2016(9):148-151.
[3]趙洲.面向云計算服務的能耗采集與預測方法[D].華東師范大學,2016.