王 輝 張洪瑜 呂書林
(河南廣播電視大學(xué)信息技術(shù)中心 河南 鄭州 450008)
近年來(lái)大規(guī)模節(jié)能的云數(shù)據(jù)中心的構(gòu)造與使用成為政府和各大IT企業(yè)越來(lái)越重視的問(wèn)題[1-3]。一個(gè)云數(shù)據(jù)中心通常配置有大量的物理主機(jī)(Physical Machines ,PMs),虛擬化是云數(shù)據(jù)中心中的關(guān)鍵技術(shù)。為了節(jié)省能量消耗的成本,云服務(wù)提供商還采用虛擬機(jī)遷移 (VM Migration) 策略來(lái)使虛擬機(jī)在各個(gè)物理服務(wù)器上選擇與放置,最終目標(biāo)是節(jié)省云數(shù)據(jù)中心能量消耗、高服務(wù)質(zhì)量(Quality of Service,QoS)、節(jié)省物理空間和高可靠性等。
盡管在虛擬機(jī)遷移的過(guò)程中可以提高資源使用率,但那些具有高關(guān)聯(lián)度的虛擬機(jī)之間更容易觸發(fā)超負(fù)載事件。因此,如何防止那些高關(guān)聯(lián)性的虛擬機(jī)在重新分配的過(guò)程中被分配到同一個(gè)物理節(jié)點(diǎn)上是一個(gè)關(guān)鍵問(wèn)題。目前已有很多文獻(xiàn)都分析了虛擬機(jī)在重新分配中的關(guān)聯(lián)性相互影響的問(wèn)題。例如:文獻(xiàn)[4]提出了一個(gè)基于干擾模式的最優(yōu)虛擬機(jī)合并模型;文獻(xiàn)[5]提出了基于QoS的控制框架來(lái)管理虛擬機(jī)在重新分配到物理服務(wù)器過(guò)程中的相關(guān)關(guān)系及性能影響,并沒(méi)有涉及到虛擬機(jī)遷移;文獻(xiàn)[6]提出了關(guān)聯(lián)性感知的動(dòng)態(tài)能量管理方法,它認(rèn)為虛擬機(jī)之間的關(guān)聯(lián)度應(yīng)該是獨(dú)立的,而不是采用多個(gè)關(guān)聯(lián)度因素;文獻(xiàn)[7]提出了穩(wěn)定匹配的虛擬機(jī)遷移策略,它將虛擬機(jī)選擇和虛擬機(jī)放置過(guò)程結(jié)合起來(lái),可以充分提高物理資源的利用效率,具有一定的優(yōu)勢(shì)。
目前以Anton Beloglazov博士等[9-11]為團(tuán)隊(duì)開(kāi)發(fā)的Cloudsim項(xiàng)目在云數(shù)據(jù)中心的節(jié)能研究方面處于世界領(lǐng)先地位,而且有大量關(guān)于Cloudsim項(xiàng)目的后續(xù)研究工作,例如基于溫度感知[12]、安全檢測(cè)[13]、遺傳算法[14]、貪心算法[15-16]、任務(wù)映射[17]、數(shù)據(jù)依賴[18]、穩(wěn)定匹配[7]等的虛擬機(jī)遷移策略。上述文獻(xiàn)往往把虛擬機(jī)遷移過(guò)程劃分為物理主機(jī)狀態(tài)檢測(cè)(超負(fù)載over-utilized 或 低負(fù)載under-utilized)、虛擬機(jī)選擇(VM Selection)和虛擬機(jī)放置(VM placement)三個(gè)步驟。物理主機(jī)狀態(tài)檢測(cè)可以通過(guò)監(jiān)控物理資源使用狀態(tài)來(lái)判斷,如果CPU的使用率超過(guò)90%或者低于10%都可以認(rèn)為是超負(fù)載或者低負(fù)載狀態(tài), 在這個(gè)時(shí)候,該物理主機(jī)上運(yùn)行的虛擬機(jī)將被選擇出來(lái),在接下來(lái)的步驟中將被放置到另外一個(gè)正常狀態(tài)的物理節(jié)點(diǎn)之上。虛擬機(jī)選擇的含義是通過(guò)判斷物理主機(jī)的運(yùn)行狀態(tài),然后從中選擇出合適的候選遷移虛擬機(jī)列表。虛擬機(jī)放置的含義是將虛擬機(jī)選擇算法中選擇出來(lái)的候選虛擬機(jī)列表按照一定的算法盡量均勻地放置到云數(shù)據(jù)中心其他正常的物理節(jié)點(diǎn)上。從這里可以看出Anton Beloglazov博士團(tuán)隊(duì)指出的遷移過(guò)程與本文探討的虛擬機(jī)放置比較類似,分析虛擬機(jī)選擇和虛擬機(jī)放置之間的虛擬機(jī)關(guān)聯(lián)性,最終完成新的放置。
本文重點(diǎn)關(guān)注虛擬機(jī)放置階段,提出了考慮虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置策略。該策略可以減少高關(guān)聯(lián)性的虛擬機(jī)在放置過(guò)程中被分配到同一個(gè)物理節(jié)點(diǎn)上的機(jī)會(huì),盡量避免物理主機(jī)超負(fù)載問(wèn)題。
本文仍然采用Cloudsim項(xiàng)目的性能測(cè)試指標(biāo)與仿真環(huán)境,利用真實(shí)的工作負(fù)載數(shù)據(jù),仿真結(jié)果表明本文的放置策略相比Cloudsim中普通的虛擬機(jī)放置策略,可以更好地節(jié)省云數(shù)據(jù)中心的能量消耗,降低虛擬機(jī)遷移次數(shù),減少了SLA違規(guī)率,保證了服務(wù)質(zhì)量。
本文涉及的虛擬機(jī)遷移過(guò)程,具體包括下面三個(gè)步驟:
步驟1基于Cloudsim已有的策略周期性地檢測(cè)云數(shù)據(jù)中心的物理主機(jī)的超負(fù)載或者低負(fù)載狀態(tài);
步驟2基于Cloudsim已有的策略完成虛擬機(jī)的選擇,形成候選遷移虛擬機(jī)列表VmsToMigrationList;
步驟3基于本文提出的考慮虛擬機(jī)關(guān)聯(lián)性辦法完成虛擬機(jī)放置操作(虛擬機(jī)重新分配)。
由于本文屬于Cloudsim項(xiàng)目的后續(xù)研究,所以先指出在Cloudsim項(xiàng)目中已經(jīng)有的物理主機(jī)狀態(tài)檢測(cè)方法, 常見(jiàn)的包括下面五種,即根據(jù)物理資源使用率的使用閾值情況來(lái)決定[8]:
1) Local Regression (LR):局部回歸檢測(cè)方法;
2) Local Regression Robust (LRR):魯棒局部回歸檢測(cè)方法;
3) Median Absolute Deviation (MAD):絕對(duì)中位差檢測(cè)方法;
4) Static Threshold (THR):靜態(tài)的資源使用效率閾值檢測(cè)法;
5)Inter Quartile Range(IQR): 四分位數(shù)區(qū)間檢測(cè)方法。
在步驟2中指出了在CloudSim項(xiàng)目中已經(jīng)有的虛擬機(jī)選擇算法包括下面幾種[8]:
1) Maximum Correlation (MC):最大關(guān)聯(lián)選擇方法,即選擇同一個(gè)物理主機(jī)上的,與CPU使用效率有最高關(guān)聯(lián)度的虛擬機(jī)作為對(duì)象;
2) Minimum Migration Time (MMT): 最小遷移時(shí)間選擇方法,即遷移一個(gè)在最短時(shí)間內(nèi)能夠完成的虛擬機(jī)作為選擇對(duì)象;
3) Minimum Utilization (MU):最小資源使用效率選擇辦法,即對(duì)一個(gè)具有最小使用效率的虛擬機(jī)進(jìn)行遷移。
4) Random Selection (RS):隨機(jī)選擇策略,即在物理主機(jī)上隨機(jī)選擇一個(gè)虛擬機(jī)進(jìn)行遷移。
采用多重相關(guān)系數(shù)來(lái)評(píng)價(jià)虛擬機(jī)之間的關(guān)聯(lián)性[19]。假設(shè)一個(gè)物理主機(jī)上面有n個(gè)運(yùn)行的虛擬機(jī)Vi,這些虛擬機(jī)組成了一個(gè)向量V={V1,V2,…,Vn}。
第i個(gè)虛擬機(jī)針對(duì)于其他的n-1個(gè)虛擬機(jī)的關(guān)聯(lián)性強(qiáng)度通過(guò)最近的q個(gè)虛擬機(jī)的CPU的使用率的觀察值來(lái)測(cè)量。假設(shè)yi為表示第i個(gè)虛擬機(jī)的最近的q個(gè)CPU的使用率的觀察值的向量,類似地,令X定義為包含物理主機(jī)上剩下的n-1個(gè)虛擬機(jī)的最近的CPU的使用率的q個(gè)觀察值構(gòu)成的增加矩陣。yi和X的表示如下:
(1)
(2)
(3)
1) 物理主機(jī)使用效率(host utilization)。物理主機(jī)的使用效率體現(xiàn)了云數(shù)據(jù)中心資源使用狀態(tài),在該情況下,所有的物理主機(jī)的平均使用效率計(jì)算為:
(4)
式中:ui是當(dāng)前的物理主機(jī)i的CPU使用效率;m是物理主機(jī)的數(shù)目。
夏、商兩朝都宣揚(yáng)君主“受命于天”“代天行罰”,濫用刑罰鎮(zhèn)壓臣民的反抗,最后都走上眾叛親離、土崩瓦解的道路。西周初年,以周公為代表的統(tǒng)治者總結(jié)前代教訓(xùn),深刻認(rèn)識(shí)到“皇天無(wú)親”“唯德是輔”,天命與民心息息相關(guān),只有愛(ài)護(hù)百姓、施行德政,才能獲得上天的垂青。他告誡分封在列國(guó)的王室子弟,一定要“明德慎罰”:審判囚犯要多加考慮,反復(fù)思量數(shù)日乃至十?dāng)?shù)日再做出判決;對(duì)怙惡不悛的累犯必須嚴(yán)懲,對(duì)悔過(guò)自新的初犯可以赦免;殺罰大權(quán)要集中,不可隨意委托他人。[1]“明德慎罰”的統(tǒng)治方式在當(dāng)時(shí)取得了良好的效果,史稱“故成康之際,天下安寧,刑錯(cuò)四十余年不用”。[2]
2) 能源消耗模型(Energy Consumption)。為了計(jì)算云數(shù)據(jù)中心的能源消耗,假設(shè)物理主機(jī)是空閑的,它的能源消耗的百分比是k,Pfull表示物理主機(jī)在完全滿負(fù)載工作時(shí)的能源消耗,ui是當(dāng)前的物理主機(jī)i的CPU使用率,這樣物理主機(jī)的能源消耗公式為:
Ei=k×pfull+(1-k)pfull×ui
(5)
整個(gè)云數(shù)據(jù)中心的能量消耗為:
(6)
3) SLA違規(guī)比率(SLA violation)。在云數(shù)據(jù)中心中,服務(wù)質(zhì)量QoS必須保證,QoS的衡量標(biāo)準(zhǔn)主要通過(guò)SLA來(lái)體現(xiàn),本文參考了文獻(xiàn)[9]方法,采用了兩個(gè)方法來(lái)評(píng)價(jià)SLA違規(guī):
(1) SLA violation Time per Active Host (SLATAH),單活動(dòng)主機(jī)SLA違規(guī)時(shí)間;
(2) Performance Degradation due to Migrations(PDM),虛擬機(jī)遷移后的性能降低情況。
所以最終SLA違規(guī)的具體值計(jì)算為:
SLAV=SLATAH×PDM
(7)
式中:SLATAH是活動(dòng)主機(jī)的CPU具有100%的使用率所占的比例;PDM是整個(gè)系統(tǒng)因?yàn)樘摂M機(jī)遷移后的性能降低情況。
4) SLA違規(guī)與能量消耗聯(lián)合指標(biāo)ESV。能量消耗和SLA違規(guī)這兩個(gè)指標(biāo)往往是互相沖突的,如果SLA違規(guī)比率過(guò)高,表明云數(shù)據(jù)中心提供服務(wù)出現(xiàn)異常,這樣企業(yè)將會(huì)失去商業(yè)利潤(rùn)。如果使用過(guò)多的IT物理資源來(lái)保證QoS,能量消耗就會(huì)增加,間接地提高了企業(yè)的成本,所以本文主要保證能量消耗和QoS之間的平衡。參考Cloudsim中的ESV(Energy and SLA Violations)方法來(lái)評(píng)價(jià)整個(gè)云數(shù)據(jù)中心的性能,ESV的計(jì)算公式如下:
ESV=Etotal×SLAV
(8)
本節(jié)重點(diǎn)描述考慮虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置算法。前面提到虛擬機(jī)遷移過(guò)程包括物理主機(jī)狀態(tài)檢測(cè)、虛擬機(jī)選擇及虛擬機(jī)放置。 本文的遷移模式在主機(jī)狀態(tài)第一個(gè)階段采用了魯棒局部歸約檢測(cè)方法來(lái)發(fā)現(xiàn)處于超負(fù)載或者低負(fù)載狀態(tài)下的物理主機(jī),因?yàn)橄嚓P(guān)的研究實(shí)驗(yàn)結(jié)果表明LRR檢測(cè)方法性能優(yōu)于其他LR、MAD、THR、IQR等的檢測(cè)方法[9]。LRR方法是一種自適應(yīng)的主機(jī)使用率閾值檢測(cè)辦法,它通過(guò)檢測(cè)一個(gè)物理主機(jī)的最近J個(gè)處理器的使用率值作為評(píng)價(jià)方法,來(lái)判斷該物理主機(jī)是否處于超負(fù)載或者低負(fù)載狀態(tài)。本文設(shè)J為10。
第二階段,采用最小遷移時(shí)間選擇方法來(lái)完成虛擬機(jī)選擇[9]。在MMT策略下,選取一個(gè)在最短時(shí)間內(nèi)能夠完成遷移的虛擬機(jī)作為候選遷移對(duì)象,形成候選遷移虛擬機(jī)列表VmsToMigrationList。文獻(xiàn)[9]指出MMT選擇策略要比Cloudsim項(xiàng)目中提到的其他的MC、MU、RS等策略要優(yōu)秀。
虛擬機(jī)放置階段,本文提出考慮虛擬機(jī)關(guān)聯(lián)性的分配方法。這里提出三類不同的值得參考的關(guān)聯(lián)性的標(biāo)準(zhǔn),這些辦法都可以使在第二階段形成的候選的虛擬機(jī)列表VmsToMigrationList重新分配到最合適的物理主機(jī)上,同時(shí)盡量避免物理主機(jī)超負(fù)載問(wèn)題。而與Cloudsim項(xiàng)目中的策略比較起來(lái),它們采用的是BPP方法,即最好適應(yīng)算法(Best-Fit-Algorithm,BFA)、首次適應(yīng)算法(First-Fit-Algorithm,F(xiàn)FA)、下次適應(yīng)算法(Next-Fit-Algorithm,NFA)、最壞適應(yīng)算法(Worst-Fit-Algorithm,WFA)和隨機(jī)算法(Random Allocation-Algorithm,RAA)等,來(lái)將大量的虛擬機(jī)放置到各個(gè)數(shù)據(jù)中心的物理節(jié)點(diǎn)完成云計(jì)算。為了改進(jìn)性能,Cloudsim還采用了最好適應(yīng)遞減裝箱辦法(Best-Fit-Decreasing,BFD),而B(niǎo)FD方法的計(jì)算復(fù)雜度比較低。下面提出三類虛擬機(jī)放置辦法:
1) 考慮遷移虛擬機(jī)的關(guān)聯(lián)性Approach1。在這種方法中,一個(gè)候選的虛擬機(jī)將被重新分配到新的物理主機(jī)上,該新的物理主機(jī)上已經(jīng)存在的虛擬機(jī)之間的關(guān)聯(lián)性是最小的。該關(guān)聯(lián)性的計(jì)算通過(guò)式(9)來(lái)完成。
(9)
2) 考慮目的主機(jī)的平均關(guān)聯(lián)性級(jí)別Approach2。該方法中,一個(gè)候選的虛擬機(jī)將被重新分配到新的物理主機(jī)上,該新的物理主機(jī)上的虛擬機(jī)將具有最小的平均關(guān)聯(lián)性級(jí)別。一個(gè)物理主機(jī)的平均關(guān)聯(lián)性級(jí)別計(jì)算如下:
(10)
式中:n表示第二階段產(chǎn)生的候選的虛擬機(jī)上的數(shù)目加上該物理主機(jī)上原來(lái)已經(jīng)有的虛擬機(jī)數(shù)。與考慮遷移虛擬機(jī)的關(guān)聯(lián)性Approach1辦法比較起來(lái),目的主機(jī)的平均關(guān)聯(lián)性級(jí)別辦法考慮到了重新分配成功的虛擬機(jī)的遷移的影響,而且允許物理主機(jī)上有相對(duì)大數(shù)量的虛擬機(jī)存在。它既考慮了物理主機(jī)上已經(jīng)存在的虛擬機(jī)的關(guān)聯(lián)性比較小,也考慮到了將要被遷移上來(lái)的虛擬機(jī)的關(guān)聯(lián)性也比較小。
3) 考慮目的主機(jī)的關(guān)聯(lián)性級(jí)別變化Approach3。一般來(lái)講一個(gè)物理主機(jī)上的虛擬機(jī)之間的關(guān)聯(lián)度越高,那么該物理主機(jī)出現(xiàn)超負(fù)載的可能性就越大[20],基于這種考慮,Approach3試圖合并虛擬機(jī),以便每個(gè)活動(dòng)物理主機(jī)在所有的候選虛擬機(jī)列表中能夠獲得一個(gè)比較低的關(guān)聯(lián)性值,這樣也減少了超負(fù)載的風(fēng)險(xiǎn)。直觀來(lái)講,那些具有強(qiáng)關(guān)聯(lián)性的虛擬機(jī)應(yīng)該被放置到不同的物理主機(jī)之上才比較合適,一個(gè)將要被遷移的虛擬機(jī)最好不能被分配到帶有與自己關(guān)聯(lián)度很大虛擬機(jī)的物理主機(jī)上,這樣也可以避免目標(biāo)主機(jī)的性能降低。
因此必須針對(duì)每個(gè)目的主機(jī)的總體的關(guān)聯(lián)性變化情況,以便判斷目的主機(jī)虛擬機(jī)遷移之后的性能改變情況,該變化的計(jì)算方法如下:
(11)
式中:V′表示目的物理主機(jī)在沒(méi)有接受虛擬機(jī)遷移之前其上面存在的虛擬機(jī)的向量,在Approach3中,采用具有最小的Approach3的值的物理主機(jī)作為再分配物理主機(jī)。
Approach1、Approach2、Approach3三個(gè)辦法都可以與BFD相結(jié)合,最終完成第三階段的虛擬機(jī)放置,圖1描述了Approach3考慮虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置方法的具體過(guò)程與工作機(jī)制,Approach1、Approach2都可以按照這個(gè)思路進(jìn)行虛擬機(jī)放置。其中:allocatedHost表示一個(gè)數(shù)組變量,用來(lái)存放候選遷移的每一個(gè)虛擬機(jī);estimated Approach()表示根據(jù)式(11)來(lái)計(jì)算Approach。
圖1 考慮虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置策略
首先,從物理主機(jī)狀態(tài)檢測(cè)過(guò)程中初始化可用的物理主機(jī)列表,從虛擬機(jī)選擇過(guò)程中獲得候選遷移虛擬機(jī)列表VmsToMigrationList。然后將候選遷移虛擬機(jī)列表中的虛擬機(jī)按照其CPU使用率的具體情況完成降序排序。對(duì)隊(duì)列中的每個(gè)虛擬機(jī),那些具有最小Approach3值的物理主機(jī)將被作為目標(biāo)主機(jī)完成虛擬機(jī)的放置;在每次的虛擬機(jī)放置過(guò)程中,那些完成分配的虛擬機(jī)將從VmsToMigrationList列表中刪除。
如果云數(shù)據(jù)中心沒(méi)有物理主機(jī)可用,將啟動(dòng)開(kāi)機(jī)程序開(kāi)啟新的物理主機(jī)來(lái)完成大量虛擬機(jī)的放置;反之,處理低負(fù)載狀態(tài)的物理主機(jī)將被關(guān)閉,節(jié)省電力能量。該算法將反復(fù)執(zhí)行,直到VmsToMigrationList列表中的所有虛擬機(jī)全部完成虛擬機(jī)放置。
可以看出,該虛擬機(jī)放置策略可以放置那些具有低關(guān)聯(lián)性的虛擬機(jī)到同一個(gè)物理主機(jī),從而降低高關(guān)聯(lián)性的虛擬機(jī)在分配時(shí)帶來(lái)的負(fù)面影響。按照這個(gè)辦法,可以盡量避免物理主機(jī)的超負(fù)載情況的發(fā)生,從而間接地降低了虛擬機(jī)遷移的次數(shù),最終提高云數(shù)據(jù)中心的資源利用效率。
為了對(duì)本文提出的考慮虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置策略進(jìn)行實(shí)驗(yàn)分析,采用了Cloudsim模擬器。Cloudsim 3.0版本中還提供了很多已經(jīng)有的虛擬機(jī)選擇及虛擬機(jī)放置策略的能量管理模型的實(shí)驗(yàn)數(shù)據(jù),方便科研工作者對(duì)云數(shù)據(jù)中心的能量相關(guān)的虛擬機(jī)遷移算法的比較與研究[8]。
根據(jù)虛擬機(jī)遷移過(guò)程的三個(gè)階段的步驟,Cloudsim中比較好的辦法是LRR策略完成物理主機(jī)狀態(tài)檢測(cè)。結(jié)合MMT策略完成虛擬機(jī)選擇,再結(jié)合BFD辦法完成虛擬機(jī)重新分配,我們稱之為L(zhǎng)RR-MMT-BFD策略,將該策略與Approach1、Approach2、Approach3三個(gè)辦法進(jìn)行性能比較。被模擬的云數(shù)據(jù)中心主要由兩類物理服務(wù)器組成,物理服務(wù)器總數(shù)為800個(gè),物理服務(wù)器配置如表1所示。
表1 云數(shù)據(jù)中心物理服務(wù)器配置
模擬云客戶端的應(yīng)用程序訪問(wèn),使用具有正確CPU與內(nèi)存請(qǐng)求的任務(wù)數(shù)據(jù), 構(gòu)成1 052個(gè)虛擬機(jī)的請(qǐng)求,運(yùn)行的可以是一個(gè)Web應(yīng)用程序或者其他具有不同類型工作負(fù)載的應(yīng)用程序,一共產(chǎn)生大約四類虛擬機(jī),如表2所示。
表2 云數(shù)據(jù)中心四類虛擬機(jī)需求情況
采用1.3節(jié)所描述的能量消耗模型,這也是Cloudsim中常用的能量消耗模型[21]。物理主機(jī)狀態(tài)檢測(cè)過(guò)程周期設(shè)置為5分鐘一次,相當(dāng)于虛擬機(jī)遷移周期也為5分鐘一次,針對(duì)虛擬機(jī)的CPU資源使用率最近的q個(gè)歷史數(shù)據(jù),q設(shè)置為30,一共運(yùn)行24小時(shí)。
按照Cloudsim項(xiàng)目研究思路,虛擬機(jī)遷移策略評(píng)價(jià)的主要指標(biāo)有四個(gè): (1) 云數(shù)據(jù)中心的總體能量消耗;(2) 虛擬機(jī)遷移次數(shù);(3) SLA違規(guī)比率分析;(4) 能量與SLA違規(guī)的聯(lián)合指標(biāo)ESV。它們四個(gè)可以體現(xiàn)與能量消耗相關(guān)的虛擬機(jī)遷移策略的性能好壞。
本文另外增加了兩個(gè)性能指標(biāo): SLATAH指標(biāo)和超負(fù)載的物理主機(jī)累積數(shù)量指標(biāo)。物理主機(jī)超負(fù)載的情況是本文一個(gè)重要參考指標(biāo),每隔5分鐘就要進(jìn)行一次物理主機(jī)狀態(tài)檢測(cè),該指標(biāo)是統(tǒng)計(jì)一天內(nèi)累積的超負(fù)載物理主機(jī)數(shù)量。
最后如果SLA違規(guī)的情況發(fā)生了,云數(shù)據(jù)中心會(huì)提供一個(gè)懲罰機(jī)制,云服務(wù)提供商會(huì)產(chǎn)生另外的開(kāi)銷。
把考慮虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置三個(gè)方法分別與LRR-MMT-BFD策略進(jìn)行性能比較,值得再次指出的是,Approach1、Approach2、Approach3三個(gè)策略在虛擬機(jī)選擇和虛擬機(jī)放置階段都分別采用的是LRR方法和MMT方法。在六個(gè)性能指標(biāo)上完成實(shí)驗(yàn),每次統(tǒng)計(jì)一天內(nèi)的總體能量消耗,在一周內(nèi)重復(fù)運(yùn)行五次(星期一到星期五),計(jì)算整體的平均值,基本可以體現(xiàn)云數(shù)據(jù)中心的整體性能情況,實(shí)驗(yàn)結(jié)果如圖2-圖7所示。
圖2 考慮虛擬機(jī)關(guān)聯(lián)性策略的總體能耗性能比較
圖3 考慮虛擬機(jī)關(guān)聯(lián)性策略的虛擬機(jī)遷移次數(shù)比較
圖4 考慮虛擬機(jī)關(guān)聯(lián)性策略的超負(fù)載主機(jī)總數(shù)比較
圖5 考慮虛擬機(jī)關(guān)聯(lián)性策略的SLATAH值比較
圖6 考慮虛擬機(jī)關(guān)聯(lián)性策略的SLA違規(guī)比率值比較
圖7 考慮虛擬機(jī)關(guān)聯(lián)性策略的ESV值比較
從實(shí)驗(yàn)結(jié)果可以看出,三種采用了考慮虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置策略在虛擬機(jī)遷移次數(shù)上都小于Cloudsim項(xiàng)目中的LRR-MMT-BFD策略;Approach1、Approach2、Approach3等遷移策略在超負(fù)載物理主機(jī)累計(jì)數(shù)量上都遠(yuǎn)小于LRR-MMT-BFD策略。Approach1、Approach2、Approach3等遷移策略顯示出云數(shù)據(jù)中心的SLATAH值也小于LRR-MMT-BFD策略。
從累積超負(fù)載物理主機(jī)數(shù)量、虛擬機(jī)遷移次數(shù)、SLATAH值等三個(gè)指標(biāo)可以看出,考慮虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置方法可以盡可能地減少超負(fù)載物理主機(jī)事件的發(fā)生,即表明本文的策略很少影響云數(shù)據(jù)中心的QoS指標(biāo)。
整體云數(shù)據(jù)中心的ESV指標(biāo)表明了QoS指標(biāo)與總體能量消耗的平衡。從實(shí)驗(yàn)可以看出,Approach1、Approach2、Approach3等虛擬機(jī)放置策略在ESV性能上都低于LRR-MMT-BFD策略大約80%,驗(yàn)證了在第三階段虛擬機(jī)放置過(guò)程中考慮虛擬機(jī)之間的資源使用率關(guān)聯(lián)性的重要性。同時(shí)可以發(fā)現(xiàn),Approach1分配策略、Approach2分配策略、Approach3分配策略之間也有性能差異,Approach3策略具有最小的ESV值。這是因?yàn)锳pproach3策略可以在虛擬機(jī)重新分配過(guò)程中把虛擬機(jī)之間的關(guān)聯(lián)性影響降到最低;Approach3策略可以最小化虛擬機(jī)之間的關(guān)聯(lián)性,最大限度地降低物理主機(jī)超負(fù)載狀態(tài)的概率,最終減少了整個(gè)云數(shù)據(jù)中心的虛擬機(jī)遷移次數(shù)。
LRR-MMT-BFD策略在虛擬機(jī)遷移過(guò)程中,只考慮了物理主機(jī)能量消耗或者資源使用率(CPU、內(nèi)存、網(wǎng)絡(luò)帶寬、磁盤空間等)這些少量的指標(biāo)作為遷移因素,往往導(dǎo)致整體云數(shù)據(jù)中心的物理資源利用效率比較低。Approach2虛擬機(jī)分配策略比Approach1和Approach3兩個(gè)策略在性能指標(biāo)上都要差,如果所有候選的虛擬機(jī)內(nèi)部的關(guān)聯(lián)性都比較小,那么Approach3放置策略的性能將達(dá)到最好。
本文提出云數(shù)據(jù)中心考慮虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置策略,包括三類虛擬機(jī)放置策略:Approach1,Approach2,Approach3。這三類策略都可以盡量減少那些關(guān)聯(lián)度比較大的虛擬機(jī)在重新分配過(guò)程中會(huì)出現(xiàn)在相同物理主機(jī)上的機(jī)會(huì),從而在一定程度上避免了物理主機(jī)超負(fù)載事件的發(fā)生。采用真實(shí)的云客戶端的數(shù)據(jù),與Cloudsim系統(tǒng)中已有的虛擬機(jī)遷移策略比較,本文方法的各個(gè)性能指標(biāo)都優(yōu)于Cloudsim系統(tǒng)中已有的遷移策略??紤]虛擬機(jī)關(guān)聯(lián)性的虛擬機(jī)放置方法可以作為各個(gè)企業(yè)構(gòu)造云數(shù)據(jù)中心的重要參考依據(jù)。