陳 陽,王 勇
(1.安徽工程大學(xué) 現(xiàn)代教育技術(shù)中心,安徽 蕪湖 241000;2.安徽工程大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 蕪湖 241000)
為了倡導(dǎo)綠色云計(jì)算環(huán)境,近年來大規(guī)模節(jié)能的云數(shù)據(jù)中心的構(gòu)造與使用成了政府和各大IT企業(yè)越來越重視的問題,云數(shù)據(jù)中心的構(gòu)造目標(biāo)是低能量消耗、高服務(wù)質(zhì)量(quality of service,QoS)、節(jié)省物理空間和高可靠性等[1-4]。一個(gè)數(shù)據(jù)中心(data center,DC)通常配置有大量的緊密堆積在一起物理節(jié)點(diǎn)(physical machines,PM),目的是提高建筑物空間的利用率;虛擬化技術(shù)是云數(shù)據(jù)中心中最關(guān)鍵的技術(shù),虛擬化允許用戶對云資源的訪問是透明與簡單方便的, 它通過虛擬機(jī)(virtual machines,VM)的形式將應(yīng)用程序封裝起來,通過虛擬機(jī)分配策略將其分配到具體的數(shù)據(jù)中心的物理節(jié)點(diǎn)之中執(zhí)行。在應(yīng)用程序執(zhí)行過程中,利用虛擬機(jī)遷移策略來提高云資源的利用效率,節(jié)省云服務(wù)提供商的能量消耗和成本。針對虛擬機(jī)遷移策略,目前大量的文獻(xiàn)考慮的遷移因素都關(guān)注在物理主機(jī)的CPU使用效率,內(nèi)存大小,空余磁盤空間,網(wǎng)絡(luò)帶寬等方面, 把性能指標(biāo)關(guān)注在違規(guī)比率、QoS、系統(tǒng)能量消耗、虛擬機(jī)遷移次數(shù)等方面[5]。
本文提出了一種綠色云計(jì)算環(huán)境中基于溫度感知的虛擬機(jī)遷移策略(TA-VMM),與當(dāng)前主要的遷移策略不同的是,該策略考慮的主要因素是云數(shù)據(jù)中心的物理節(jié)點(diǎn)的溫度情況和能量溫度結(jié)合情況。建立了虛擬機(jī)選擇和虛擬機(jī)分配過程中物理資源的溫度和能量的數(shù)學(xué)模型;TA-VMM由虛擬機(jī)選擇算法和虛擬機(jī)重分配算法TDR 2個(gè)部分組成。最后,在Cloudsim云計(jì)算模擬器上實(shí)現(xiàn)和測試了TA-VMM的策略。實(shí)驗(yàn)結(jié)果表明,在TA-VMM節(jié)省能量和虛擬機(jī)遷移次數(shù)方面具有較好的性能,SLA違規(guī)方面只有極小的增加。
目前,學(xué)術(shù)界為了節(jié)省云數(shù)據(jù)中心的能量消耗,構(gòu)建綠色云計(jì)算環(huán)境,進(jìn)行了大量的研究。第1種是運(yùn)行冷凝系統(tǒng)保證物理服務(wù)器的空間不會(huì)過熱[6];第2種是通過虛擬機(jī)遷移策略和算法,即云服務(wù)提供商應(yīng)用虛擬機(jī)遷移與合并策略到公有云、私有云、混合云之中。
第2種又主要分為3類:①早期的單純的虛擬機(jī)遷移策略,沒有采用相關(guān)智能算法進(jìn)行優(yōu)化;②貪心算法、遺傳算法等進(jìn)行優(yōu)化的虛擬機(jī)分配與遷移策略;③Anton Beloglazov博士等為團(tuán)隊(duì)開發(fā)的以Cloudsim模擬器平臺(tái)中的遷移策略為主線的虛擬機(jī)分配策略的研究。
對于第1類相關(guān)研究, 文獻(xiàn)[7]提出了云數(shù)據(jù)中心的綠色計(jì)算的思路和減少碳泄露(carbon emission)的方法。它提出的方法都可以支持低能量消耗和減少碳泄露,實(shí)驗(yàn)結(jié)果顯示,可以減少23%的能量消耗和25%的碳泄露;文獻(xiàn)[8]提出了虛擬機(jī)遷移中一個(gè)自適應(yīng)的低能量消耗方法,使用模糊推理引擎來決定虛擬機(jī)的分配與放置,實(shí)驗(yàn)結(jié)果顯示,針對普通的能量管理算法,可以減少18%的能量消耗;文獻(xiàn)[9]提出了云數(shù)據(jù)中心中的虛擬機(jī)遷移策略,使用動(dòng)態(tài)的方式使其滿足客戶端的各種SLA應(yīng)用程序需求,實(shí)驗(yàn)結(jié)果顯示,該策略可以保證60%的物理服務(wù)器中的SLA違規(guī)忽略不計(jì),在一定程度上可以保證云數(shù)據(jù)中心的QoS服務(wù)質(zhì)量;文獻(xiàn)[10]在Anton Beloglazov博士的基礎(chǔ)上提出SLA違規(guī)算法,引入最小能量最大利用率策略,進(jìn)一步優(yōu)化虛擬機(jī)配置方法。
對于第2類研究,文獻(xiàn)[11]從CPU維度對虛擬機(jī)的動(dòng)態(tài)配置問題進(jìn)行建模,并利用改進(jìn)的蛙跳算法進(jìn)行求解;文獻(xiàn)[12-13]提出了云計(jì)算中基于貪心算法的任務(wù)調(diào)度及改進(jìn),把改進(jìn)任務(wù)競爭時(shí)間和改進(jìn)任務(wù)執(zhí)行代價(jià)作為主要因素。實(shí)驗(yàn)結(jié)果表明,貪心算法在串行調(diào)度算法的基礎(chǔ)上可以改進(jìn)任務(wù)調(diào)度的性能,但是它們并沒有將貪心算法物理資源低能量消耗相關(guān)的算法之中;文獻(xiàn)[14-16]都提出了遺傳算法優(yōu)化的云數(shù)據(jù)中心虛擬機(jī)遷移策略,相關(guān)實(shí)驗(yàn)數(shù)據(jù)表,其性能要優(yōu)于貪心算法和無智能優(yōu)化算法等。
對于第3類研究,文獻(xiàn)[17]分析了虛擬機(jī)遷移及其相關(guān)的動(dòng)態(tài)虛擬機(jī)合并問題,提出了自適應(yīng)的基于數(shù)據(jù)歷史分析的啟發(fā)式算法來保證低能量的消耗,實(shí)驗(yàn)結(jié)果顯示,局部規(guī)約算法(local regression algorithm)和最近時(shí)間遷移(least time migration)方法性能優(yōu)于其他常見方法;文獻(xiàn)[18]提出了能量相關(guān)的云計(jì)算的體系結(jié)構(gòu)和方法,它的主要思想是基于虛擬機(jī)的動(dòng)態(tài)合并,利用Cloudsim[19]來模擬與評測算法的性能,結(jié)果顯示,針對靜態(tài)的資源分配方法,它可以很好地降低云數(shù)據(jù)中心的能量消耗;文獻(xiàn)[20]提出了云數(shù)據(jù)中心考慮資源使用閾值邊界的虛擬機(jī)分配策略, 可以根據(jù)云端當(dāng)前工作負(fù)載的狀態(tài)來獲得資源的使用效率情況,在工作負(fù)載高于或者低于設(shè)置的閾值上界與閾值下界時(shí),該物理主機(jī)上的虛擬機(jī)將進(jìn)行遷移,放置到新的物理主機(jī)上,測試結(jié)果表明,比Cloudsim中已有的median absolute deviation(MAD)策略,static threshold(ST)策略,local regression(LR)策略,local regression robust(LRR)策略和inter quartile range(IQR)等的性能都要優(yōu)秀。
上述這些方法的主要目的是應(yīng)用虛擬機(jī)動(dòng)態(tài)遷移技術(shù)實(shí)現(xiàn)云端服務(wù)的負(fù)載均衡和容錯(cuò),節(jié)省服務(wù)器的能量等,最終是為了改善云端的服務(wù)質(zhì)量QoS,減少SLA違規(guī), 虛擬機(jī)在遷移時(shí)考慮的物理資源使用情況的維度由早期的單一CPU利用率到現(xiàn)在的多個(gè)維度的指標(biāo),甚至后面還有硬件因素、軟件因素、網(wǎng)絡(luò)帶寬因素、網(wǎng)絡(luò)設(shè)備接口能量消耗等[21]。
TA-VMM也是為了構(gòu)建綠色云計(jì)算環(huán)境,針對云端的多種應(yīng)用服務(wù)請求處于動(dòng)態(tài)變化情形下,提出的一種云數(shù)據(jù)中心的虛擬機(jī)動(dòng)態(tài)遷移模型, 可以認(rèn)為它是針對Cloudsim云計(jì)算模擬器進(jìn)行后續(xù)研究的虛擬機(jī)遷移策略,在資源申請時(shí)考慮的主要因素是溫度情況和能量情況,這是其他各類算法考慮較少的地方,它可以避免物理服務(wù)器嚴(yán)重的hot-spot 或者cold-spot問題。雖然文獻(xiàn)[22-24]在資源分配時(shí)也考慮了一些溫度因素,但是并沒有利用到云端的虛擬機(jī)選擇與分配之中。
最近這幾年又有文獻(xiàn)提出采用軟件的方法來提高虛擬機(jī)分配和虛擬機(jī)放置策略的性能,還有文獻(xiàn)提出需要在虛擬機(jī)遷移過程中考慮網(wǎng)絡(luò)攻擊危險(xiǎn),保證云數(shù)據(jù)中心的可靠性。例如文獻(xiàn)[25]把虛擬機(jī)遷移過程劃分為物理主機(jī)狀態(tài)檢測、虛擬機(jī)映射、虛擬機(jī)選擇、虛擬機(jī)放置4個(gè)復(fù)雜的步驟,其中,虛擬機(jī)映射主要通過任務(wù)粒度、軟件代價(jià)等來進(jìn)行調(diào)整;虛擬機(jī)放置屬于一類經(jīng)典裝相問題,即把大量的VM放置到大量的物理節(jié)點(diǎn)之中,它提出要考慮虛擬機(jī)映射和虛擬機(jī)放置之間的相互聯(lián)系來改善性能。文獻(xiàn)[26] 提出了云數(shù)據(jù)中心基于安全檢測的虛擬機(jī)遷移策略。利用隔室技術(shù)及SIR(susceptible, infected, recovered)模型在虛擬機(jī)遷移過程將有安全威脅的虛擬機(jī)隔離出來,保證云數(shù)據(jù)中心的能量消耗與安全級別的平衡。
在TA-VMM中,物理主機(jī)的溫度做為重要因素在虛擬機(jī)選擇和分配過程中予以考慮,其工作場景為一個(gè)云數(shù)據(jù)中心有N個(gè)物理服務(wù)器節(jié)點(diǎn),云平臺(tái)上運(yùn)行著M個(gè)虛擬機(jī)。云客戶端向云數(shù)據(jù)中心申請資源的時(shí)候,存在著虛擬機(jī)遷移,虛擬機(jī)合并等事件,多個(gè)虛擬機(jī)也可以被分配到一個(gè)單獨(dú)的物理服務(wù)器節(jié)點(diǎn),我們設(shè)計(jì)了下面的能量消耗數(shù)學(xué)模型。
物理服務(wù)器節(jié)點(diǎn)的能量消耗的主要決定因素往往包括主機(jī)的CPU使用率、內(nèi)存大小、磁盤空間大小及網(wǎng)絡(luò)接口的使用率等。在這些因素之中,CPU往往是物理主機(jī)最重要的能量消耗因素,這也是前5~8年的虛擬機(jī)遷移策略的論文主要分析的是CPU利用情況的原因所在。后期有相關(guān)文獻(xiàn)[21]表明,一個(gè)空閑的物理服務(wù)器大約也要消耗它的峰值能量的70%,所以關(guān)閉那些空閑的物理服務(wù)器在云數(shù)據(jù)中心十分重要。
在TA-VMM中,為了計(jì)算云端的能源消耗,假設(shè)服務(wù)器是空閑的,它的能源消耗百分比是k,pfull表示服務(wù)器在完全滿負(fù)載工作時(shí)的能源消耗(峰值能量消耗),ui是當(dāng)前的物理主機(jī)i的CPU使用效率。物理主機(jī)的能量消耗為整個(gè)云服務(wù)器端的能源消耗為
Pi=k·pfull+(1-k)pfull·ui
(1)
(2)
在溫度的數(shù)學(xué)模型中,TA-VMM主要參考了文獻(xiàn)[27]中的lumped RC物理服務(wù)器的溫度行為。即在時(shí)刻t的情況下,假設(shè)一個(gè)能量消耗為P的處理器的溫度可以描述為
T(t)=P·Rth+Tamb-
(P·Rth+Tamb-Tinit)·e-t/RthCth
(3)
(3)式中:Rth和Cth分別表示其等效的熱電阻和熱電容;Tamb表示環(huán)境溫度;Tinit表示初始溫度。
由于在虛擬機(jī)遷移過程中經(jīng)常要判斷物理主機(jī)是否空閑或者超負(fù)荷,所以TA-VMM中參考了Cloudsim開發(fā)團(tuán)隊(duì)中的描述,定義了幾種物理主機(jī)超負(fù)載檢測算法。
1)固定閾值(static threshold,THR):資源在使用過程中,采取一個(gè)固定的使用效率閾值,例如80%或者20%, 超過或小于這個(gè)范圍的情況下,虛擬機(jī)就要進(jìn)行遷移。
2)四分差(interquartile range,IQR):設(shè)置一個(gè)資源使用的上限利用效率閾值,用來調(diào)整CPU的使用效率。
3)絕對中位差(median absolute deviation,MAD):設(shè)置一個(gè)資源使用效率閾值,根據(jù)CPU的使用效率的中位來確定是否遷移虛擬機(jī)。
4)局部魯棒性(local regression robust,LRR)規(guī)約:尋找一個(gè)趨勢多項(xiàng)式到最近的CPU使用效率的j個(gè)觀察值來評測下一個(gè)觀察值,最后檢測其是否滿足物理主機(jī)超負(fù)載的狀態(tài)。
TA-VMM虛擬機(jī)遷移策略包括2個(gè)過程:虛擬機(jī)選擇和虛擬機(jī)重新分配。TA-VMM中也采用了Cloudsim中的虛擬機(jī)遷移方法作為比較性能,這些已有的策略描述如下。
1)最大關(guān)聯(lián)(maximum correlation,MC)選擇方法:即選擇同一個(gè)物理主機(jī)上的且與CPU使用效率有最高關(guān)聯(lián)度的虛擬機(jī)作為對象。
2)最小遷移時(shí)間(minimum migration time,MMT)選擇方法:即遷移一個(gè)在最短時(shí)間內(nèi)能夠完成的虛擬機(jī)作為選擇對象。
3)最小使用效率(minimum utilization,MU)選擇方法:即對一個(gè)具有最小使用效率的虛擬機(jī)進(jìn)行遷移。
4)隨機(jī)選擇(random selection,RS)策略:即在物理服務(wù)器上隨機(jī)選擇一個(gè)虛擬機(jī)進(jìn)行遷移。
TA-VMM虛擬機(jī)遷移策略的工作機(jī)制包括下面3個(gè)步驟:①判斷出目標(biāo)物理主機(jī),即哪個(gè)是超負(fù)載工作主機(jī)或者未超負(fù)載的工作主機(jī);②選擇一個(gè)虛擬機(jī)進(jìn)行遷移,該遷移一般都是從超負(fù)載的物理主機(jī)上選擇;③重新分配虛擬機(jī)到那些未超負(fù)載的物理主機(jī)之上。
在這個(gè)過程中,可以采用不同的策略來完成超負(fù)載狀態(tài)的檢測,如果一個(gè)物理主機(jī)的CPU使用率已經(jīng)超過一個(gè)設(shè)定的閾值,那么該物理主機(jī)上的一個(gè)或者多個(gè)將必須遷移到另外一個(gè)物理主機(jī)上,這樣的目的是防止產(chǎn)生潛在的SLA違規(guī)。在虛擬機(jī)遷移結(jié)束階段,那些沒有虛擬機(jī)運(yùn)行的物理主機(jī)關(guān)閉,最終可以節(jié)約云數(shù)據(jù)中心的能量消耗。
在TA-VMM中,只要有一個(gè)物理主機(jī)被檢測到處于超負(fù)載工作狀態(tài),其上的虛擬機(jī)將進(jìn)行遷移,在這個(gè)步驟中,本文提出了虛擬機(jī)選擇算法,該算法的目的是在超負(fù)載的物理主機(jī)上遷移一個(gè)或者多個(gè)虛擬機(jī),目的是為了使該物理節(jié)點(diǎn)在虛擬機(jī)遷移之后獲得。 這里值的計(jì)算方法為其最優(yōu)溫度和當(dāng)前溫度的距離的絕對值。在這種情況下,如果物理服務(wù)器可以控制在根據(jù)文獻(xiàn)[24]提出的最優(yōu)溫度,那么主機(jī)的能量消耗和SLA違規(guī)的值都可以保持到相對最低值, 為了最小化,虛擬機(jī)選擇算法將選擇VMj完成遷移,定義為
MTD=|Topt-Ti|
(4)
(4)式中:Ti表示物理主機(jī)i的溫度;Topt表示物理主機(jī)的最優(yōu)溫度。文獻(xiàn)[24]中提到,在這個(gè)情況下,云平臺(tái)可以獲得能量消耗和SLA違規(guī)的相對平衡。
定義這個(gè)虛擬機(jī)選擇算法為MTD, TA-VMM中MTD算法的偽代碼如算法1。算法的輸入是超負(fù)載的物理主機(jī)列表,輸出是被選擇出的虛擬機(jī)列表。
Algorithm 1:VM Selection Policy // 虛擬機(jī)選擇策略
輸入 Input: OverUtilizedHosts, vmList //超負(fù)載物理主機(jī)列表,虛擬機(jī)列表
輸出 Output:VmsToMigrateList //侯選遷移虛擬機(jī)列表
1 for each host in OverUtilizedHosts do //針對所有的超負(fù)載物理主機(jī)中的每一個(gè)物理主機(jī)。
2 minTD=MAX //變量MAX賦值給最小溫度距離變量minTD
3 migratableVM=NULL //可遷移的虛擬機(jī)被賦值為空
4 for each vm in vmList do //針對所有的虛擬機(jī)列表中的每一個(gè)虛擬機(jī)。
5 if TD< minTD then //如果溫度距離TD小于變量minTD
6 migratableVM=vm //虛擬機(jī)被賦值為可遷移的虛擬機(jī)
7 minTD=TD 變量TD賦值給最小溫度距離變量minTD
8 end if //結(jié)束if循環(huán)
9 end for //結(jié)束For循環(huán)
10 VmsToMigrateList.add(migtatableVM) //將虛擬機(jī)加入到侯選遷移虛擬機(jī)列表
11 end for //結(jié)束For循環(huán)
12 return VmsToMigrateList //返回侯選遷移虛擬機(jī)列表
TA-VMM的最后一個(gè)步驟是重新分配被選擇好的虛擬機(jī)到新的合適的物理主機(jī),這種問題可以類比為一種經(jīng)典裝箱問題(bin packing problem) 。每個(gè)物理主機(jī)上的CPU作為可用資源可以類比為箱的尺寸,貨物代表了將要被分配的虛擬機(jī), 價(jià)格代表了物理主機(jī)的溫度距離比率(temperature distance ratio,TDR),即TDR是TA-VMM遷移策略中提出的一個(gè)參數(shù),下面詳細(xì)解釋TDR。
當(dāng)前的CPU都比較先進(jìn),處理器都有自動(dòng)測量芯片溫度的功能,如果芯片處于高溫的狀態(tài),即表明它有高的能量消耗,芯片長期處于功耗大的狀態(tài)將會(huì)出現(xiàn)硬件故障,所以在TA-VMM中,我們期望遷移過來的虛擬機(jī)能夠使CPU處于低能量消耗狀態(tài)和低溫的狀態(tài),TDR定義為
(5)
TDR函數(shù)既利用了前面的能量模型,也考慮了溫度模型, 所以TA-VMM最后一步為參考TDR的具體值來完成虛擬機(jī)的再分配。值得注意的是,在相同CPU使用效率的情況下,一個(gè)主機(jī)如果有比較高的每秒百萬條指令(million instructions per second,MIPS) 值, 那么它消耗的能量也相對要多。在相同情況下,2個(gè)物理主機(jī)可能容納不同數(shù)量的虛擬機(jī),因此,僅僅通過簡單考慮物理主機(jī)使用效率或者能量消耗是很難有一個(gè)正確的溫度控制。所以TDR函數(shù)的設(shè)計(jì)只是將遷移那些最接近最優(yōu)溫度的虛擬機(jī)。本文采用一個(gè)修改的最佳適應(yīng)遞減算法(best fit decreasing algorithm,BFD)并實(shí)現(xiàn)[17],在TA-VMM中稱為TDR-BFD。
在TDR-BFD中,被選擇好的虛擬機(jī)按照CPU使用效率遞減的方式排序,那些排序好的虛擬機(jī)將被分配到新的合適的物理節(jié)點(diǎn),這樣就使TDR值獲得最小的增加。
TDR-BFD虛擬機(jī)分配算法執(zhí)行完后,虛擬機(jī)將選擇到能量和性能最優(yōu)的物理主機(jī)。TDR-BFD算法的偽代碼如Algorithm 2。算法的輸入為被選擇出的虛擬機(jī)列表,輸出為重新分配好的虛擬機(jī)列表。
Algorithm 2: TDR Best Fit Decreasing //最好遞減虛擬機(jī)分配算法
輸入 Input:hostList, VmsToMigrateList //物理主機(jī),侯選遷移虛擬機(jī)列表
輸出 Output: allocation of Vms //虛擬機(jī)分配的結(jié)果
1 VmsToMigrateList.sortDecreasingUtilization() //將侯選遷移虛擬機(jī)列表中的虛擬機(jī)按照資源利用效率排序
2 for each vm in VmsToMigrateList do //針對侯選遷移虛擬機(jī)列表中的每一個(gè)虛擬機(jī)
3 minTDRDiff=MAX //變量MAX賦值給最小溫度差異變量minTDRDiff
4 allocatedHost=MULL //可分配的虛擬機(jī)被賦值為空
5 fo reach host in hostlist do //針對所有的物理主機(jī)列表中的每一個(gè)物理主機(jī)
6 if host has enough resources forvm then //如果該物理主機(jī)有足夠的資源容納虛擬機(jī)
7 TDRDiff=estimateTDRDiff(host,vm) //當(dāng)前溫度差異變量TDRDiff被賦值給estimateTDRDiff函數(shù)的結(jié)果
8 IfTDRDiff 9 allocateHost=host //物理主機(jī)被賦值為被選中的可分配的物理主機(jī) 10 minTDRDiff=TDRDiff //當(dāng)前的最小溫度距離差異值TDRDiff賦值給最小溫度差異變量minTDRDiff 11 end if //結(jié)束if循環(huán) 12 end if //結(jié)束if循環(huán) 13 end for // 結(jié)束For循環(huán) 14 if allocatedHost!=NULL then //如果被選中的分配的物理主機(jī)列表不為空 15 allcation.add(vm.allocatedHost) // //將物理主機(jī)加入到被分配的物理主機(jī)列表 16 end if //結(jié)束if循環(huán) 17 end for //結(jié)束For循環(huán) 18 return allocation //返回虛擬機(jī)分配的結(jié)果 Cloudsim[19]工具是Anton Beloglazov博士的研究團(tuán)隊(duì)開發(fā)的一個(gè)最常見的面向云數(shù)據(jù)中心的模擬器,上面已經(jīng)實(shí)現(xiàn)了一些虛擬機(jī)遷移策略,例如已有能量管理策略 (dynamic voltage and frequency scaling,DVFS)和無能量管理的隨機(jī)策略(no power aware policy,NPA),還有另外的單一閾值(single threshold,ST)遷移策略和最小遷移次數(shù) (minimization of migrations,MM)遷移策略。 DVFS是根據(jù)服務(wù)器處理器芯片所運(yùn)行的應(yīng)用程序?qū)τ?jì)算能力的不同需要,動(dòng)態(tài)調(diào)節(jié)芯片的運(yùn)行頻率和電壓。 接下來開始設(shè)置Cloudsim模擬的云數(shù)據(jù)中心環(huán)境,它包括一大批空閑的HP ProLiant ML110 G4物理服務(wù)器與G4數(shù)量相同的空閑的HP ProLiant ML110 G5物理服務(wù)器,服務(wù)器的硬件組成如表1。每個(gè)物理節(jié)點(diǎn)CPU核心的計(jì)算能力相當(dāng)于1 860 MIPS或者2 660 MIPS。4個(gè)模型的虛擬機(jī)類型如表2,具有MIPS和內(nèi)存的具體值,這樣可以模擬真實(shí)的計(jì)算場景。每個(gè)虛擬機(jī)都具有100 Mbit/s的網(wǎng)絡(luò)帶寬。溫度常量參考了lumped RC溫度模型中的具體值,如表3。最優(yōu)溫度的閾值設(shè)置為343 K, 這個(gè)溫度可以達(dá)到能量消耗和SLA違規(guī)之間的平衡。 表1 云數(shù)據(jù)中心中的物理節(jié)點(diǎn)配置Tab.1 Physical machine configuration of cloud data centers 4.2.1 SLA違規(guī) SLA違規(guī)值表明在客戶有服務(wù)請求的時(shí)候,CPU并沒有分配資源的情況,因此,為了云客戶端增加QoS,我們的首要目標(biāo)是減少SLA違規(guī)值。 表2 虛擬機(jī)類型配置Tab.2 Configuration of virtual machine type 表3 溫度常量的設(shè)置Tab.3 Setup of temperature constants 文獻(xiàn)[17]中采用了2個(gè)方法來評價(jià)SLA違規(guī):①單活動(dòng)主機(jī)SLA違規(guī)時(shí)間(SLA violation time per active host,SLATAH); ②虛擬機(jī)遷移后的性能降低(performance degradation due to migrations,PDM)情況。 所以最終SLA違規(guī)的具體值可以表示為 SLAV=SLATAH·PDM (6) (6)式中:SLATAH是活動(dòng)主機(jī)的CPU具有100%的使用效率所占的比例;PDM是整個(gè)系統(tǒng)因?yàn)樘摂M機(jī)遷移后的性能降低情況。 4.2.2 能量消耗和SLA違規(guī)聯(lián)合指標(biāo) 本文這里保證能量消耗和QoS之間的平衡來評價(jià)整個(gè)云數(shù)據(jù)中心的性能,計(jì)算公式為 ESV=E·SLAV (7) (7)式中:E是云數(shù)據(jù)中心的整體能量消耗;SLAV是(6)式中所表達(dá)的SLA違規(guī)情況,ESV的值正比于能量消耗E和SLAV,所以ESV越小,云數(shù)據(jù)中心系統(tǒng)性能越優(yōu)秀。 為了體現(xiàn)TA-VMM虛擬機(jī)遷移策略的性能改進(jìn),把TA-VMM和其他能量感知的虛擬機(jī)分配機(jī)制進(jìn)行了比較,包括Cloudsim中4類虛擬機(jī)遷移策略(MC, MMT, MU 和RS),同時(shí)采取不同的虛擬機(jī)超負(fù)載檢測算法(THR, IQR, MAD 和LRR)。為了方便描述實(shí)驗(yàn)結(jié)果,只保留了這些遷移策略的最大值和最小值的數(shù)據(jù),仿真了真實(shí)情況下應(yīng)用程序訪問云數(shù)據(jù)中心的情況,隨機(jī)選擇24 h來完成工作負(fù)載的跟蹤。 在仿真過程中,有800個(gè)物理主機(jī)和1 052個(gè)虛擬機(jī)。表4~表7是各類虛擬機(jī)遷移策略和本文的TA-VMM遷移策略的比較結(jié)果。 表4顯示了TA-VMM遷移策略與其他遷移方法的比較,能量消耗有大約30%的減少。 表4 TA-VMM與Cloudsim中已有的遷移策略能量消耗比較(持續(xù)24 h)Tab.4 Experiment results analysis of energy consumption in TA-VMM and Cloudsim (continue 24 h) KWh 表5 TA-VMM與Cloudsim中已有的遷移策略SLA違規(guī)比較(持續(xù)24 h)Tab.5 Experiment results analysis of SLA violation in TA-VMM and Cloudsim(continue 24 h) % 表6 TA-VMM與Cloudsim中已有的遷移策略虛擬機(jī)遷移次數(shù)比較(持續(xù)24 h)Tab.6 Experiment results analysis of migration numbers in TA-VMM and Cloudsim(continue 24 h) 表5中顯示了SLA違規(guī)的仿真結(jié)果,從表5中可以看出,所有的虛擬機(jī)遷移策略都可以獲得小于0.01%的SLAV值。 表6中顯示了不同虛擬機(jī)遷移策略的虛擬機(jī)遷移次數(shù)的比較,TA-VMM的遷移次數(shù)比其他的2個(gè)策略要少50%。 表7顯示了本文TA-VMM策略的ESV參數(shù)值也小于其他策略的38%~51.2%,當(dāng)對比活動(dòng)主機(jī)數(shù)目的時(shí)候,本文基于TDR的溫度感知機(jī)制比其他能量感知的虛擬機(jī)遷移機(jī)制也要低,具有比較高的MIPS的物理主機(jī)SLATAH比較小。分析原因是TA-VMM遷移策略在能量節(jié)省方面更容易使虛擬機(jī)到那些低能量消耗的物理主機(jī)之上。 表7 TA-VMM與Cloudsim中已有的遷移策略ESV性能比較(持續(xù)24 h)Tab.7 Experiment results analysis of ESV in TA-VMM and Cloudsim(continue 24 h) 然而TA-VMM策略的SLA違規(guī)值也有了一些輕微的提高,但是TA-VMM遷移策略能夠成功地定位被選擇的虛擬機(jī)到合適的物理節(jié)點(diǎn),可以達(dá)到能量消耗、最佳溫度及SLA違規(guī)之間的平衡。因?yàn)槊總€(gè)虛擬機(jī)的遷移都可以導(dǎo)致SLA違規(guī),因此,應(yīng)該在可能的情況下盡量減少虛擬機(jī)遷移的數(shù)量。 從表6還可以看出,TA-VMM遷移策略的遷移次數(shù)比其他策略的要少,通過虛擬機(jī)重新分配,它可以保持主機(jī)一直工作,同時(shí)接近最佳溫度。物理主機(jī)的CPU整體利用效率可以一直保持在一個(gè)與最佳溫度相對應(yīng)的閾值范圍之內(nèi)。整體來說,TA-VMM遷移策略也實(shí)現(xiàn)了更好的虛擬機(jī)合并,與其他遷移策略比較起來,TA-VMM遷移策略最終在降低虛擬機(jī)遷移次數(shù)、減少能量消耗、降低SLA違規(guī)等方面體現(xiàn)了良好的性能。 本文提出綠色云計(jì)算環(huán)境下的基于溫度感知的虛擬機(jī)遷移策略TA-VMM, 它主要考慮物理主機(jī)的溫度情況作為選擇和分配虛擬機(jī)的關(guān)鍵因素。采用Cloudsim云計(jì)算的模擬器建立了TA-VMM仿真環(huán)境,測試結(jié)果表明,與Cloudsim中已經(jīng)有的遷移策略比較起來,TA-VMM可以很好地節(jié)省云數(shù)據(jù)中心的能量消耗,減少SLA違規(guī)值(保證云計(jì)算的服務(wù)質(zhì)量QoS)和虛擬機(jī)遷移次數(shù)。TA-VMM模型給構(gòu)造綠色云數(shù)據(jù)中心的企業(yè)提供了一個(gè)新的思路,溫度感知和能量感知相結(jié)合的虛擬機(jī)遷移策略在一定程度上可以更好地降低能量消耗,下一步工作將考慮將云數(shù)據(jù)中心的遷移策略利用到群智網(wǎng)絡(luò)或者移動(dòng)云計(jì)算之中[28]。4 仿真與性能分析
4.1 仿真環(huán)境
4.2 性能指標(biāo)
4.3 仿真結(jié)果與性能分析
5 結(jié) 論