王柏翔+姜佳鵬
摘要:該文提出一種云計算環(huán)境下面向能耗降低的虛擬機管理模型,用于解決集中管理方法管理云數(shù)據(jù)中出現(xiàn)的高能耗、擴(kuò)展性差、虛擬機遷移數(shù)量多的問題。本文方法分為兩部分:本地管理和全局管理,該模型綜合了本地管理和全局管理的優(yōu)點,實驗結(jié)果表明,該模型達(dá)到了減少虛擬機遷移的數(shù)量及提高了系統(tǒng)的服務(wù)質(zhì)量,進(jìn)一步降低管理云數(shù)據(jù)的能耗。
關(guān)鍵詞:云計算;虛擬機;節(jié)能;本地管理;全局管理
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)01-0222-02
1 引言
云計算[1-2]方便網(wǎng)絡(luò)應(yīng)用的同時面臨嚴(yán)重的能耗問題。針對這個問題,虛擬化[3-4]應(yīng)運而生。虛擬化使多個虛擬機實例同時運行在一臺物理機上,以減少電源消耗。
目前,集中式管理方法常用于整合虛擬機。文獻(xiàn)[5]采用類似裝箱問題中的啟發(fā)式方法降低能耗的同時保證系統(tǒng)性能。文獻(xiàn)[6-7]采用不同的方法重組虛擬機用以降低能耗。
采用集中式管理方法雖然在一定程度上能夠降低能耗,但是仍存在一些問題。(1)該方法重組虛擬機時需要消耗大量的資源,因此消耗的電能也越多。遷移虛擬機的過程中,其服務(wù)性能在一定程度上會降低,因此減少管理過程中的虛擬機遷移次數(shù)是必要的。(2)集中管理方法只適用較小規(guī)模的集群,很難管理大規(guī)模云計算系統(tǒng)。針對以上所存問題,為了實現(xiàn)降低能耗的目的,本文提出一種云計算環(huán)境下面向能耗降低的虛擬機管理模型。
2 分布式管理虛擬機模型
文獻(xiàn)[8]研究服務(wù)器總電耗與CPU利用率之間的關(guān)系,即隨著CPU的利用率從0到100%,服務(wù)器的總電耗呈線性增長,如公式(1)所示。
其中,指預(yù)計的電耗;和分別指服務(wù)器空閑時的電耗和當(dāng)服務(wù)器滿負(fù)載時的電耗;代表當(dāng)前CPU的利用率。一個物理節(jié)點的總能耗E定義為一段時間內(nèi)電耗的函數(shù)積分,如公式(2)所示:
由于服務(wù)器的能耗取決于CPU的利用率。因此,通過提高物理節(jié)點CPU的利用率可減少電耗。
2.1 分布式管理結(jié)構(gòu)
分布式管理方法中,本地管理持續(xù)監(jiān)控本地節(jié)點CPU利用率,全局管理收集本地的節(jié)點信息,選擇最佳節(jié)點接收需要遷移的虛擬機。分布式管理結(jié)構(gòu)如圖1所示。
為了提高節(jié)點CPU的利用率,系統(tǒng)設(shè)置了一個低門限值。若低于該門限值,遷移該節(jié)點上的所有虛擬機,然后關(guān)閉該節(jié)點以達(dá)到節(jié)能的目的。另一方面,系統(tǒng)設(shè)置一個高門限值,若高于該值,遷移一定數(shù)量的虛擬機,用于提高系統(tǒng)服務(wù)質(zhì)量。
分布式管理策略是監(jiān)控分布在節(jié)點上的本地管理對其的CPU利用率。若在設(shè)定的門限值內(nèi),則虛擬機不發(fā)生遷移。若某節(jié)點超過設(shè)定的閾值,即處于異常狀態(tài),系統(tǒng)則做出以下反應(yīng):(1)從異常節(jié)點上選擇遷移虛擬機;(2)選取其他物理節(jié)點接受(1)中遷移出的虛擬機。以下討論上述兩方面。
(1)虛擬機的選擇
本地管理首先從監(jiān)控器捕捉到的異常節(jié)點進(jìn)行虛擬機的遷移。通常會選擇一個或多個虛擬機遷移出去,以消除異?,F(xiàn)象。遷移分為一下兩種情況:1)CPU利用率過高引起異?,F(xiàn)象,本地遷移若干個虛擬機,遷移節(jié)點虛擬機的數(shù)量因具體情況而定。遷移的過程中首先CPU利用率按倒序排列,然后正序進(jìn)行遷移。依此類推,直到該節(jié)點異常現(xiàn)象消除,則停止遷移。若因節(jié)點CPU利用率過低引起的異?,F(xiàn)象,為了達(dá)到節(jié)能的目的,本地管理將該節(jié)點上的所有虛擬機遷移到其他節(jié)點并關(guān)閉該節(jié)點。
(2)物理節(jié)點的選擇
全局管理模型首先預(yù)判斷待遷移的虛擬機,判斷是否存在物理節(jié)點接受該虛擬機后不出現(xiàn)異常現(xiàn)象。若存在,全局管理進(jìn)而對該節(jié)點進(jìn)行電耗評估,即計算這些節(jié)點接收虛擬機先后的電耗之差,選擇最小電耗差的物理節(jié)點接收待遷移虛擬機。若沒有滿足條件的物理節(jié)點則不進(jìn)行遷移。
3 仿真實驗與分析
本文選擇Cloudsim[9]平臺作為仿真工具,該平臺能夠模擬大規(guī)模云計算數(shù)據(jù)中心的集群環(huán)境。Cloudsim平臺對比集中管理方法和分布式管理方法,設(shè)置四組實驗:實驗1:物理節(jié)點數(shù)30,虛擬節(jié)點數(shù)90;實驗2:物理節(jié)點數(shù)100,虛擬節(jié)點數(shù)300;實驗3:物理節(jié)點數(shù)300,虛擬節(jié)點數(shù)900;實驗4:物理節(jié)點數(shù)1000,虛擬節(jié)點數(shù)3000。
上述各規(guī)模的物理節(jié)點CPU配置均為3000MHz,內(nèi)存為8GB,存儲和帶寬分別為1000GB和100Mb/s。虛擬機CPU的配置均為500MHz,內(nèi)存為1GB,存儲和帶寬分別為100GB和25Mb/s。實驗結(jié)果表明,虛擬機遷移過程中,由于需要遷移虛擬機,其CPU利用率增加了10%。
本文實驗是分布式管理模型再不同門限值的情況下進(jìn)行的。實驗結(jié)果表明,當(dāng)系統(tǒng)性能最佳時的高門限值為80%,低門限值為20%(限于篇幅,不羅列這部分實驗結(jié)果)。因此,以下實驗結(jié)果均是在該設(shè)置下完成的。
集群規(guī)模是物理節(jié)點數(shù)與虛擬機數(shù)之比。從圖2可知,4組實驗中,分布式管理方法較集中式管理方法分別減少了11%、18%、26%和31%的電耗,即云計算數(shù)據(jù)中心規(guī)模越大,分布式管理方法的電耗減少越多,原因是分布式管理方法設(shè)置的門限值減少了虛擬機遷移的次數(shù)。由于虛擬機遷移的次數(shù)減少了,則其消耗的CPU資源減少了,進(jìn)而降低了能耗。
由圖3可知,集群遷移數(shù)量會隨著集群數(shù)量的增大而增大。但分布式管理方法的集群遷移數(shù)量明顯低于集中式管理方法,其穩(wěn)定性較高。
圖4對比了集中式管理方法和分布式管理方法在不同集群規(guī)模下違反服務(wù)水平協(xié)議的概率。違反服務(wù)水平協(xié)議指虛擬機不能得到請求CPU的處理。違反服務(wù)水平協(xié)議的概率與系統(tǒng)服務(wù)質(zhì)量成反比。實驗表明,分布式管理方法比集中式管理方法的虛擬機遷移數(shù)量平均減少了68.24%,違反服務(wù)水平協(xié)議的概率平均減少了59.87%。由此可知,分布式管理方法可以很大程度的提高系統(tǒng)服務(wù)質(zhì)量。
綜上所述,分布式管理方法可實現(xiàn)高效節(jié)能的同時提供更加可靠的服務(wù)質(zhì)量。
4 結(jié)束語
本文提出的云計算環(huán)境下面向能耗降低的虛擬機管理模型,其分布式管理方法通過設(shè)置高門限值和低門限值決定虛擬機的遷移。實驗結(jié)果證明,分布式管理方法在大規(guī)模云計算系統(tǒng)中能夠保證可靠的服務(wù)質(zhì)量,并實現(xiàn)云計算數(shù)據(jù)中心的高效節(jié)能。為以保證其在不能規(guī)模下云計算數(shù)據(jù)中心的高效節(jié)能效果,將進(jìn)一步研究如何設(shè)置高門限值和低門限值。
參考文獻(xiàn):
[1] 陳康,鄭緯民.云計算:系統(tǒng)實例與研究現(xiàn)狀[J].軟件學(xué)報,2009,20(5):1337-1348.
[2] 江雪,李小勇.虛擬機動態(tài)遷移的研究[J].計算機應(yīng)用,2008,28(9):2375-2377.
[3] Susanta N. A Survey on Virtualization Technologies [EB/OL. (2011-06-20). http://www.ecsl.cs.sunysb.edu/tr/TR179.pdf.
[4] 金宏,王宏安,王強,等.一種任務(wù)優(yōu)先級的綜合設(shè)計方法[J].軟件學(xué)報,2003,14(3):376-382.
[5] 王永炎,王強,王宏安,等.基于優(yōu)先級表的實時調(diào)度算法及其實現(xiàn)[J].軟件學(xué)報,2004,15(3):360-370.
[6] Armbrust M, Fox A, Griffith R, et al. Above the Clouds: A Berkeley View of Cloud Computing[EB/OL]. (2011-01-25). http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf.
[7] Anton B, Rajkumar B. Energy Efficient Resource Management in Virtualized Cloud Data Centers[C]//Proc. of IEEE/ACM International Conference on Cluster, Cloud and Grid Computing. Melbourne, Australia: IEEE Computer Society, 2010.
[8] Fan Xiaobo, Weber W D, Barroso L A. Power Provisioning for Warehouse-sized Computer[C]//Proc. of the 34th Annual International Symposium on Computer Architecture. New York, USA: ACM Press, 2007.