陳 曉,江建慧
(同濟(jì)大學(xué)軟件學(xué)院 上海 嘉定區(qū) 201804)
動(dòng)態(tài)可配置的兩階段虛擬機(jī)容錯(cuò)分配方法
陳 曉,江建慧
(同濟(jì)大學(xué)軟件學(xué)院 上海 嘉定區(qū) 201804)
提出了一種隨著虛擬機(jī)資源請(qǐng)求和應(yīng)用程序可用性水平不斷變化的兩階段虛擬機(jī)容錯(cuò)分配方法。第一階段根據(jù)虛擬機(jī)資源請(qǐng)求變化求解不同的虛擬機(jī)初始分配方案集合,第二階段通過虛擬機(jī)在線遷移與虛擬機(jī)熱備份技術(shù),根據(jù)應(yīng)用程序可用性水平不斷變化求解虛擬機(jī)容錯(cuò)分配方案。實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的方法相比,該文提出的兩階段虛擬機(jī)容錯(cuò)分配方法性能更好,系統(tǒng)可用度更高。
可用度; 數(shù)據(jù)中心; 動(dòng)態(tài)可配置; 虛擬機(jī)容錯(cuò)分配; 兩階段算法
云計(jì)算系統(tǒng)結(jié)構(gòu)包括組織層、統(tǒng)一資源層、平臺(tái)層與應(yīng)用層[1]。虛擬化技術(shù)是云計(jì)算系統(tǒng)結(jié)構(gòu)統(tǒng)一資源層中最關(guān)鍵的技術(shù),可以提高主機(jī)的利用率,降低構(gòu)建數(shù)據(jù)中心的成本。同時(shí)也會(huì)降低數(shù)據(jù)中心的可靠性,從2006年~2013年亞馬遜云計(jì)算服務(wù)(amazon web services, AWS)宕機(jī)數(shù)據(jù)統(tǒng)計(jì)分析可知,排名前三位的分別是電源、存儲(chǔ)以及虛擬機(jī)[2]。因此在數(shù)據(jù)中心服務(wù)器整合過程中,研究虛擬機(jī)管理的可靠性問題是當(dāng)前的研究熱點(diǎn)。虛擬機(jī)容錯(cuò)技術(shù)與數(shù)據(jù)中心服務(wù)器整合中虛擬機(jī)容錯(cuò)分配技術(shù)也隨之被關(guān)注。
當(dāng)前虛擬機(jī)容錯(cuò)技術(shù)主要分為兩類:一類是將云計(jì)算系統(tǒng)失效節(jié)點(diǎn)上放置的虛擬機(jī)在線遷移到其他節(jié)點(diǎn)[3]。另一類是利用增量式檢查點(diǎn)思想,實(shí)現(xiàn)虛擬機(jī)熱備份系統(tǒng),主機(jī)在運(yùn)行過程中在一定的時(shí)間間隔內(nèi)將修改后的數(shù)據(jù)同步到備份機(jī)[4-5]。
數(shù)據(jù)中心服務(wù)器整合主要分為虛擬機(jī)初始(靜態(tài))分配[6]和虛擬機(jī)動(dòng)態(tài)管理[7]。已有工作研究以可靠性為目的的虛擬機(jī)容錯(cuò)分配問題。文獻(xiàn)[8]研究在虛擬機(jī)初始分配階段多種服務(wù)部署到不同的虛擬機(jī)時(shí),怎樣找到最小的物理節(jié)點(diǎn)數(shù)量,同時(shí)保證系統(tǒng)能容忍多節(jié)點(diǎn)失效問題,但是未考慮在動(dòng)態(tài)管理階段虛擬機(jī)分配方法。文獻(xiàn)[9]研究多個(gè)物理節(jié)點(diǎn)連續(xù)失效時(shí)虛擬機(jī)的分配序列,在任意時(shí)刻保證總有一定數(shù)量的虛擬機(jī)正常運(yùn)行,但是未考慮虛擬機(jī)動(dòng)態(tài)分配過程中新的約束引入。文獻(xiàn)[10]提出一種基于云計(jì)算應(yīng)用組件排序的容錯(cuò)框架,首先找出云計(jì)算應(yīng)用的關(guān)鍵組件,然后對(duì)這些關(guān)鍵組件選擇合適的軟件容錯(cuò)結(jié)構(gòu),提高云計(jì)算應(yīng)用可靠性,但未考慮部署組件的虛擬機(jī)分配問題。文獻(xiàn)[11]研究基于約束編程(constraint programming, CP)的可配置的虛擬機(jī)分配方法,提出了14種可配置應(yīng)用程序可用性要求的約束,但是該方法只考慮了基于虛擬機(jī)在線遷移的容錯(cuò)結(jié)構(gòu),同時(shí)未考慮虛擬機(jī)初始分配對(duì)動(dòng)態(tài)分配的影響。
為了解決上述問題,本文提出一種動(dòng)態(tài)可配置的兩階段虛擬機(jī)容錯(cuò)分配方法,不僅考慮虛擬機(jī)在線遷移,還考慮虛擬機(jī)熱備份,并提出一種基于CP的兩階段算法,研究虛擬機(jī)初始分配對(duì)動(dòng)態(tài)可配置的虛擬機(jī)容錯(cuò)分配的影響。
1.1 系統(tǒng)結(jié)構(gòu)
動(dòng)態(tài)可配置虛擬機(jī)容錯(cuò)分配管理結(jié)構(gòu)構(gòu)建在云計(jì)算系統(tǒng)統(tǒng)一資源層,如圖1所示。
圖1 動(dòng)態(tài)可配置虛擬機(jī)容錯(cuò)分配管理結(jié)構(gòu)
統(tǒng)一資源層上由k個(gè)機(jī)架(rack)構(gòu)成集群,第k個(gè)機(jī)架放置 nk個(gè)物理節(jié)點(diǎn)(node)。每個(gè)物理節(jié)點(diǎn)的操作系統(tǒng)之上是虛擬機(jī)管理器(virtual machine manager, VMM),其上放置的虛擬機(jī)有兩類,一類是提供服務(wù)的虛擬機(jī),另一類是服務(wù)虛擬機(jī)對(duì)應(yīng)的冗余虛擬機(jī)(virtual machine replication, VMRE)。監(jiān)控器負(fù)責(zé)接收VMM傳遞過來的數(shù)據(jù),同時(shí)動(dòng)態(tài)接收新的約束。全局控制器包含容錯(cuò)模型求解器與模型管理器。模型管理器接收來自監(jiān)控器傳遞的數(shù)據(jù)和新的物理節(jié)點(diǎn)與虛擬機(jī)加入請(qǐng)求,并將這些數(shù)據(jù)按照容錯(cuò)模型求解器需要的格式處理,然后周期性地傳遞給容錯(cuò)模型求解器。容錯(cuò)模型求解器求解虛擬機(jī)分配策略,并將其傳遞給容錯(cuò)策略執(zhí)行器。容錯(cuò)策略執(zhí)行器將容錯(cuò)分配策略解析成VMM可執(zhí)行的指令,然后傳遞給需要再次分配虛擬機(jī)的物理節(jié)點(diǎn)上的VMM并執(zhí)行。
1.2 狀態(tài)遷移
虛擬機(jī)容錯(cuò)分配策略是物理節(jié)點(diǎn)與虛擬機(jī)的一系列動(dòng)作集合,這些動(dòng)作使物理節(jié)點(diǎn)與虛擬機(jī)從一種狀態(tài)變成另一種狀態(tài)。
物理節(jié)點(diǎn)狀態(tài)比較簡(jiǎn)單,共有運(yùn)行(online)與關(guān)機(jī)(offline)兩種狀態(tài),通過執(zhí)行關(guān)閉與啟動(dòng)動(dòng)作改變物理節(jié)點(diǎn)狀態(tài),物理節(jié)點(diǎn)狀態(tài)遷移如圖2所示。
圖2 物理節(jié)點(diǎn)狀態(tài)遷移
圖3 虛擬機(jī)狀態(tài)遷移
虛擬機(jī)的狀態(tài)與操作系統(tǒng)進(jìn)程的狀態(tài)較類似,根據(jù)虛擬機(jī)管理軟件(如Libvirt)對(duì)虛擬機(jī)定義狀態(tài),共包含5個(gè)狀態(tài),分別是:初始、就緒、運(yùn)行、掛起與停機(jī),虛擬機(jī)狀態(tài)遷移如圖3所示。設(shè)虛擬機(jī)動(dòng)作集合A={Suspend, Launch, Migrate, Switch, Unmove,Close},分別表示虛擬機(jī)掛起、啟動(dòng)、遷移[12]、切換[4]、保持不變以及關(guān)閉,時(shí)間開銷根據(jù)實(shí)際環(huán)境測(cè)定。
2.1 虛擬機(jī)容錯(cuò)分配模型
根據(jù)圖1中監(jiān)控器反饋的數(shù)據(jù),對(duì)那些分配條件發(fā)生變化的虛擬機(jī),需要重新找出虛擬機(jī)行向量(V)與物理節(jié)點(diǎn)行向量(N)之間的映射關(guān)系,要求滿足虛擬機(jī)資源請(qǐng)求,模型求解目標(biāo)是使重新分配所花費(fèi)的時(shí)間開銷最小。為了求解該模型,將虛擬機(jī)容錯(cuò)分配分成兩個(gè)階段,第一階段為虛擬機(jī)初始分配(virtual machine initial allocation, VMIA),第二階段為動(dòng)態(tài)可配置虛擬機(jī)容錯(cuò)分配(dynamic configurable virtual machine fault tolerance allocation,DCVMFTA)。
根據(jù)1.2小節(jié)虛擬機(jī)狀態(tài)遷移描述,可以將虛擬機(jī)的遷移動(dòng)作看作從初始(initial)狀態(tài)到最終(final)狀態(tài)的遷移。設(shè)n表示物理節(jié)點(diǎn)數(shù)量、v表示虛擬機(jī)數(shù)量、p表示物理資源的種類(資源維度);Ni表示物理節(jié)點(diǎn)i的p維資源向量,表示虛擬機(jī)j初始狀態(tài)對(duì)資源的需求,表示虛擬機(jī)j最終狀態(tài)對(duì)資源的需求;aj表示虛擬機(jī)j的執(zhí)行動(dòng)作; dtj表示虛擬機(jī)j執(zhí)行狀態(tài)轉(zhuǎn)移動(dòng)作t的時(shí)間,t∈A; ctj表示虛擬機(jī)j執(zhí)行狀態(tài)轉(zhuǎn)移動(dòng)作t的時(shí)刻;wtj表示虛擬機(jī)j執(zhí)行狀態(tài)轉(zhuǎn)移動(dòng)作t的權(quán)重(Unmove的權(quán)重為0,其他動(dòng)作的權(quán)重均為1);X表示已使用物理節(jié)點(diǎn)數(shù)量, xi表示若存在虛擬機(jī)放置在物理節(jié)點(diǎn)i,其值為1,否則為0。為了形式化描述兩階段問題,給出兩個(gè)定義。
定義 1 虛擬機(jī)行向量V與物理節(jié)點(diǎn)行向量N的映射函數(shù)為g,即g:V→N。
定義 2 四元組T=(V,gini(V),A,gfin(V))表示?虛擬機(jī)j∈V,初始被分配到物理節(jié)點(diǎn) gini(j),然后經(jīng)過執(zhí)行動(dòng)作a∈A,最終被分配到物理節(jié)點(diǎn)gfin(j),這一執(zhí)行過程表示虛擬機(jī)在動(dòng)態(tài)管理過程中的狀態(tài)轉(zhuǎn)移。
1) VMIA。VMIA主要研究V與N的映射方案,要求滿足虛擬機(jī)資源請(qǐng)求與物理節(jié)點(diǎn)的資源匹配限制條件,目標(biāo)是使用的物理節(jié)點(diǎn)數(shù)量最少。式(1)給出VMIA問題的目標(biāo)函數(shù),即使用的物理節(jié)點(diǎn)數(shù)量最小。式(2)給出VMIA的約束條件,即放置在物理節(jié)點(diǎn)上的所有虛擬機(jī)每個(gè)維度的資源請(qǐng)求總和不能超過該物理節(jié)點(diǎn)所擁有的資源。
2) DCVMFTA。DCVMFTA主要研究在VMIA求解方案基礎(chǔ)上,隨著虛擬機(jī)分配條件的變化,求解V與N的再次映射方案。虛擬機(jī)分配條件發(fā)生變化主要有兩類情況:一類是隨著應(yīng)用程序的變化,某些虛擬機(jī)對(duì)物理資源請(qǐng)求的增加或者減少;另一類是虛擬機(jī)可用性水平的動(dòng)態(tài)配置。式(3)給出了求解DCVMFTA問題的目標(biāo)函數(shù),表示所有虛擬機(jī)的狀態(tài)遷移執(zhí)行動(dòng)作的時(shí)間開銷之和最小。式(4)給出DCVMFTA的約束條件,表示任意時(shí)刻對(duì)任意虛擬機(jī)j∈V,在執(zhí)行狀態(tài)遷移動(dòng)作之前時(shí)刻(l<dtj+ctj)的資源請(qǐng)求與執(zhí)行狀態(tài)遷移動(dòng)作之后時(shí)刻(l≥ctj)的資源請(qǐng)求之和小于放置之上的物理節(jié)點(diǎn)i所擁有的資源。其中,l表示任意時(shí)刻。
2.2 可配置虛擬機(jī)容錯(cuò)分配描述
根據(jù)圖1可知,監(jiān)控器動(dòng)態(tài)接收新的約束,這些約束主要為提高數(shù)據(jù)中心可靠性虛擬機(jī)與物理節(jié)點(diǎn)映射的約束規(guī)則。共有兩類約束,分別是分散(spread)與冗余(redundancy)。
1) Spread表示給定的虛擬機(jī)集合中任意兩個(gè)虛擬機(jī)不能放置在同一物理節(jié)點(diǎn)上,主要是為了防止單點(diǎn)故障而導(dǎo)致虛擬機(jī)與其對(duì)應(yīng)的冗余虛擬機(jī)同時(shí)失效。Spread的描述為spread(V),其約束模型為:
2) Redundancy表示給定的虛擬機(jī)集合的冗余水平,主要是對(duì)提供關(guān)鍵服務(wù)的虛擬機(jī)進(jìn)行冗余備份并同步。Redundancy的描述為redundancy(V,k),k為虛擬機(jī)冗余數(shù)量,一般k=2時(shí),屬于虛擬機(jī)雙機(jī)熱備份,其約束模型如下:
2.3 系統(tǒng)可用度(availability)
虛擬機(jī)容錯(cuò)分配系統(tǒng)周期性地對(duì)無法滿足需求的虛擬機(jī)進(jìn)行再次分配,因此,可以量化動(dòng)態(tài)可配置的虛擬機(jī)容錯(cuò)分配系統(tǒng)的可用度[11]。完成一次虛擬機(jī)容錯(cuò)分配所需要的時(shí)間為求解時(shí)間(Ts)與預(yù)測(cè)分配時(shí)間(Tr)之和,用(Ts+Tr)表示。定義系統(tǒng)平均修復(fù)時(shí)間(mean time to repair, MTTR):MTTR=(Ts+Tr)×σ,σ表示需要重新分配的虛擬機(jī)比例。設(shè)虛擬機(jī)重新分配的時(shí)間周期為Tp,那么系統(tǒng)可用度A如式(7)所示,Tp一般取值為1小時(shí)。
由2.1節(jié)的描述可知,VMIA與DCVMFTA屬于約束滿足問題,因此可以用CP方法求解該類問題[9,11]。兩階段算法流程如圖4所示。第一階段基于CP方法求解VMIA問題,產(chǎn)生虛擬機(jī)分配方案X,然后進(jìn)入第二階段循環(huán)選擇X并對(duì)DCVMFTA問題求解,輸出虛擬機(jī)容錯(cuò)分配方案P。
圖4 兩階段算法流程
3.1 VMIA問題求解
基于CP方法求解VMIA問題一般需要搜索較大的解空間,因此求解時(shí)間非常大,為了減少算法搜索空間,可以采用等價(jià)類與上下界限定優(yōu)化方法。在VMIA問題求解中,等價(jià)虛擬機(jī)指任意兩個(gè)虛擬機(jī)的請(qǐng)求資源完全相同;等價(jià)物理節(jié)點(diǎn)指任意兩個(gè)物理節(jié)點(diǎn)所擁有的資源完全相同。
在VMIA問題求解中,所需物理節(jié)點(diǎn)數(shù)量的下界為大于所有虛擬機(jī)請(qǐng)求的每個(gè)維度資源總和除以對(duì)應(yīng)的所有物理節(jié)點(diǎn)資源總和的最大值,設(shè)下界為那么
上界的選取規(guī)則為:若啟發(fā)式算法求解結(jié)果存在,則為上界,否則選擇虛擬機(jī)數(shù)量與物理節(jié)點(diǎn)數(shù)量的最小值,以降序首次適應(yīng)(first fit descending,F(xiàn)FD)算法為例,Xffd為FFD算法求解結(jié)果,設(shè)上界為Xupper,有:
基于CP的VMIA問題求解步驟如下:
1) 初始化相關(guān)資源,包括N、V、Ni、Vjini、計(jì)數(shù)變量z以及迭代次數(shù)閾值Nmax;
2) 對(duì)物理節(jié)點(diǎn)向量N、虛擬機(jī)向量V按等價(jià)類方式從大到小排序,排序規(guī)則是按照內(nèi)存、CPU資源依次從大到小,排序后物理節(jié)點(diǎn)向量Ν′、虛擬機(jī)向量V′;
3) 將VMIA問題約束轉(zhuǎn)換成CP約束,并設(shè)置搜索空間的上下界,即Xupper、Xlower,進(jìn)入模型器求解;
4) 若找到可行解,則將其放入方案向量X,更新計(jì)數(shù)變量z=z+1;
5) 若z<Nmax,則轉(zhuǎn)到步驟3),否則轉(zhuǎn)步驟6);
6) 輸出分配方案集合X。
3.2 DCVMFTA問題求解
DCVMFTA問題是在VMIA問題的方案之上求解。DCVMFTA問題等價(jià)物理節(jié)點(diǎn)與VMIA問題相同,而等價(jià)虛擬機(jī)指對(duì)任意兩個(gè)虛擬機(jī),它們?cè)谕粋€(gè)物理節(jié)點(diǎn)上并且請(qǐng)求的資源完全相同。DCVMFTA問題求解的搜索空間上下界與VMIA問題相同?;贑P的DCVMFTA問題求解步驟如下:
1) 根據(jù)監(jiān)控器的數(shù)據(jù)獲取需要重新分配的虛擬機(jī)向量V,初始化虛擬機(jī)動(dòng)作向量A、相應(yīng)的時(shí)間 dtj,時(shí)間計(jì)數(shù)變量o=0、計(jì)算時(shí)間閾值 tmax,以及預(yù)測(cè)最優(yōu)分配時(shí)間Mbest=0;
2) 從方案X中選取未被選擇的方案x,若x存在,則轉(zhuǎn)步驟3);否則,轉(zhuǎn)步驟6);
3) 若o<tmax,則將DCVMFTA問題約束轉(zhuǎn)換成CP約束;否則設(shè)置本次分配方案pl為空,轉(zhuǎn)步驟2);
4) 運(yùn)行基于CP的模型求解器,如果分配方案pl不存在,則轉(zhuǎn)步驟5),更新時(shí)間計(jì)數(shù)變量o=o+opl,opl為本次求解時(shí)間;否則,保存pl,更新Mbest,若Mbest>Mpl,則Mbest=Mpl,重置o=0,轉(zhuǎn)步驟2);
5) 擴(kuò)充V,若V非全集,轉(zhuǎn)步驟3);否則設(shè)置本次分配方案pl為空,轉(zhuǎn)步驟2);
6) 輸出分配方案集合P與預(yù)測(cè)最優(yōu)分配方案執(zhí)行時(shí)間Mbest。
本文在BtrPlace[11]基礎(chǔ)上實(shí)現(xiàn)了動(dòng)態(tài)可配置的兩階段虛擬機(jī)容錯(cuò)分配原型系統(tǒng)HABtrPlace。選取了基準(zhǔn)程序RUBiS(rice university bidding system)[11]模擬真實(shí)云計(jì)算服務(wù)實(shí)例評(píng)估其性能,實(shí)例基于RUBiS負(fù)載的三層結(jié)構(gòu)。模擬3 000~7 000個(gè)虛擬機(jī)在1 500個(gè)物理節(jié)點(diǎn)上動(dòng)態(tài)可配置容錯(cuò)分配過程,這些虛擬機(jī)對(duì)應(yīng)的實(shí)例個(gè)數(shù)依次為174、233、295、335、402,比較FFDPlace[8]、BtrPlace與HABtrPlace,求解DCVMFTA問題的時(shí)間與系統(tǒng)可用度。
實(shí)驗(yàn)求解的硬件配置為:CPU采用雙路E5-2620 V2,主頻: 2.1 GHZ,內(nèi)存:32 GB,操作系系統(tǒng):centos 6.4 x86_64,Java SDK版本1.8 update 5。
圖5給出了不同虛擬機(jī)容錯(cuò)分配方法求解DCVMFTA問題的時(shí)間。可以看出,隨著待分配虛擬機(jī)數(shù)量增多,DCVMFTA問題求解時(shí)間增加,HABtrPlace求解時(shí)間最小,說明隨著求解問題規(guī)模增加,本文提出的方法具有更小的求解時(shí)間。
圖5 不同分配方法的DCVMFTA問題求解時(shí)間
圖6給出不同虛擬機(jī)容錯(cuò)分配方法的系統(tǒng)可用度。從圖中可以看出,隨著待分配虛擬機(jī)數(shù)量的增多,基于HABtrPlace的虛擬機(jī)容錯(cuò)分配方法可用度最高,說明隨著求解問題規(guī)模的增加,本文提出的虛擬機(jī)容錯(cuò)分配方法具有更高系統(tǒng)可用度。同時(shí),從圖中可知,系統(tǒng)可用度均在0.99以上,并且隨著待分配的虛擬機(jī)數(shù)量增加,系統(tǒng)可用度隨之下降,這是因?yàn)榇峙涞奶摂M機(jī)數(shù)量越多,則求解時(shí)間與預(yù)測(cè)再次分配的執(zhí)行時(shí)間越大,系統(tǒng)可用度隨之下降。
圖6 不同虛擬機(jī)容錯(cuò)分配方法的系統(tǒng)可用度
圖7給出VMIA問題求解方案對(duì)DCVMFTA問題求解時(shí)間影響。從圖中可以看出,隨著物理節(jié)點(diǎn)放置虛擬機(jī)數(shù)量限制增多,DCVMFTA問題求解時(shí)間反而下降,這是由于使用的物理節(jié)點(diǎn)越多,虛擬機(jī)在物理節(jié)點(diǎn)的放置越分散,隨著新的可靠性約束條件動(dòng)態(tài)配置,需要再次分配的虛擬機(jī)數(shù)量會(huì)隨之減小。
圖7 VMIA對(duì)DCVMFTA問題求解時(shí)間影響
圖8給出VMIA問題求解方案對(duì)系統(tǒng)可用度影響,可看出,隨著物理節(jié)點(diǎn)放置虛擬機(jī)數(shù)量限制增多,系統(tǒng)可用度隨之增大,這是由于隨著使用的物理節(jié)點(diǎn)數(shù)量增多,DCVMFTA問題求解時(shí)間與預(yù)測(cè)執(zhí)行時(shí)間隨之減小,這樣系統(tǒng)可用度則隨之增大。
圖8 VMIA問題求解方案對(duì)系統(tǒng)可用度影響
從圖5~圖8的分析可知,本文提出的虛擬機(jī)容錯(cuò)分配方法求解時(shí)間更小,系統(tǒng)可用度更高。同時(shí),DCVMFTA問題求解時(shí)間與系統(tǒng)可用度不僅與問題規(guī)模相關(guān),還受VMIA問題求解方案的影響。
針對(duì)數(shù)據(jù)中心服務(wù)器整合的可靠性問題,本文提出一種動(dòng)態(tài)可配置的兩階段虛擬機(jī)容錯(cuò)分配方法。隨著虛擬機(jī)請(qǐng)求資源和用戶對(duì)應(yīng)用程序可用性水平的不斷變化,通過虛擬機(jī)在線遷移與虛擬機(jī)熱備份技術(shù),構(gòu)建了一種動(dòng)態(tài)可配置的兩階段虛擬機(jī)容錯(cuò)分配模型,提出了一種基于CP的兩階段算法求解該模型。實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的方法相比,本文提出的方法求解時(shí)間更少,系統(tǒng)可用度更高。下一步研究工作考慮其他因素對(duì)虛擬機(jī)容錯(cuò)分配的影響,例如,功耗、云計(jì)算系統(tǒng)服務(wù)等級(jí)合約等。
[1] FOSTER I, YONG Z, RAICU I, et al. Cloud computing and grid computing 360-degree compared[C]//Proceedings of Grid Computing Environments Workshop. Austin, TX: IEEE,2008: 1-10.
[2] CHEN Huai-lin. A qualitative and quantitative study onavailability of cloud computing[EB/OL]. [2013-10-22]. http://www.valleytalk.org/w p-content/uploads/2013/10/.
[3] XU F, LIU F M, LIU L H, et al. iAware: Making live migration of virtual machines interference-aware in the cloud[J]. IEEE Transactions on Computers, 2014, 63(12):012-3025.
[4] BRENDAN C, GEOFFREY L, DUTCH M, et al. Remus:High availability via asynchronous virtual machine replication[C]//Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation. San Francisco: USENIX Association, 2008: 161-174.
[5] ZHU J, JIANG Z F, XIAO Z, et al. Optimizing the performance of virtual machine synchronization for fault tolerance[J]. IEEE Transactions on Computers, 2011, 60(12):1718-1729.
[6] WANG Y F, WANG X R. Virtual batching: Request batching for server energy conservation in virtualized data centers[J]. IEEE Transactions on Parallel and Distributed Systems,2013, 24(8): 1695-1705.
[7] XIAO Z, SONG W J, CHEN Q. Dynamic resource allocation using virtual machines for cloud computing environment[J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 24(6): 1107-1117.
[8] MACHIDA F, KAWATO M, MAENO Y. Redundant virtual machine placement for fault-tolerant consolidated server clusters[C]//Proceedings of 2010 IEEE Network Operations and Management Symposium. Osaka: IEEE, 2010: 32-39.
[9] BIN E, BIRAN O, BONI O, et al. Guaranteeing high availability goals for virtual machine placement[C]// Proceedings of the 31st International Conference on Distributed Computing Systems. Minneapolis: IEEE, 2011:700-709.
[10] ZHENG Z B, ZHOU T C, LYU M R, et al. Component ranking for fault-tolerant cloud applications[J]. IEEE Transactions on Services Computing, 2012, 5(4): 540-550.
[11] HERMENIER F, LAWALL J, MULLER G. BtrPlace: a flexible consolidation manager for highly available applications[J]. IEEE Transactions on Dependable and Secure Computing, 2013, 10(5): 273-286.
[12] LIU H K, JIN H, XU C Z. Performance and energy modeling for live migration of virtual machines[C]// Proceedings of the 20th International Symposium on High Performance Distributed Computing. San Jose: IEEE, 2011:171-182.
編 輯 蔣 曉
A DynamFica Culot-nTfi oglu erraanbclee TAwllooc-Pathiaosne MViertthuoadl Machine
CHEN Xiao and JIANG Jian-hui
(School of Software Engineering, Tongji University Jiading Shanghai 201804)
A two-phase virtual machine (VM) fault-tolerance allocation method is proposed according to the constantly change of resources request of VMs and the availability levels of applications. In the first stage, the initial allocation plans of VMs are solved according to the change of resources request of VMs. In the second stage,through live migration of VMs technology and hot standby of VMs technology, the fault-tolerance allocation plan of VMs is solved according to the constantly change of the availability levels of applications. Experimental results demonstrate that the proposed method shows up better performance and higher availability compared with the existing methods.
availability; data center; dynamic configuration; fault-tolerance allocation of VMs;two-phase algorithm
TP302.8
A
10.3969/j.issn.1001-0548.2016.02.022
2015 - 02 - 11;
2015 - 10 - 27
國(guó)家自然科學(xué)基金重點(diǎn)項(xiàng)目(61432017);國(guó)家自然科學(xué)基金青年項(xiàng)目(61404092);江蘇省產(chǎn)學(xué)研聯(lián)合創(chuàng)新資金項(xiàng)目子課題(BY2013095-5-06)
陳曉(1987 - ),男,博士,主要從事容錯(cuò)計(jì)算、軟件可靠性等方面的研究.