宋 娟,潘 歡
(寧夏大學(xué) 物理與電子電氣工程學(xué)院 寧夏沙漠信息智能感知重點(diǎn)實(shí)驗(yàn)室,銀川 750021)
近年來大規(guī)模節(jié)能的云數(shù)據(jù)中心的構(gòu)造與使用成了政府和各大IT企業(yè)越來越重視的問題[1-4].一個(gè)云數(shù)據(jù)中心(Data Center,DC)通常配置有大量的物理節(jié)點(diǎn)(Physical Hosts,PH),虛擬化是云數(shù)據(jù)中心中的關(guān)鍵技術(shù),虛擬化技術(shù)允許虛擬機(jī)(Virtual Machines,VM)在云數(shù)據(jù)中心內(nèi)的物理節(jié)點(diǎn)上動(dòng)態(tài)遷移從而很好的降低云客戶端下載時(shí)間和節(jié)省能量消耗;每個(gè)虛擬機(jī)或許運(yùn)行相同的應(yīng)用或者是不同的應(yīng)用,某兩個(gè)虛擬機(jī)在執(zhí)行過程中之間或許需要進(jìn)行通信,這樣的虛擬機(jī)之間存在數(shù)據(jù)依賴(Data Dependency).
數(shù)據(jù)依賴的判斷方法可以通過流經(jīng)過虛擬機(jī)的數(shù)據(jù)的數(shù)量來確定,在物理節(jié)點(diǎn)工作的過程中,因?yàn)樨?fù)載變化的原因,云服務(wù)提供商往往通過某種策略在物理節(jié)點(diǎn)之間對虛擬機(jī)進(jìn)行選擇、放置、合并等操作,整個(gè)這個(gè)過程稱為虛擬機(jī)遷移.最常見的云平臺(tái)模擬器Cloudsim項(xiàng)目中提到虛擬機(jī)遷移過程分為虛擬機(jī)選擇(VM Selection)過程和虛擬機(jī)放置(VM Placement)過程[5].虛擬機(jī)選擇過程又分為物理主機(jī)狀態(tài)判斷(超負(fù)載狀態(tài)Over-utilized與低負(fù)載狀態(tài)Under-utilized)和虛擬機(jī)選擇.只要存在超負(fù)載或者低負(fù)載狀態(tài)的物理主機(jī),其上運(yùn)行的虛擬機(jī)將作為被選擇對象,最后放置到新的正常物理節(jié)點(diǎn)之上.
目前國內(nèi)外有大量的算法與策略在研究這個(gè)過程,虛擬機(jī)遷移考慮的因素從硬件因素、網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)接口因素等多種.DDBS(data dependency based VM selection)是本文提出的考慮數(shù)據(jù)依賴的虛擬機(jī)選擇策略,即將物理主機(jī)上相互有數(shù)據(jù)通信的虛擬機(jī)不作為被選擇對象,遷移任務(wù)而不是遷移數(shù)據(jù),節(jié)省網(wǎng)絡(luò)帶寬,降低能量消耗,提高云平臺(tái)的服務(wù)質(zhì)量QoS.最后通過CloudSim模擬器的仿真實(shí)驗(yàn)對基于數(shù)據(jù)依賴的虛擬機(jī)遷移策略進(jìn)行了測試,實(shí)驗(yàn)結(jié)果表明帶數(shù)據(jù)依賴的虛擬機(jī)選擇方法與Cloudsim中已有的虛擬機(jī)放置算法聯(lián)合起來,可以降低云數(shù)據(jù)中心的能量消耗,減少虛擬機(jī)遷移次數(shù),減少SLA違規(guī)率,云數(shù)據(jù)中心的可用性比較好,對其他的企業(yè)構(gòu)造綠色節(jié)能的云數(shù)據(jù)中心有很好的參考價(jià)值.
目前學(xué)術(shù)界為了節(jié)省云數(shù)據(jù)中心的能量消耗,構(gòu)建綠色云計(jì)算環(huán)境,進(jìn)行了大量的研究.第一種是運(yùn)行冷凝系統(tǒng)保證物理服務(wù)器的空間不會(huì)過熱[6];第二種是通過虛擬機(jī)遷移策略和算法,即云服務(wù)提供商應(yīng)用虛擬機(jī)遷移與合并策略到公有云、私有云、混合云之中.
第二種方法主要分為三大類,第一類是單純的虛擬機(jī)遷移策略,沒有利用相關(guān)智能算法進(jìn)行優(yōu)化,例如文獻(xiàn)[7,8]等;第二類是采用貪心算法、蛙跳算法、遺傳算法等來進(jìn)行優(yōu)化的虛擬機(jī)遷移策略,例如文獻(xiàn)[9-12].第三類是Anton Beloglazov博士等人為團(tuán)隊(duì)開發(fā)的以Cloudsim模擬器平臺(tái)中的遷移策略為主線的虛擬機(jī)遷移策略的研究及其后續(xù)的相關(guān)研究[13-18].后續(xù)還有帶溫度感知的虛擬機(jī)遷移策略[19-21],第三類這些文獻(xiàn)中的內(nèi)容大多都參考了Cloudsim項(xiàng)目的研究思路與測試條件.
第三類的研究例如文獻(xiàn)[16]提出了云數(shù)據(jù)中心考慮資源使用閾值邊界的虛擬機(jī)分配策略,測試結(jié)果表明,它比Cloudsim中已有的Median Absolute Deviation(MAD)策略,StaticThreshold(ST)策略,Local Regression(LR)策略,Local Regression Robust(LRR)策略,Inter Quartile Range(IQR)等性能都要優(yōu)秀.文獻(xiàn)[17] 提出了云數(shù)據(jù)中心基于貪心算法的虛擬機(jī)遷移策略,利用CloudSim作為云數(shù)據(jù)中心仿真環(huán)境,測試結(jié)果表明:采用了貪心算法的遷移策略比CloudSim中已存在的虛擬機(jī)遷移策略性能要好.文獻(xiàn)[18]提出了云數(shù)據(jù)中心基于安全檢測的虛擬機(jī)遷移策略.以Cloudsim云計(jì)算模擬器中的虛擬機(jī)選擇及放置策略作為性能比較對象,結(jié)果表明帶安全檢測的虛擬機(jī)遷移策略只增加了云端的少量能量消耗,在一定程度上保證了云端的安全.文獻(xiàn)[19]提出了綠色云計(jì)算環(huán)境下的基于溫度感知的虛擬機(jī)遷移策略,它與Cloudsim中四類虛擬機(jī)選擇算法(Maximum Correlation(MC)、Minimum Utilization(MU)、Minimum Migration Time(MMT),和Random Selection(RS)進(jìn)行比較,測試指標(biāo)與Cloudsim的指標(biāo)一致.
上述這些研究虛擬機(jī)在遷移時(shí)考慮的物理資源使用情況的維度由早期的單一CPU利用率與溫度發(fā)熱到現(xiàn)在的多個(gè)維度的指標(biāo),甚至后面還有硬件因素,網(wǎng)絡(luò)帶寬因素,網(wǎng)絡(luò)設(shè)備接口能量消耗等.但是它們并沒有考慮到虛擬機(jī)遷移的內(nèi)部邏輯、數(shù)據(jù)依賴、軟件因素.本文的DDBS方法也屬于第三類Cloudsim項(xiàng)目的后續(xù)研究,由于虛擬機(jī)遷移過程非常復(fù)雜,本文暫時(shí)沒有考慮安全、容錯(cuò)等因素[22];本文的算法與性能評(píng)價(jià)指標(biāo)也參考Cloudsim項(xiàng)目的內(nèi)容,除考慮節(jié)能目標(biāo)外,還考慮了虛擬機(jī)的軟件因素.
最后還有一些相關(guān)文獻(xiàn)認(rèn)為虛擬機(jī)選擇的含義是通過映射(Mapping)的方式把計(jì)算任務(wù)(Tasks)分配給虛擬機(jī)[23,24],即虛擬機(jī)映射;它們往往把虛擬機(jī)選擇過程與虛擬機(jī)映射(VM Mapping)再細(xì)分,當(dāng)云客戶端一個(gè)新任務(wù)達(dá)到,它將被映射到一個(gè)虛擬機(jī)上;在這種的情況下,要么它映射到一個(gè)存在的虛擬機(jī),要么系統(tǒng)再重新產(chǎn)生一個(gè)虛擬機(jī);如果一個(gè)虛擬機(jī)空余的,它應(yīng)該被注銷或者保存下來作為后續(xù)的重新再使用;接著才進(jìn)入到本文所敘述的虛擬機(jī)選擇階段,虛擬機(jī)尺寸是這類算法的重要考慮因素.例如虛擬機(jī)映射算法關(guān)注在虛擬機(jī)最小代價(jià)計(jì)算方面,大部分文獻(xiàn)認(rèn)為虛擬機(jī)代價(jià)與虛擬機(jī)使用時(shí)間成比例[25,26],還有研究認(rèn)為該代價(jià)應(yīng)該由消費(fèi)的資源的使用情況或者是長期處于租賃狀態(tài)下的物理資源使用來計(jì)算.
已有的虛擬機(jī)映射算法認(rèn)為虛擬機(jī)應(yīng)該有固定的租賃報(bào)酬和固定的計(jì)算能力(capacity),盡管這樣在私有云中虛擬機(jī)的計(jì)算能力可以被反復(fù)選擇或者改變,而不是租賃報(bào)酬,而在后續(xù)的物理主機(jī)虛擬機(jī)放置上,真正的操作代價(jià)結(jié)合虛擬機(jī)計(jì)算能力一起必須是最小化的.
本文也把虛擬機(jī)的遷移過程分為物理主機(jī)負(fù)載檢測過程、虛擬機(jī)選擇過程與虛擬機(jī)放置過程,最終完成整個(gè)虛擬機(jī)遷移過程.虛擬機(jī)選擇的含義是通過判斷物理主機(jī)的運(yùn)行狀態(tài),然后從中選擇出合適的侯選遷移虛擬機(jī).虛擬機(jī)放置的含義是把虛擬機(jī)選擇算法中選擇出來的虛擬機(jī)按照一定的規(guī)則均勻放置到云數(shù)據(jù)中心其他的最合適的物理節(jié)點(diǎn).
從這個(gè)過程可以看出虛擬機(jī)選擇和虛擬機(jī)放置應(yīng)該屬于兩個(gè)獨(dú)立的過程,這兩個(gè)過程都可以通過算法進(jìn)行優(yōu)化.前者主要通過虛擬機(jī)尺寸、軟件代價(jià)等來進(jìn)行調(diào)整;后者屬于一類經(jīng)典裝相問題,即把大量的虛擬機(jī)VM放置到大量的物理節(jié)點(diǎn)之中.常見的有首次適應(yīng)算法First Fit、最好適應(yīng)算法Best Fit、最壞適應(yīng)算法Worst Fit等.在研究虛擬機(jī)選擇與虛擬機(jī)放置過程中,目前的文獻(xiàn)很少研究兩個(gè)之間的關(guān)系,事實(shí)上虛擬機(jī)選擇可以影響到虛擬機(jī)放置,至少在私有云中虛擬機(jī)選擇和虛擬機(jī)放置都可以由一個(gè)機(jī)構(gòu)去控制;在公有云中我們也必須分析虛擬機(jī)選擇和虛擬機(jī)放置之間的依賴關(guān)系,然后通過調(diào)整任務(wù)的粒度和虛擬機(jī)的尺寸來改善虛擬機(jī)放置的性能.
第2節(jié)的相關(guān)工作提到的已有的虛擬機(jī)遷移策略往往都沒有考慮虛擬機(jī)任務(wù)之間的數(shù)據(jù)依賴問題,這樣都會(huì)對虛擬機(jī)的選擇算法產(chǎn)生影響,本文重點(diǎn)考慮虛擬機(jī)選擇算法的改進(jìn),虛擬機(jī)放置算法繼續(xù)使用Cloudsim中的方法.由于本文屬于Cloudsim項(xiàng)目的后續(xù)研究,所以我們先指出在CloudSim項(xiàng)目中已經(jīng)有的虛擬機(jī)選擇算法包括下面幾種:
1)MaximumCorrelation(MC):最大關(guān)聯(lián)選擇方法,即選擇同一個(gè)物理主機(jī)上的,與CPU使用效率有最高關(guān)聯(lián)度的虛擬機(jī)作為對象;
2)MinimumMigrationTime(MMT): 最小遷移時(shí)間選擇方法,即遷移一個(gè)在最短時(shí)間內(nèi)能夠完成的虛擬機(jī)作為選擇對象;
3)MinimumUtilization(MU):最小使用效率選擇辦法,即對一個(gè)具有最小使用效率的虛擬機(jī)進(jìn)行遷移.
4)RandomSelection(RS):隨機(jī)選擇策略,即在物理主機(jī)上隨機(jī)選擇一個(gè)虛擬機(jī)進(jìn)行遷移.
與CloudSim項(xiàng)目中不同的是,DDBS(Data Dependency Based Selection)虛擬機(jī)選擇考慮了虛擬機(jī)之間的數(shù)據(jù)依賴情況.
虛擬機(jī)遷移具體的過程是先主機(jī)檢測、然后選擇,最后放置.
CloudSim項(xiàng)目中,也提到幾種虛擬機(jī)放置算法:
1)LocalRegression(LR):局部歸約放置方法;
2)LocalRegressionRobust(LRR):魯棒局部歸約放置方法;
3)MedianAbsoluteDeviation(MAD):絕對中位差放置方法;
4)StaticThreshold(THR):靜態(tài)的資源使用效率閾值放置法;
5)InterQuartileRange(IQR): 四分位數(shù)區(qū)間放置方法.
下面的四個(gè)提綱表示了本文的遷移策略的基本思路.
1)周期性的檢測云數(shù)據(jù)中心的物理主機(jī)的超負(fù)載或者低負(fù)載狀態(tài)(over-utilized or under-utilized);
2)判斷其是否進(jìn)行虛擬機(jī)遷移操作;
3)基于數(shù)據(jù)依賴完成虛擬機(jī)的選擇;
4)侯選將要遷移的虛擬機(jī)進(jìn)行虛擬機(jī)放置操作.
物理主機(jī)的超負(fù)載或者低負(fù)載可以通過觀察它的資源使用狀態(tài)來判斷,如果CPU的使用效率超過90%或者低于10%都可以認(rèn)為是超負(fù)載或者低負(fù)載.在這個(gè)時(shí)候,該物理節(jié)點(diǎn)的這個(gè)虛擬機(jī)將被選擇出來,同時(shí)放置到另外一個(gè)物理節(jié)點(diǎn)之上.
DDBS基于數(shù)據(jù)依賴完成虛擬機(jī)的選擇如圖1所顯示.當(dāng)一個(gè)物理主機(jī)處于超負(fù)載狀態(tài),其上運(yùn)行的虛擬機(jī)將進(jìn)入虛擬機(jī)遷移操作.虛擬機(jī)被選擇時(shí)按照其數(shù)據(jù)依賴情況完成.數(shù)據(jù)依賴主要通過運(yùn)行在虛擬機(jī)之上的任務(wù)之間的數(shù)據(jù)流來判斷.圖1中VM1,VM2,VM3三個(gè)虛擬機(jī)運(yùn)行在同一個(gè)物理主機(jī)之上,既然VM1和VM2被發(fā)現(xiàn)是互相數(shù)據(jù)依賴關(guān)系,這一點(diǎn)可以通過圖1中的通信路徑判斷.那么DDBS將選擇VM3來作為侯選遷移對象.這樣決定的原因是VM3的遷移代價(jià)(cost)肯定小于VM1或者VM2.如果是其他的虛擬機(jī)遷移策略,也許會(huì)把VM1或者VM2作為侯選遷移對象,這樣遷移VM1與VM2之間的交互會(huì)有很大的通信開銷,包括網(wǎng)絡(luò)帶寬占用與數(shù)據(jù)移動(dòng)等.本文的DDBS方法試圖避免這些消耗時(shí)間與能量的開銷.
圖1 基于數(shù)據(jù)依賴的虛擬機(jī)遷移策略Fig.1 Data dependency based VM migration
無論物理主機(jī)處于超負(fù)載狀態(tài)over-utilized還是低負(fù)載狀態(tài)under-utilized,其上運(yùn)行的虛擬機(jī)都要被選擇,然后放置新的合適物理節(jié)點(diǎn).例如圖2中的場景下,物理主機(jī)1上有4個(gè)虛擬機(jī),它由于超負(fù)載,所以要遷移一個(gè)虛擬機(jī)到物理主機(jī)2,遷移后這樣它們就是處于正常的工作狀態(tài).
例如圖3中的場景下,物理主機(jī)1上有1個(gè)虛擬機(jī),它由于低負(fù)載,所以要遷移一個(gè)虛擬機(jī)到物理主機(jī)2,這樣物理主機(jī)2仍然處理正常的工作狀態(tài),物理主機(jī)1空閑,自動(dòng)關(guān)閉電源,節(jié)省能量消耗.
圖2 超負(fù)載狀態(tài)(over-utilized)的虛擬機(jī)遷移Fig.2 VM Migration in over-utilized status
虛擬機(jī)遷移過程完成之后,云數(shù)據(jù)中心的SLA(Service Level Agreement)違規(guī)率、虛擬機(jī)遷移次數(shù)、總體能量消耗完成計(jì)算,這個(gè)計(jì)算可以是24小時(shí)或者48小時(shí)之內(nèi)的統(tǒng)計(jì).
圖3 低負(fù)載狀態(tài)(under-utilized)的虛擬機(jī)遷移Fig.3 VM Migration in under-utilized status
本文基于數(shù)據(jù)依賴的虛擬機(jī)遷移策略通過Cloudsim來創(chuàng)建.Cloudsim是一個(gè)開源的、可擴(kuò)展的、靈活的、可編程的云計(jì)算模擬器,和其他的SimGrid,Gangsim等模擬器比較起來Cloudsim支持按照需求進(jìn)行資源的配置,資源的管理,可以評(píng)測云數(shù)據(jù)中心中的能量消耗相關(guān)的算法,其他的模擬器往往不提供此功能.Cloudsim的支撐平臺(tái)是Java,所以采用Eclipse的編程環(huán)境很容易構(gòu)造云模擬器.DDBS基于數(shù)據(jù)依賴的虛擬機(jī)選擇策略工作過程主要需要計(jì)算下面4個(gè)內(nèi)容:
1)使用虛擬機(jī)內(nèi)部的任務(wù)之間的數(shù)據(jù)依賴關(guān)系,計(jì)算遷移代價(jià)(Cost),完成虛擬機(jī)選擇DDBS.
虛擬機(jī)上的任務(wù)之間的數(shù)據(jù)依賴可以通過任務(wù)上的數(shù)據(jù)流來確定,基于任務(wù)之間的數(shù)據(jù)依賴,可以計(jì)算出遷移該虛擬機(jī)的代價(jià)(Cost),然后DDBS算法將選擇與其他虛擬機(jī)比較起來代價(jià)最小的虛擬機(jī)作為遷移對象.
2)云數(shù)據(jù)中心的能量消耗的計(jì)算.
研究表明云數(shù)據(jù)中心端的物理服務(wù)器的能量消耗值主要和其CPU在某一時(shí)刻的使用率密切相關(guān),而且基本呈線性關(guān)系.因此在DDBS中物理服務(wù)器的能量消耗可以通過這些機(jī)器的CPU使用率來表示.見公式(1):
(1)
(2)
這里wi(tj)是服務(wù)器i在tj時(shí)刻的CPU使用率,S(wi(tj))是服務(wù)器i在tj時(shí)刻的能量消耗.
還有相關(guān)文獻(xiàn)表明,網(wǎng)絡(luò)裝置的能量消耗主要和網(wǎng)絡(luò)設(shè)備本身的消耗及其相關(guān)的配置消耗相關(guān).本文這里可以把網(wǎng)絡(luò)裝置認(rèn)定為物理服務(wù)器,所以物理服務(wù)器的能量消耗可以按照公式(3)來表示.
S(C)=G(C)+B*Y
(3)
這里S(C)表示網(wǎng)絡(luò)裝置的能量消耗,C是網(wǎng)絡(luò)裝置的配置參數(shù),G(C)是網(wǎng)絡(luò)裝置的線路與接口的總體的能量消耗,B表示網(wǎng)絡(luò)接口的能量消耗,Y表示網(wǎng)絡(luò)接口的數(shù)目.
綜上所述,一個(gè)云數(shù)據(jù)中心的能量消耗可以定義為:
(4)
根據(jù)公式(2),可以得到:
(5)
這里N是物理服務(wù)器的數(shù)量.
3)SLA違規(guī)及ESV的計(jì)算.
SLA違規(guī)值表明在客戶有服務(wù)請求的時(shí)候,CPU并沒有分配資源的情況,因此,為了云客戶端增加QoS,我們的首要目標(biāo)是減少SLA違規(guī)的值.
參考文獻(xiàn)[5]中的方法,采用了2個(gè)方法來評(píng)價(jià)SLA違規(guī).
a)SLA violation Time per Active Host(SLATAH),單活動(dòng)主機(jī)SLA違規(guī)時(shí)間;
b)Performance Degradation due to Migrations (PDM).虛擬機(jī)遷移后的性能降低情況;
所以最終SLA違規(guī)的具體值通過公式(6)來計(jì)算.
SLAV=SLATAH*PDM
(6)
SLATAH是活動(dòng)主機(jī)的CPU具有100%的使用效率所占的比例.PDM是整個(gè)系統(tǒng)因?yàn)樘摂M機(jī)遷移后的性能降低情況.
能量消耗和SLA違規(guī)率這兩個(gè)指標(biāo)往往是互相沖突的,QoS主要通過SLA違規(guī)(SLAViolation)來體現(xiàn).如果SLA違規(guī)比率過高,表明云數(shù)據(jù)中心提供服務(wù)出現(xiàn)異常,這樣企業(yè)將會(huì)失去商業(yè)利潤.如果使用過多的IT物理資源來保證QoS,這樣能量消耗就會(huì)增加,間接的提高了企業(yè)的成本,所以本文這里主要是保證能量消耗和QoS之間的平衡.參考了Cloudsim中的ESV(EnergyandSLAViolations)方法來評(píng)價(jià)整個(gè)云數(shù)據(jù)中心的性能,ESV的計(jì)算公式如下:
ESV=E*SLAV
(7)
E是云數(shù)據(jù)中心的整體能量消耗,SLAV是公式(6)中所表達(dá)的SLA違規(guī)情況.
4)云數(shù)據(jù)中心服務(wù)可用性的計(jì)算.
每經(jīng)過一個(gè)時(shí)間間隔,我們必須對云服務(wù)的可用性進(jìn)行計(jì)算,本文中每經(jīng)過10微秒(MicroSeconds),設(shè)置為一個(gè)時(shí)間間隔.在這個(gè)時(shí)間間隔后,完成云數(shù)據(jù)中心服務(wù)可用性的計(jì)算與統(tǒng)計(jì),服務(wù)可用性為分配資源與請求資源的比率.
(8)
仿真平臺(tái)為Cloudsim模擬器.設(shè)置了1000個(gè)物理節(jié)點(diǎn)和1000個(gè)虛擬機(jī),這樣就可以保證云數(shù)據(jù)中心的基本負(fù)載與基本規(guī)模,運(yùn)行時(shí)間為24小時(shí).實(shí)驗(yàn)中使用了兩種類型的物理服務(wù)器,HP ProLiant G4 和HP ProLiant G5.模擬器物理節(jié)點(diǎn)的配置與虛擬機(jī)的配置情況如表1和表2.表3顯示了CPU使用效率和能量消耗之間的關(guān)系.能量模型使用的是Cloudsim項(xiàng)目中使用的能量模型,物理服務(wù)器中CPU使用效率和能量消耗之間的關(guān)系是通過Cloudsim工具中的編碼來完成的.
表1 云數(shù)據(jù)中心中的物理節(jié)點(diǎn)配置
Table 1 Host configuration of cloud data centers
物理主機(jī)CPU核心數(shù)2物理主機(jī)MIPS2660物理主機(jī)內(nèi)存8GB物理主機(jī)磁盤空間1TB模擬運(yùn)行時(shí)間限制24 Hours
表2 虛擬機(jī)對資源的需求情況
Table 2 Resource requirements of virtual machines
虛擬機(jī)MIPS2500虛擬機(jī)核心數(shù)1虛擬機(jī)內(nèi)存大小1GB網(wǎng)絡(luò)帶寬100Mbit/S虛擬機(jī)總體存儲(chǔ)空間2.5GB
表3 基于資源使用效率的物理服務(wù)器能量消耗模型
Table 3 Engery consumption model of physical
resource uitilizaion
CPU使用效率HP ProLiant G4(W)HP ProLiant G5(W)0% 86 93.7 10% 89.4 97 20% 92.6 101 30% 96 105 40% 99.5 110 50% 102 116 60% 106 121 70% 108 125 80% 112 129 90% 114 133 100% 117 135
采用基于數(shù)據(jù)依賴的虛擬機(jī)遷移策略完成虛擬機(jī)選擇算法DDBS,配合Cloudsim中的虛擬機(jī)放置算法(MAD,LRR,IRQ,LR)等,運(yùn)行時(shí)間為24小時(shí)完成云數(shù)據(jù)中心能量消耗的計(jì)算、SLA違規(guī)率計(jì)算、云服務(wù)可用性的計(jì)算等.比較的對象Cloudsim中為無數(shù)據(jù)依賴的虛擬機(jī)選擇(RS,MMT,MC,MU)及虛擬機(jī)放置方法(MAD,LRR,IRQ,LR)的組合,把1000個(gè)虛擬機(jī)與1000個(gè)物理主機(jī)進(jìn)行調(diào)整,分3種情況進(jìn)行了統(tǒng)計(jì):
1)虛擬機(jī)個(gè)數(shù)小于物理主機(jī)個(gè)數(shù);
2)虛擬機(jī)個(gè)數(shù)等于物理主機(jī)個(gè)數(shù);
3)虛擬機(jī)個(gè)數(shù)大于物理主機(jī)個(gè)數(shù).
圖4-圖7顯示了數(shù)據(jù)依賴的虛擬機(jī)選擇算法DDBS與(RS,MMT,MC)虛擬機(jī)選擇算法中的虛擬機(jī)遷移次數(shù)、能量消耗情況、整體SLA違規(guī)率及平均SLA違規(guī)率的比較結(jié)果.從圖4中可以看出,與其他虛擬機(jī)選擇方法比較起來,DDBS選擇方法在虛擬機(jī)遷移次數(shù)上明顯要少.因?yàn)檫w移次數(shù)的減少,最終影響到云數(shù)據(jù)中心的SLA違規(guī)率;DDBS選擇方法也使得整個(gè)云數(shù)據(jù)中心的能量消耗減少.圖5中可以看出四種選擇方法的比較情況,DDBS選擇方法使云數(shù)據(jù)中心的能量消耗也最少.
圖4 虛擬機(jī)遷移次數(shù)性能比較Fig.4 Experimental results of VM migration numbers
圖5 云數(shù)據(jù)中心總體能量消耗性能比較Fig.5 Experimental results in energy consumption of data centers
從圖6和圖7的實(shí)驗(yàn)結(jié)果可以看出,當(dāng)云數(shù)據(jù)中心的虛擬機(jī)個(gè)數(shù)大于物理主機(jī)個(gè)數(shù)的時(shí)候,在SLA違規(guī)率及平均SLA違規(guī)率上DDBS選擇方法處于性能中等水平,虛擬機(jī)個(gè)數(shù)小于物理主機(jī)個(gè)數(shù)時(shí),DDBS選擇方法的SLA違規(guī)率及平均SLA違規(guī)率最小.
圖6 整體SLA違規(guī)比率的性能比較Fig.6 Experimental results of SLA violation
從上面的結(jié)果可以得出結(jié)論,對比(RS,MMT,MC)等方法,DDBS算法的虛擬機(jī)遷移次數(shù)和總體能量消耗等指標(biāo)上明顯減少,比較適合在物理主機(jī)個(gè)數(shù)很多的工作場景下,有一定的可擴(kuò)展性及大規(guī)模性,但是從圖6和圖7看出DDBS的整體SLA違規(guī)率和平均SLA違規(guī)率與(RS,MMT,MC)比較起來不是最好的,但是在0.5%到2%范圍內(nèi)還是可以接受的.
圖7 平均SLA違規(guī)比率的性能比較Fig.7 Experimental results of average SLA violation
為了完成可用性測試,我們每經(jīng)過10微秒(Microseconds)完成在一個(gè)時(shí)間點(diǎn)上的請求資源與分配資源的比率的計(jì)算.將Cloudsim中的各類虛擬機(jī)選擇及虛擬機(jī)放置方法組合起來,與DDBS數(shù)據(jù)依賴的虛擬機(jī)選擇策略比較.圖8為實(shí)驗(yàn)結(jié)果.
表4 DDBS的可用性的測試環(huán)境構(gòu)造
Table 4 Testing environment construction of
availability for DDBS
虛擬機(jī)類型數(shù) 4物理服務(wù)器類型數(shù)2服務(wù)器上允許最大虛擬機(jī)數(shù)100虛擬機(jī)遷移的頻率300.0 seconds模擬運(yùn)行時(shí)間限制24 Hours最大的物理主機(jī)個(gè)數(shù)限制1000可用性計(jì)算頻率10 microseconds
虛擬機(jī)選擇算法RS與虛擬機(jī)分配算法IQR組合的可用性如圖8RS-IQR,虛擬機(jī)選擇算法MC與虛擬機(jī)分配算法IQR組合的可用性如圖8MC-IQR,虛擬機(jī)選擇算法MMT與虛擬機(jī)分配算法IQR組合的可用性如圖8MMT-IQR,虛擬機(jī)選擇算法DDBS與虛擬機(jī)分配算法IQR組合的可用性如圖8DDBS-IQR,從圖8可以看出,DDBS-IQR組合的可用性明顯優(yōu)于其他的RS-IQR,MC-IQR和MMT-IQR.
圖8 DDBS-IQR策略的可用性測試結(jié)果Fig.8 Experimental results of DDBS-IQR strategy
本文提出了一種云數(shù)據(jù)中心基于數(shù)據(jù)依賴的虛擬機(jī)遷移策略,該策略在虛擬機(jī)選擇過程中采用一種DDBS方法,遷移時(shí)主要考慮軟件因素與虛擬機(jī)之間的數(shù)據(jù)依賴關(guān)系.參考Cloudsim項(xiàng)目中的虛擬機(jī)遷移過程與虛擬機(jī)遷移性能指標(biāo)完成了DDBS方法的仿真測試.仿真結(jié)果表明:DDBS方法組合Cloudsim中的其他虛擬機(jī)放置策略,在虛擬機(jī)遷移次數(shù)與能量消耗上有明顯的優(yōu)勢,可以作為IT企業(yè)構(gòu)造云數(shù)據(jù)中心的參考模型.