賈炅昊,陳寧江,李 湘,黃汝維
(廣西大學(xué)計(jì)算機(jī)與電子信息學(xué)院, 廣西南寧530004)
?
基于可用能力建模的云虛擬機(jī)動(dòng)態(tài)調(diào)整策略
賈炅昊,陳寧江,李湘,黃汝維
(廣西大學(xué)計(jì)算機(jī)與電子信息學(xué)院, 廣西南寧530004)
摘要:云資源的可用性對資源管理帶來一定的挑戰(zhàn),針對以往工作忽略云計(jì)算系統(tǒng)由于資源不足造成的不可用情景,提出一種可用性感知的虛擬資源動(dòng)態(tài)調(diào)整策略(ADAR),利用馬爾可夫模型對虛擬機(jī)可用能力進(jìn)行建模,能夠評估未來時(shí)刻資源的缺失情況對應(yīng)用服務(wù)影響,根據(jù)評估結(jié)果對作為虛擬機(jī)資源進(jìn)行調(diào)整指導(dǎo)。仿真實(shí)驗(yàn)驗(yàn)證了ADAR策略具有可行的效果,有效地降低資源浪費(fèi)、降低云任務(wù)的完成時(shí)間和提高系統(tǒng)利用率。
關(guān)鍵詞:虛擬機(jī);資源調(diào)整;可用性
0前言
在云計(jì)算實(shí)際應(yīng)用中,由于虛擬資源的動(dòng)態(tài)加入和退出,軟硬件故障、運(yùn)行維護(hù)、安全保護(hù)、系統(tǒng)升級等原因可能導(dǎo)致云環(huán)境中的資源不可用,給云計(jì)算服務(wù)商帶來很大損失,導(dǎo)致用戶無法正常使用虛擬機(jī)和使用云服務(wù)。近年來,研究者對云計(jì)算資源在實(shí)際應(yīng)用中的可用情況進(jìn)行追蹤與監(jiān)控,分析資源可用性對應(yīng)用性能的影響[1],結(jié)果表明資源保持較高的不可用頻率,則將對任務(wù)的執(zhí)行產(chǎn)生較大的負(fù)面影響,嚴(yán)重影響應(yīng)用性能和用戶QoS保障。Dinda等[2]在分析云計(jì)算中云主機(jī)節(jié)點(diǎn)負(fù)載模式的過程中發(fā)現(xiàn)資源利用率低下的直接原因是傳統(tǒng)的任務(wù)調(diào)度算法缺乏對底層資源動(dòng)態(tài)可用能力的預(yù)見性。本文將著重研究在保障虛擬機(jī)的可靠性的基礎(chǔ)上,準(zhǔn)確評估虛擬機(jī)的資源可用能力以及可用性感知資源調(diào)整策略。
目前在云資源的可用性研究中,大多將可用性描述成一定時(shí)刻提供服務(wù)的概率,采取熵優(yōu)化原理、預(yù)測方法進(jìn)行評估,或從資源物理的可靠性對其進(jìn)行表述。文獻(xiàn)[3]提出了云計(jì)算環(huán)境下一種基于熵優(yōu)化原理的云資源動(dòng)態(tài)可用評估模型,其將資源可用性定義為周期內(nèi)持續(xù)提供云服務(wù)的概率,通過最大熵原理和熵增最小原理結(jié)合求解的方法篩選出最優(yōu)的資源候選集來滿足系統(tǒng)利用率最大化和保障用戶的QoS。文獻(xiàn)[4]基于業(yè)務(wù)系統(tǒng)運(yùn)行的規(guī)律性和周期性,建立一種系統(tǒng)運(yùn)行時(shí)狀態(tài)的隱馬爾可夫模型,對系統(tǒng)的未來運(yùn)行狀態(tài)進(jìn)行預(yù)測分析以保證系統(tǒng)能夠快速地從可能發(fā)生的失效中恢復(fù)。文獻(xiàn)[5]提出一種基于失效規(guī)律的節(jié)點(diǎn)資源動(dòng)態(tài)提供策略。文獻(xiàn)[6]通過感知資源的可用性保障和任務(wù)的可用性需求并給出可用性感知的調(diào)度算法。文獻(xiàn)[7]提出了一種增強(qiáng)型多目標(biāo)粒子群算法的虛擬機(jī)調(diào)度策略。文獻(xiàn)[8]提出一種多層云服務(wù)的動(dòng)態(tài)資源供給策略。文獻(xiàn)[9]提出一種基于整數(shù)劃分資源調(diào)度算法,以保障服務(wù)器的CPU、內(nèi)存、磁盤、帶寬以及網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的可靠性,但其可靠性計(jì)算算法復(fù)雜度比較高。
綜合而言,以往有關(guān)工作主要重點(diǎn)分析導(dǎo)致云環(huán)境中的資源不可用的原因,計(jì)算某一時(shí)刻云資源可用概率,將云資源的可用性描述成可用或者不可用,但是忽略了云計(jì)算系統(tǒng)由于資源不足造成的不可用情景,有必要深入刻畫虛擬機(jī)的資源可用能力。基此筆者提出一種基于失效分布的虛擬機(jī)可用度計(jì)算方法和基于馬爾科夫模型的虛擬機(jī)可用能力評估方法,描述虛擬機(jī)的可靠程度和未來時(shí)刻資源的缺失情況對應(yīng)用服務(wù)影響程度,給虛擬機(jī)的資源調(diào)整提供了依據(jù);提出一種可用性感知的虛擬資源動(dòng)態(tài)調(diào)整策略,相比較現(xiàn)有資源的調(diào)整方法,提高了系統(tǒng)的利用率。
1基于馬爾科夫模型的虛擬機(jī)可用能力建模
本文關(guān)注的虛擬機(jī)可用性主要表現(xiàn)在兩個(gè)方面:①由于云資源硬件故障、系統(tǒng)故障或者網(wǎng)絡(luò)故障等因素導(dǎo)致云服務(wù)提供者無法對用戶提供服務(wù),通過在某一時(shí)刻云資源可用概率,將云資源的可用性描述成可用或者不可用;②由于資源的供給不足造成降低云服務(wù)性能,即當(dāng)前云資源的實(shí)際服務(wù)能力較差,難以否滿足用戶需求。因此本文對虛擬機(jī)的可用性綜合考慮在一段時(shí)間內(nèi)提供云服務(wù)的概率和服務(wù)能力的大小,將云服務(wù)的概率描述為虛擬機(jī)可用度,將虛擬機(jī)服務(wù)能力描述為虛擬機(jī)可用能力。
1.1虛擬機(jī)的可用度評價(jià)
虛擬機(jī)作為云服務(wù)載體,虛擬機(jī)的失效將直接影響服務(wù)提供的概率。由于云計(jì)算模式下虛擬規(guī)模較大,造成虛擬機(jī)不可用的因素較多,傳統(tǒng)的計(jì)算機(jī)系統(tǒng)可用性的計(jì)算方法不能很好適用云環(huán)境,本文從虛擬機(jī)失效的角度出發(fā),根據(jù)虛擬機(jī)失效分布特點(diǎn),對其服務(wù)的影響,重新刻畫虛擬機(jī)可用度。因此做如下定義:
定義1虛擬機(jī)可用度。在周期內(nèi)可以正常持續(xù)提供服務(wù)的概率,用VF表示:
VFVmi=f(t),
(1)
其中VFVmi表示的是虛擬機(jī)Vmi的可用度;f(t)表示虛擬機(jī)的可用度是隨時(shí)間t變化的函數(shù),其值域正實(shí)數(shù),函數(shù)的初始值為1,表示虛擬機(jī)沒有失效事件發(fā)生。
根據(jù)對大規(guī)模云計(jì)算系統(tǒng)的失效日志統(tǒng)計(jì)分析發(fā)現(xiàn),系統(tǒng)節(jié)點(diǎn)失效規(guī)律服從參數(shù)shape小于1的Weibull (scale, shape)分布[10]。虛擬機(jī)節(jié)點(diǎn)有兩個(gè)特點(diǎn):①即剛剛失效虛擬機(jī)的節(jié)點(diǎn)更有可能出現(xiàn)失效,而運(yùn)行起來之后變得越來越穩(wěn)定[5];②虛擬機(jī)連續(xù)多次失效,其失效概率越來越大。筆者根據(jù)以上兩個(gè)特點(diǎn),可以發(fā)現(xiàn)在一定時(shí)間內(nèi)虛擬機(jī)發(fā)生失效的次數(shù),對于虛擬機(jī)的可用度有很大的影響,因此本文設(shè)計(jì)一個(gè)基于失效分布的虛擬機(jī)可用度度量算法——VMAM-FD(VM availability measurement algorithm based on failure distribution)對于發(fā)生失效的虛擬機(jī)的彈性減小虛擬機(jī)的可用度,對于沒有發(fā)生失效的虛擬機(jī)的彈性增加虛擬機(jī)的可用度。
為了準(zhǔn)確刻畫出虛擬機(jī)是否失效對虛擬機(jī)的可用度的影響,做出如下定義:
定義2虛擬機(jī)可用性因子。虛擬機(jī)可用度增減幅度的大小,用RF表示,RF=1/n,n≥Mmax。Mmax表示最大虛擬機(jī)連續(xù)失效數(shù)。
在VMAM-FD算法中,對于發(fā)生失效的虛擬機(jī)彈性減小虛擬機(jī)的可用度,對沒有發(fā)生失效的虛擬機(jī)的彈性增加虛擬機(jī)可用度,因此,本文給虛擬機(jī)可用度的計(jì)算公式,如下所示:

(2)
其中T為虛擬機(jī)的可用度計(jì)算周期,M為虛擬機(jī)失效檢測次數(shù),RF為虛擬機(jī)的可用性因子。
在VMAM-FD算法中,首先對每個(gè)虛擬機(jī)進(jìn)行初始化,將其虛擬機(jī)的可用度(VF)初始化為1(初始化虛擬機(jī)失效率為0)。算法的輸入數(shù)據(jù)分別是可用性因子RF,最大的虛擬機(jī)可用度maxVF, 最小的虛擬機(jī)可用度minVF,其中虛擬機(jī)失效次數(shù)用M統(tǒng)計(jì)。
Algorithm:VMAM-FD
Input:RF,VMstatus,maxVF,minVF
Output:VF
BEGIN
①VF= 1,M= 1;
②successCount = 0; // successCount計(jì)數(shù)器記錄虛擬機(jī)成功通過的可用性檢測的次數(shù)
③IFVMstatus = SUCCESSTHEN
④VF←VF+(VF×RF)
⑤END
⑥IFM>1 THEN
⑦M(jìn)←M- 1
⑧END
⑨successCount = successCount+1
⑩ELSE IFVMstatus=FAIL THEN











END
在基于失效分布的虛擬機(jī)可用度度量算法的基礎(chǔ)上,還需要對虛擬機(jī)的資源可用能力進(jìn)行評估,因?yàn)樘摂M機(jī)的資源可用能力是云資源的調(diào)度、調(diào)整以及云服務(wù)的提供必不可少的依據(jù),以下將介紹基于馬爾科夫模型的虛擬機(jī)可用能力評估方法。
1.2基于馬爾科夫模型的虛擬機(jī)可用能力評估方法
本文中, 虛擬機(jī)可用能力表示為周期內(nèi)對外提供的服務(wù)時(shí)實(shí)際資源能力,如下定義:
定義3虛擬機(jī)可用能力VC= {Cpu,Mem,H(t)},其中,Cpu表示周期內(nèi)虛擬機(jī)CPU平均使用率;Mem表示周期內(nèi)虛擬機(jī)內(nèi)存平均使用率;H(t)表示在時(shí)間t時(shí)刻虛擬機(jī)的資源能力的大小,資源能力水平H的越高表示虛擬機(jī)的可用能力越強(qiáng)。
在云計(jì)算系統(tǒng)中,用戶的應(yīng)用程序有CPU密集型、內(nèi)存密集型批處理任務(wù)。當(dāng)虛擬機(jī)提供大量不同類型的應(yīng)用服務(wù)時(shí),虛擬機(jī)可能出現(xiàn)CPU資源短缺,或者內(nèi)存資源短缺,造成虛擬機(jī)中應(yīng)用性能降低,難以滿足用戶滿意度。由于馬爾科夫鏈模型[11]是一種有效的模式識(shí)別和預(yù)測模型,其模型的元素與結(jié)構(gòu)與本文建立虛擬機(jī)運(yùn)行過程中CPU和內(nèi)存的狀態(tài)模型基本吻合,可以在較短時(shí)間預(yù)測出虛擬機(jī)資源狀態(tài)。因此建立虛擬機(jī)運(yùn)行時(shí)CPU和內(nèi)存狀態(tài)的馬爾科夫模型,預(yù)測未來時(shí)刻虛擬機(jī)CPU和內(nèi)存狀態(tài)可能處于的狀態(tài)。
1.2.1模型建立
①狀態(tài)劃分
假設(shè)α為影響虛擬機(jī)可用性的CPU使用率的閥值,根據(jù)CPU使用狀況,可以分為P1和P2兩種狀態(tài):P1:當(dāng)虛擬機(jī)的CPU使用率處于Cpu∈(0,α],虛擬機(jī)處于正常運(yùn)行狀態(tài);P2:當(dāng)虛擬機(jī)的CPU使用率處于Cpu∈(α,1],虛擬機(jī)處于CPU資源缺乏狀態(tài),需要采取措施去增加CPU資源,保證用戶的QoS。
假設(shè)β為影響虛擬機(jī)可用性的內(nèi)存使用率的閥值,根據(jù)內(nèi)存使用狀況,可以分為Q1和Q2兩種狀態(tài):Q1:當(dāng)虛擬機(jī)的內(nèi)存使用率處于Mem∈(0,β],虛擬機(jī)處于正常運(yùn)行狀態(tài);Q2:當(dāng)虛擬機(jī)的內(nèi)存使用率處于Mem∈(β,1],虛擬機(jī)處于內(nèi)存資源缺乏狀態(tài),需要采取措施去增加內(nèi)存資源,保證用戶的QoS。
②概率計(jì)算
假設(shè)虛擬機(jī)應(yīng)用服務(wù)在時(shí)間T0處于等待狀態(tài),而此時(shí)虛擬機(jī)的狀態(tài)為xk。將時(shí)間T作為預(yù)測模型基本時(shí)間周期,它表示的是系統(tǒng)完成一次虛擬機(jī)資源調(diào)整的所需的時(shí)間。每隔時(shí)間T,系統(tǒng)收集虛擬機(jī)的資源狀態(tài)信息,并對虛擬機(jī)進(jìn)行狀態(tài)預(yù)測。如果用g(t)表示虛擬機(jī)資源狀態(tài)的隨機(jī)過程,g(0)=xk表示初始狀態(tài),即T0時(shí)刻虛擬機(jī)的狀態(tài)為xk,g(m)=xl表示T0+mT時(shí)刻的狀態(tài)為xl,那么根據(jù)式(2)計(jì)算出在T0+mT虛擬機(jī)達(dá)到xl狀態(tài)的概率為:

(3)
式(3)中,Pkl表示虛擬機(jī)從狀態(tài)k到狀態(tài)l的概率,成為轉(zhuǎn)移概率。
③轉(zhuǎn)移概率矩陣的更新
采用數(shù)值估計(jì)通過歷史數(shù)據(jù)去估計(jì)矩陣的值,并隨著資源調(diào)整周期不斷修正。假設(shè)系統(tǒng)在r個(gè)周期后完成信息收集并對虛擬機(jī)的狀態(tài)開始預(yù)測,對于虛擬機(jī)v,在過去r個(gè)周期資源狀態(tài)的隨機(jī)過程{gv(k),k=1,2…,k}。那么轉(zhuǎn)移矩陣Pv中虛擬機(jī)從狀態(tài)i轉(zhuǎn)移到到狀態(tài)j的概率Pij可以由式(4)計(jì)算:

(4)
1.2.2預(yù)測結(jié)果量化
如果僅僅知道虛擬機(jī)的未來所處的狀態(tài)是無法給虛擬機(jī)資源調(diào)整提供指導(dǎo),需要對將預(yù)測結(jié)果進(jìn)行量化。根據(jù)虛擬機(jī)兩種資源屬性的針對不同應(yīng)用的重要性不同,為CPU使用率和內(nèi)存使用率分別賦權(quán)值, ωCPU,ωMem兩種資源屬性的分別賦值為FP1,FP2,FQ1,FQ2,那么虛擬機(jī)的綜合狀態(tài)xi表示為:
Fi=ωCPU(FP1(xi)+FP2(xi))+ωMem(FQ1(xi)+FQ2(xi)),i=1,2,3,4。
(5)
根據(jù)馬爾科夫預(yù)測結(jié)果,并對虛擬機(jī)的資源狀態(tài)進(jìn)行量化,可以計(jì)算出虛擬機(jī)在未來時(shí)刻的綜合狀態(tài)指標(biāo)H。H表示虛擬機(jī)的資源能力水平,假設(shè)初始時(shí)刻為T0,虛擬機(jī)的狀態(tài)為xi,則在T0+mT時(shí)刻,H可以通過式(6)計(jì)算得到:

(6)
由于虛擬機(jī)的P1狀態(tài)表示CPU資源充足而P2的CPU資源達(dá)到瓶頸,虛擬機(jī)的Q1狀態(tài)表示內(nèi)存資源充足而Q2的內(nèi)存資源達(dá)到瓶頸狀態(tài),在一般狀況下,F(xiàn)P1>FP2,FQ1>FQ2,因此對虛擬機(jī)來說,資源能力水平H的越高表示虛擬機(jī)的可用能力越強(qiáng)。
虛擬機(jī)可用能力采用馬爾可夫模型進(jìn)行建模與分析,可以在較短的時(shí)間內(nèi)對虛擬機(jī)未來的資源狀態(tài)做出準(zhǔn)確的評估,這樣可以判斷出虛擬機(jī)是否出現(xiàn)資源短缺對虛擬機(jī)應(yīng)用服務(wù)的影響程度,可以給下文的可用性感知的虛擬資源動(dòng)態(tài)調(diào)整策略提供重要依據(jù)。
2虛擬資源動(dòng)態(tài)調(diào)整策略
本文提出可用性感知的虛擬資源動(dòng)態(tài)調(diào)整策略——ADAR(Available-aware dynamic adjustment strategy of virtual resource)。采用算法復(fù)雜度較低的最佳適應(yīng)算法[12]快速地對需要進(jìn)行遷移、釋放、動(dòng)態(tài)增加虛擬機(jī)硬件資源的虛擬機(jī)進(jìn)行定位。通過VMAM-FD算法計(jì)算出每個(gè)虛擬機(jī)可用度并進(jìn)行升序排序,將最小可用度的虛擬機(jī)釋放,降低系統(tǒng)資源浪費(fèi);對于可用度高的虛擬機(jī)依據(jù)馬爾科夫模型評估其可用能力,對于可用能力低的虛擬機(jī)有兩種處理方式,一種是當(dāng)宿主機(jī)資源有空閑時(shí),則進(jìn)行動(dòng)態(tài)增加虛擬機(jī)資源;另一種是宿主機(jī)資源不足,則選擇選擇資源空閑的宿主機(jī)進(jìn)行遷移,這樣可以減少遷移次數(shù),提高系統(tǒng)的利用率。該策略的執(zhí)行過程如圖1所示。

圖1 ADAR策略流程圖
ADAR策略依據(jù)虛擬機(jī)的可用度和虛擬機(jī)可用能力,及時(shí)做出資源調(diào)整,相比較現(xiàn)有資源的調(diào)整方法,可以降低資源浪費(fèi)、更好提高了系統(tǒng)的利用率和保障用戶的QoS。例如當(dāng)虛擬集群發(fā)生大規(guī)模失效時(shí),根據(jù)VMAM-FD計(jì)算出虛擬機(jī)的可用度,ADAR及時(shí)將可用度最低的虛擬機(jī)進(jìn)行釋放,減少資源浪費(fèi);在應(yīng)對大規(guī)模計(jì)算密集型應(yīng)用服務(wù)時(shí),監(jiān)控每個(gè)虛擬機(jī)的CPU和內(nèi)存使用情況,根據(jù)虛擬機(jī)CPU和內(nèi)存使用率進(jìn)行馬爾科夫建模評估出未來時(shí)刻虛擬機(jī)資源狀態(tài),ADAR策略對評估結(jié)果對于應(yīng)用性能的影響進(jìn)行分析,當(dāng)出現(xiàn)虛擬機(jī)CPU資源不足的趨勢時(shí),及時(shí)增加CPU或者內(nèi)存資源保證應(yīng)用服務(wù)正常運(yùn)行,從而很大程度上保證用戶的滿意度。
3實(shí)驗(yàn)
本文采用云計(jì)算仿真軟件cloudsim3.0[13]進(jìn)行模擬實(shí)驗(yàn)。實(shí)驗(yàn)?zāi)M的運(yùn)行環(huán)境JDK1.6.0_43,Eclipse 4.2.0,操作系統(tǒng) Windows 7。實(shí)驗(yàn)中設(shè)置了2組實(shí)驗(yàn)場景分別驗(yàn)證本文提出的可用性感知的虛擬資源動(dòng)態(tài)調(diào)整策略的有效性。
①實(shí)驗(yàn)1:應(yīng)用ADAR策略前后資源浪費(fèi)量對比

圖2 虛擬機(jī)CPU資源損耗比Fig.2 The depletion ratio of virtual machine CPU resource
為了驗(yàn)證ADAR策略在節(jié)省虛擬機(jī)資源方面有效性,創(chuàng)建100臺(tái)虛擬機(jī),周期性的注入虛擬機(jī)失效事件去模擬真實(shí)虛擬機(jī)失效,虛擬機(jī)失效節(jié)點(diǎn)數(shù)設(shè)置為[10,20],然后計(jì)算并比較有無應(yīng)用本文工作成果的效果。主要實(shí)驗(yàn)參數(shù)設(shè)置:云任務(wù)數(shù)500個(gè);任務(wù)長度1 000~4 000 MI(million instructions);數(shù)據(jù)傳輸量為1 000-2 000 KBPS;云任務(wù)周期時(shí)間為100 s,周期間隔100 s。為了能夠清晰表示出比較應(yīng)用ADAR策略前后因虛擬機(jī)失效造成資源浪費(fèi)量,設(shè)置實(shí)驗(yàn)指標(biāo)資源損耗比,即因虛擬機(jī)失效造成資源浪費(fèi)量與資源總量的比值。虛擬機(jī)CPU資源損耗比如圖2所示。在圖2中看出實(shí)驗(yàn)運(yùn)行初期虛擬機(jī)的資源損耗相近,由于本文的VMAM-FD算法計(jì)算虛擬機(jī)的可用度需要若干周期積累數(shù)據(jù)。5~15周期應(yīng)用虛擬機(jī)的評估模型的損耗比明顯比未應(yīng)用虛擬機(jī)的評估模型低很多,原因在5周期開始周期性注入失效事件,而ADAR策略依據(jù)VMAM-FD算法對虛擬機(jī)可用度進(jìn)行計(jì)算的結(jié)果,對失效虛擬機(jī)做出了資源調(diào)整,將其中虛擬機(jī)可用度最低的虛擬機(jī)進(jìn)行釋放,可以有效地降低系統(tǒng)因虛擬機(jī)失效造成的資源浪費(fèi)。
②實(shí)驗(yàn)2:系統(tǒng)利用率和完成時(shí)間對比
為了驗(yàn)證ADAR算法在對于系統(tǒng)利用率的提升和有效性,本實(shí)驗(yàn)場景中,將ADAR算法與經(jīng)典算法隨機(jī)輪訓(xùn)算法(Round-Robin)、Min-Min算法對比,實(shí)驗(yàn)評價(jià)指標(biāo):①M(fèi)akespan:虛擬機(jī)節(jié)點(diǎn)完成任務(wù)時(shí)間,是衡量用戶的QoS的重要指標(biāo);②系統(tǒng)利用率:已使用的虛擬機(jī)計(jì)算資源與總的計(jì)算資源比值。分別創(chuàng)建100個(gè)、200個(gè)、300個(gè)、400個(gè)和500個(gè)虛擬機(jī)對比3種算法的Makespan和系統(tǒng)利用率。每種算法運(yùn)行20個(gè)周期作為最終結(jié)果。對實(shí)驗(yàn)參數(shù)設(shè)置:云任務(wù)數(shù)1 000個(gè);任務(wù)長度50 000~100 000 MI;數(shù)據(jù)傳輸量1 000~2 000 KBPS; 虛擬機(jī)節(jié)點(diǎn)的屬性信息:處理速度200~400 MIPS,存儲(chǔ)量1 000~2 000 M;云任務(wù)周期為100 s,周期間隔100 s。
3種算法的Makespan和系統(tǒng)利用率對比如圖3和圖4所示,從圖3和圖4中可以看出,應(yīng)用ADAR算法的虛擬機(jī)保持較低完成時(shí)間和較高系統(tǒng)利用率,任務(wù)完成時(shí)間減少將近400 s,系統(tǒng)的利用率提升近4%。這是因?yàn)椋诿總€(gè)云任務(wù)執(zhí)行周期內(nèi),根據(jù)虛擬機(jī)的CPU和內(nèi)存使用情況,確定虛擬機(jī)的狀態(tài),基于馬爾科夫模型的虛擬機(jī)可用能力評估,篩選出可用能較低的虛擬機(jī)即缺乏資源的虛擬機(jī)集,對其動(dòng)態(tài)增加虛擬機(jī)資源,這樣可以增強(qiáng)虛擬機(jī)可用服務(wù)能力。而其他兩種算法并未根據(jù)虛擬機(jī)狀態(tài)及時(shí)做出資源調(diào)整,保持虛擬機(jī)原始配置。

圖3Makespan對比
Fig.3Comparison of Makespan

圖4系統(tǒng)利用率對比
Fig.4Comparison of system utilization
在大規(guī)模云計(jì)算實(shí)際應(yīng)用,虛擬機(jī)的個(gè)數(shù)成千上萬,虛擬機(jī)失效分布趨于明顯,虛擬機(jī)失效帶來很大資源浪費(fèi),同時(shí)資源缺乏造成虛擬機(jī)可用能力低下的問題也變得很嚴(yán)重。本文的ADAR策略可以對虛擬機(jī)可用能力做出評估,及時(shí)調(diào)整虛擬機(jī)資源,可以有效的降低因虛擬機(jī)失效帶來的資源浪費(fèi)和很好保障用戶的QoS,有助于提高用戶滿意度,減少云計(jì)算服務(wù)商的損失。
4結(jié)語
本文提出一種可用性感知的虛擬資源動(dòng)態(tài)調(diào)整策略(ADAR),解決現(xiàn)有虛擬機(jī)可用性研究中難以準(zhǔn)確評估虛擬機(jī)的資源可用服務(wù)能力的問題,周期性對虛擬機(jī)進(jìn)行可用度度量,同時(shí)通過馬爾科夫模型評估虛擬機(jī)可用能力,根據(jù)度量和評估結(jié)果對虛擬機(jī)資源動(dòng)態(tài)調(diào)整,通過仿真實(shí)驗(yàn)驗(yàn)證ADAR策略在提高系統(tǒng)整體的利用率和保障用戶的QoS方面具有良好的效果。下一步工作將在實(shí)際應(yīng)用系統(tǒng)中繼續(xù)驗(yàn)證和完善該策略,細(xì)化可用能力模型對更豐富的失效類型或不可用情境的度量能力,以及對虛擬機(jī)資源調(diào)整的性能優(yōu)化。
參考文獻(xiàn):
[1]CHUOB S, POKHAREL M, PARK J S.Modeling and analysis of cloud computing availability based on eucalyptus platform for E-government data center[C]// 2011 Fifth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing. Seoul: IEEE Computer Society, 2011:289-296.
[2]XU M, CUI L, WANG H, et al.A multiple QoS constrained scheduling strategy of multiple workflows for cloud computing[C]//Parallel and Distributed Processing with Applications. Chengdu: IEEE International Symposium on.IEEE, 2009: 629-634.
[3]左利云, 曹志波, 董守斌.云計(jì)算虛擬資源的熵優(yōu)化和動(dòng)態(tài)加權(quán)評估模型[J]. 軟件學(xué)報(bào), 2013(8):1937-1946.
[4]張建華,張文博,徐繼偉,等.一種基于隱馬爾可夫模型的虛擬機(jī)失效恢復(fù)方法[J]. 軟件學(xué)報(bào), 2014(11):2702-2714.
[5]田冠華,孟丹,詹劍鋒.云計(jì)算環(huán)境下基于失效規(guī)則的資源動(dòng)態(tài)提供策略[J]. 計(jì)算機(jī)學(xué)報(bào), 2010, 33(10):1859-1872.
[6]曹潔,曾國蓀,鈕俊, 等.云環(huán)境下可用性感知的并行任務(wù)調(diào)度方法[J]. 計(jì)算機(jī)研究與發(fā)展, 2013, 50(7):1563-1572.
[7]胡丹丹,陳寧江,朱莉蓉,等.云基礎(chǔ)設(shè)施利潤驅(qū)動(dòng)的多目標(biāo)虛擬機(jī)資源調(diào)度[J]. 廣西大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,39(3):633-640.
[8]HU D, CHEN N, DONG S, et al.A user preference and service time mix-aware resource provisioning strategy for multi-tier cloud services[J]. Aasri Procedia, 2013, 5(3):235-242.
[9]FARAGARDI H R, SHOJAEE R, TABANI H, et al.An analytical model to evaluate reliability of cloud computing systems in the presence of QoS requirements[C]// 2013 IEEE/ACIS 12th International Conference on Computer and Information Science (ICIS). Niigata: IEEE Computer Society, 2013:315-321.
[10]SCHROEDER B, GIBSON G A.A large-scale study of failures in high-performance computing systems[J]. IEEE Transactions on Dependable & Secure Computing, 2009, 7(4):337-351.
[11]SHA W, ZHU Y, CHEN M, et al.Statistical learning for anomaly detection in cloud server systems: A multi-order markov Chain framework[J]. IEEE Transactions on Cloud Computing, 2015,99(3):2168-7161.
[12]KUMAR P, SINGH D, KAUSHIK A.Power and data aware best fit algorithm for energy saving in cloud computing[J]. International Journal of Computer Science & Information Technolo, 2014,5(5):6712-6715.
[13]CALHEIROS R N, RANJAN R, BELOGLAXOU A, et al. Clovdstm: a foolkit for modeling and simulation dould computing envvronment and evaluation of resource prorisioning algorithms[J]. Sofoware: Practice and Experience, 2011,41(1)23-50.
(責(zé)任編輯梁碧芬)
“無線傳感器網(wǎng)絡(luò)中高效節(jié)能的數(shù)據(jù)收集策略”
作者要求不上網(wǎng)
收稿日期:2016-02-28;
修訂日期:2016-03-21
基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(61063012,61363003); 國家科技支撐計(jì)劃課題項(xiàng)目(2015BAp5F02)
通訊作者:陳寧江(1975—),男,廣西南寧人,廣西大學(xué)教授,博士;E-mail:chnj@gxu.edu.cn。
doi:10.13624/j.cnki.issn.1001-7445.2016.0796
中圖分類號:TP393
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號:1001-7445(2016)03-0796-08
A dynamic adjustment strategy for virtual machines in cloud based on availability capability modeling
JIA Jiong-hao, CHEN Ning-jiang, LI Xiang, HUANG Ru-wei
(School of Computer, Electronics and Information, Guangxi University, Nanning 530004, China)
Abstract:The availability of resources brings great challenge into resource management in cloud environment. As for the ignorance of the impact of insufficient resourceson the availability of cloud systemin the precious research work,an availability-aware dynamic adjustment strategy for virtual machines, named ADAR, is proposed. It uses Markov model to characterize the availability capability of virtual machine to assess the impact of resource insufficiency on the application service in the future period, and makes corresponding adjustments according to the assessment. Simulation results provethe feasibility of ADAR strategy, which can effectively reduce the wasted resources and the makespan of task, and improve the system utilization.
Key words:virtual machine; resource adjustment; availability
引文格式: 賈炅昊,陳寧江,李湘,等.基于可用能力建模的云虛擬機(jī)動(dòng)態(tài)調(diào)整策略[J].廣西大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,41(3):796-803.