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

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











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

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

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

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

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

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

圖3Makespan對比
Fig.3Comparison of Makespan

圖4系統利用率對比
Fig.4Comparison of system utilization
在大規模云計算實際應用,虛擬機的個數成千上萬,虛擬機失效分布趨于明顯,虛擬機失效帶來很大資源浪費,同時資源缺乏造成虛擬機可用能力低下的問題也變得很嚴重。本文的ADAR策略可以對虛擬機可用能力做出評估,及時調整虛擬機資源,可以有效的降低因虛擬機失效帶來的資源浪費和很好保障用戶的QoS,有助于提高用戶滿意度,減少云計算服務商的損失。
4結語
本文提出一種可用性感知的虛擬資源動態調整策略(ADAR),解決現有虛擬機可用性研究中難以準確評估虛擬機的資源可用服務能力的問題,周期性對虛擬機進行可用度度量,同時通過馬爾科夫模型評估虛擬機可用能力,根據度量和評估結果對虛擬機資源動態調整,通過仿真實驗驗證ADAR策略在提高系統整體的利用率和保障用戶的QoS方面具有良好的效果。下一步工作將在實際應用系統中繼續驗證和完善該策略,細化可用能力模型對更豐富的失效類型或不可用情境的度量能力,以及對虛擬機資源調整的性能優化。
參考文獻:
[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]. 軟件學報, 2013(8):1937-1946.
[4]張建華,張文博,徐繼偉,等.一種基于隱馬爾可夫模型的虛擬機失效恢復方法[J]. 軟件學報, 2014(11):2702-2714.
[5]田冠華,孟丹,詹劍鋒.云計算環境下基于失效規則的資源動態提供策略[J]. 計算機學報, 2010, 33(10):1859-1872.
[6]曹潔,曾國蓀,鈕俊, 等.云環境下可用性感知的并行任務調度方法[J]. 計算機研究與發展, 2013, 50(7):1563-1572.
[7]胡丹丹,陳寧江,朱莉蓉,等.云基礎設施利潤驅動的多目標虛擬機資源調度[J]. 廣西大學學報(自然科學版),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.
(責任編輯梁碧芬)
“無線傳感器網絡中高效節能的數據收集策略”
作者要求不上網
收稿日期:2016-02-28;
修訂日期:2016-03-21
基金項目:國家自然科學基金資助項目(61063012,61363003); 國家科技支撐計劃課題項目(2015BAp5F02)
通訊作者:陳寧江(1975—),男,廣西南寧人,廣西大學教授,博士;E-mail:chnj@gxu.edu.cn。
doi:10.13624/j.cnki.issn.1001-7445.2016.0796
中圖分類號:TP393
文獻標識碼: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].廣西大學學報(自然科學版),2016,41(3):796-803.