喻新榮,李志華,2,閆成雨,李雙俐
(1.江南大學 物聯網工程學院,江蘇 無錫 214122; 2.物聯網應用技術教育部工程研究中心(江南大學),江蘇 無錫 214122)(*通信作者電子郵箱wxzhli@aliyun.com)
云計算是一種新興的計算模式,它通過互聯網為全球提供可擴展、按需供應的服務[1],但是,云計算的廣泛使用使得數據中心的能源消耗不斷攀升[2]。而在整個數據中心,物理主機的能源消耗最為突出,其能耗與CPU的利用率近似呈線性關系[3],且空閑狀態的主機能耗相當于其能耗峰值的70%,因此,如何減少低利用率物理主機,同時保持良好的系統性能,是數據中心亟待解決的問題之一[4]。虛擬機整合(Virtual Machine Consolidation, VMC)通過在單個主機上部署多個虛擬機,提高主機CPU的利用率并關閉低利用率主機,從而降低數據中心的能源消耗[5];同時,周期性的整合能夠及時調整虛擬機和主機的映射關系,緩解由于虛擬機資源請求變化導致的主機過載風險,從而提升數據中心的服務質量(Quality of Service, QoS)。但是,虛擬機整合是一個NP問題[6],難以在多項式時間內求解,因此,文獻[7]將整合問題進行分解,通過解決過載物理主機檢測、待遷移虛擬機選擇、遷移虛擬機放置以及活動物理主機規模收縮四個子問題來整合虛擬機。
文獻[7]提出了靜態閾值(Static Threshold, ST)算法進行過載物理主機檢測,該算法通過給活動物理主機設置CPU資源利用率的上限和下限,來確保所有活動物理主機處于一個相對合理的資源利用率區間。然而,虛擬機的資源需求具有隨機性,設置固定的閾值難以適應各活動物理主機的工作負載變化,使得確保服務質量和節約能耗無法同時兼顧。
針對虛擬機工作負載的隨機性,文獻[8]提出了自適應主機過載檢測算法,包括絕對中位偏差(Median Absolute Deviation, MAD)算法、四分位距 (InterQuartile Range, IQR)算法和局部回歸 (Local Regression, LR)算法。其中,前兩個算法分別通過主機近期CPU資源利用率的絕對中位偏差和四分位距來確定主機上資源請求的波動區間,根據波動區間自適應地調整主機當前的過載閾值并用于過載檢測;LR算法通過主機CPU資源利用率歷史記錄直接預測下一時刻的資源利用率,然后根據資源利用率預測值判斷主機是否過載。同時,文獻[8]還提出了最小遷移時間(Minimum Migration Time, MMT)、隨機選擇(Random Choice, RC)和最大相關 (Maximum Correlation, MC)三個虛擬機選擇算法以及用于放置虛擬機的能耗感知最適降序(Power Aware Best Fit Decreasing, PABFD)算法。通過組合不同的過載檢測算法和選擇策略進行對比研究,證實使用MAD與MMT相結合的整合方法能夠有效地降低數據中心能耗并且確保服務質量;但是,主機負載出現突然性的波動會增大MAD算法的絕對中位偏差,導致過載閾值不精確,進一步影響節約能耗的目標。PABFD算法在放置虛擬機時傾向于將虛擬機部署在資源利用率較高的主機上,容易導致過度的虛擬機整合,從而影響服務質量。
從已有的虛擬機整合方法中發現,精確的工作負載預測對優化整合目標大有裨益。其中,文獻[9]使用三次指數平滑算法(Holt-Winters’ exponential smoothing method)對虛擬機負載進行預測,并且針對三次指數平滑法只能進行短期預測這一缺點,提出參數自動優化的模型,該模型能夠調整預測模型的參數和設置合理的預測周期長度;文獻[10]提出了基于線性回歸的CPU資源利用率預測(Linear Regression-based CPU Utilization Prediction, LiRCUP)算法,通過線性回歸對主機CPU資源使用情況進行預測,并利用預測結果進行虛擬機整合。雖然上述的兩種方法在降低數據中心能耗方面表現優秀,但都未對服務質量進行深入的研究。
本文在以往研究的基礎上,提出基于高斯混合模型的虛擬機整合(Gaussian Mixture Model-based Virtual Machine Consolidation, GMM-VMC)方法。該方法首先使用高斯混合模型(Gaussian Mixture Model, GMM)[15]為物理主機建立工作負載的隨機模型,通過該模型計算主機的過載概率;然后根據主機過載概率自適應地計算各主機的過載閾值并用于主機過載檢測。當過載主機上的虛擬機被選擇為待遷移虛擬機時,該主機的過載概率會被重新計算并作為最后遷移選擇的依據之一;同樣在放置虛擬機時,根據主機負載的高斯混合模型所計算的主機過載概率是確定最終虛擬機放置策略的參考依據。
為了清晰地描述本文觀點和論證相關方法,在此對云計算數據中心的一些相關概念進行相應描述。在一個數據中心里有許多不同配置的物理主機H={h1,h2,…,hn},物理主機hi有各自的CPU資源配置,可以表示為Ci;VM={vm1,vm2,…,vmm}是整個數據中心虛擬機的集合,這些虛擬機分別部署在不同的物理主機上,rj表示虛擬機vmjCPU資源請求的容量;VMi表示部署在主機hi上的虛擬機集合。當虛擬機集合VMi部署在主機hi上并產生相應的資源請求,那么主機接收到的CPU資源需求容量Di如式(1)所示,主機的CPU資源利用率如式(2)所示。
(1)
(2)
其中aj表示分配給虛擬機vmj的CPU資源量。
文獻[11-14]用正態分布來描述虛擬機上CPU資源請求的分布模型,并通過各自的方法將部署在物理主機上各虛擬機的負載模型進行累加,從而得到主機CPU資源利用率的分布模型,但是,使用單峰正態分布去描述虛擬機資源需求的隨機模型不具備通用性,尤其是當實際的資源需求為多峰分布時,正態分布偏差較大,不能完全擬合資源需求的分布情況,因此,由累加虛擬機需求分布得到的物理主機負載分布模型也不夠準確。針對這一問題,本文使用高斯混合模型(GMM)對主機的負載分布進行擬合。以下對在主機上建立GMM的具體過程進行描述。
假設主機hi接收到的CPU資源需求Di服從某個隨機分布,該分布可用高斯混合模型來近似表示。若高斯混合模型是由K個高斯模型組成,那么Di的概率分布模型如式(3)所示:
(3)

Di的高斯混合模型參數將通過期望最大化(Expectation Maximization, EM)算法來估算,具體步驟如下所示:
步驟1設定高斯混合模型參數的初始值。

(4)
步驟3通過式(5)~(7)計算新一輪迭代的模型參數:

(5)

(6)
(7)
步驟4重復以上兩個步驟,至模型參數收斂。
主機過載是指虛擬機請求的資源量超出了物理主機所能提供的最大資源量,從而導致虛擬機資源請求不能夠被滿足而影響云服務質量的情況。結合1.2節介紹的隨機負載模型,可以對物理主機的過載概率進行估計,過載概率如式(8)所示。通過主機過載概率可以反映出當前該主機面臨過載風險的大小:當過載風險較大時,整合方法應使主機預留充足的資源應對負載變化,從而確保服務質量;當過載風險較小時,主機的資源利用率應適當提高,從而達到降低數據中心能耗的目的。

(8)
由于數據中心的工作負載具有隨機性,活動物理主機經常面臨過載風險。一旦主機過載,就會對服務質量和服務等級協議(Service Level Agreement, SLA)產生影響,因此,在進行虛擬機整合時,及時預測主機的負載變化,有利于主機規避過載風險,確保云計算供應商和用戶雙方的利益。

(9)

GAOHD算法描述如下。
算法1GAOHD算法。
輸入H;
輸出Hover。
步驟1獲取數據中心各物理主機H={h1,h2,…,hn},并按照當前的順序,對每個主機進行步驟2到步驟4的過載檢測。
步驟2使用EM算法估算主機hi的GMM參數。
步驟4將主機當前的CPU資源利用率ui和過載閾值Ti進行對比,如果ui>Ti,則將主機hi加入到過載主機集合中。
步驟5輸出過載物理主機集合Hover并結束。
GAOHD算法的時間開銷主要來自于過載閾值的求解,而要計算過載閾值需要首先確定主機負載的高斯混合模型參數。因為使用EM算法求解GMM參數的時間復雜度為O(ρ·K·N),所以GAOHD算法的時間復雜度為O(ρ·K·N·|Hactive|)。其中:ρ為EM算法迭代次數,K為高斯混合模型中分模型的個數,N為觀測數據長度,|Hactive|為數據中心需要進行過載檢測的活動物理主機數量。最初的ST檢測算法求解主機過載閾值的時間復雜度為O(|Hactive|),但是ST算法在整合開始時為所有物理主機設定統一的固定過載閾值,無法根據主機負載對檢測過程作出調整,難以適應主機負載的變化。為克服固定閾值的缺陷,基于自適應閾值的過載檢測算法被提出,其中最為經典的MAD算法的時間復雜度為O(N·|Hactive|)。與MAD相比,GAOHD算法的復雜度明顯偏高,但是MAD算法在追求快速運算的同時也忽略了對主機負載的準確預測,這一點從3.3節的實驗結果部分可以看出,因此,GAOHD算法的目的是在合理的運算時間內,盡可能準確地預測主機負載變化。
物理主機的過載會給云服務的使用者和提供商的利益帶來影響,因此,解決物理主機過載就成為虛擬機整合過程中重要的部分。通常,解決過載的方式是將一些虛擬機從面臨過載風險或已經過載的主機上遷出,緩解當前主機上資源緊張的狀態。在進行待遷移虛擬機選擇時,需要考慮到遷移操作將會影響遷移中虛擬機的服務質量,同時也要兼顧遷移的有效性即遷移選擇應有助于當前主機保持長期的穩定。
本文在MMT選擇算法的基礎上結合主機過載概率,提出最低內存容量和過載概率選擇(Minimum RAM and Overload Probability Selection, MROPS)算法來進行虛擬機選擇。該算法通過內存和過載概率綜合指標(Ram and Probability, RAP)進行虛擬機選擇:
(10)

(11)

MROPS算法描述如下。
算法2MROPS算法。
輸入Hover;
輸出VMa。
步驟1獲取過載物理主機的集合Hover,并按照當前的順序對每個主機hi∈Hover進行步驟2到步驟3的虛擬機選擇。
步驟2使用式(10)得到主機hi上遷出后的RAP指標,然后根據式(12)選擇出該指標最小的虛擬機:
(12)
并將vmmig加入當前主機的待遷移虛擬機集合VMS中。
步驟3判斷當前主機是否滿足式(11),如果不滿足則繼續對當前主機執行步驟2;否則,將當前主機的待遷移虛擬機集合VMS加入到所有待遷移虛擬機集合VMa中,然后對下一個主機進行虛擬機選擇。
步驟4輸出所有待遷移虛擬機集合VMa并結束。
MMT算法在進行虛擬機選擇時,主要參考虛擬機內存的大小,采用該算法能夠確保主機負載的穩定性。MMT算法的時間復雜度為O(|VMi|),其中|VMi|為主機上虛擬機的個數。MROPS算法在MMT算法的基礎上加入主機過載概率作為虛擬機選擇的參考指標,根據上一節對過載概率求解的分析,MROPS算法的時間復雜為O(ρ·K·N·|VMi|),MROPS算法雖然時間復雜度偏高,但是在降低整合過程中虛擬機的遷移次數和穩定主機負載方面比MMT算法表現優秀,具體的對比見3.3節。
待遷移虛擬機需要遷移到新的目的主機繼續運行,當虛擬機部署到目的主機上,該主機的資源需求必然發生變化,過載風險隨之提高,因此,合理的放置策略是在盡量降低主機過載風險的前提下提升主機資源利用率。

具體MOPP算法描述如下。
算法3MOPP算法。
輸入Ha,VMa;
輸出Map〈host,vm〉。
步驟1獲取適合放置虛擬機的活動物理主機集合Ha∈{H-Hover-Hs}(Hs為處于休眠或關閉狀態的虛擬機集合)。
步驟2對待分配虛擬機按資源請求降序排列,并對集合中的每一個虛擬機進行步驟3到步驟5的放置步驟。
步驟3將待遷移虛擬機vmj(vmj∈VMa)依次部署在Ha的各個主機上,并根據式(8)求得放置后各主機的過載概率。
步驟4根據式(13)選擇最優的主機進行放置:
(13)
步驟5將當前求得的分配關系加入到分配映射集合Map〈host,vm〉中。
步驟6輸出待分配虛擬機新的放置關系集合。
MOPP算法與經典的PABFD算法有著明顯的不同。PABFD主要關注能耗增量,時間復雜度為O(|VMa|·|Ha|),其中:|VMa|為待放置虛擬機數量,|Ha|為適合放置的活動物理主機數量。而MOPP算法關注的是虛擬機重新部署后主機的穩定性,其時間復雜度為O(|VMa|·|Ha|·ρ·K·N),主要體現在計算放置虛擬機后主機負載的高斯混合模型,并求得當前的過載概率用于新目的主機的挑選。雖然PABFD算法的時間復雜度較低但是在穩定主機負載方面不如MOPP算法;而MOPP算法通過更復雜的計算判斷放置后的主機穩定性,從而確保充分利用主機資源,降低數據中心能源消耗。
由于數據中心工作負載的不確定性,活動物理主機不僅可能出現過載狀況,也有可能出現主機CPU資源利用率偏低的情況,這就容易導致資源浪費,因此,通過遷移低負載物理主機上的所有虛擬機并關閉該主機,以此來提高活動物理主機的CPU資源利用率,從而達到節約能耗的目的。所以在收縮活動物理主機規模時,首先挑選CPU資源利用率最低的物理主機,嘗試將該主機上所有的虛擬機都遷移出去,并且使用MOPP算法放置到合適的目的主機上。如果該主機上所有的虛擬機都能被合理地放置,就說明該主機可以被關閉。循環執行上述步驟,直到當前數據中心中的物理主機都不能遷出全部虛擬機為止。
結合前文提出的GAOHD、MROPS、MOPP算法以及活動物理主機規模收縮的過程,提出了GMM-VMC方法,該方法主要包括四個執行過程:首先,使用GAOHD算法檢測出當前數據中心存在過載風險的物理主機;然后,使用MROPS算法從過載主機中選出待遷移虛擬機,解除主機過載風險;接著,使用MOPP算法將待分配的虛擬機集合放入合適的活動物理主機;最后,通過收縮活動物理主機規模減少整個數據中心活動物理主機的數量。
具體的GMM-VMC方法描述如下。
步驟1使用GAOHD算法得到過載物理主機集合。具體步驟為:首先采用高斯混合模型對各活動物理主機的工作負載進行擬合,得到的各個高斯混合模型能夠準確地描述對應主機的近期負載變化;然后根據高斯混合模型計算相應的過載概率,通過過載概率求得自適應的主機過載閾值;最后根據主機當前的過載閾值進行過載檢測。與ST算法相比,GAOHD算法采用自適應的閾值計算法方式,能夠及時適應主機負載變化,對虛擬機整合過程進行調整。MAD、IQR和LR算法雖然也采用自適應的閾值計算方式,但是在對主機負載的描述方面遠遠沒有高斯混合模型精確。通過高斯混合模型對主機負載的準確預測能確保主機長時間的穩定,從而對整合方法的服務質量指標有相當大的提升。
步驟2使用MROPS算法對每個過載物理主機進行虛擬機選擇,并得到待遷移虛擬機集合。MROPS算法在虛擬機選擇的過程中加入主機過載概率作為選擇依據,優先選擇遷移后主機工作負載更加穩定的虛擬機。所以,MROPS算法比MMT、RC、MC等虛擬機選擇算法更加有利于數據中心活動物理主機的負載穩定,能夠相應地提升服務質量。
步驟3使用MOPP算法將待分配虛擬機放入合適的物理主機。MOPP算法在為虛擬機進行新的目的主機挑選時,注重放置后主機工作負載的穩定性,避免了PABFD算法因追求低能耗帶來的過度整合。由于MOPP算法提升了主機負載的穩定性,所以在整合過程中主機不要預留過多的資源應對負載的突然變化,從而可以更加充分地利用主機資源,降低數據中心的能源消耗。
步驟4進行活動物理主機規模收縮。該過程通過將低負載主機上的虛擬機重新部署到其他主機上,提升整個數據中心的主機資源利用率。在重新部署時,用高斯混合模型預測放置后的主機負載,以確保服務質量不受到影響。
步驟5結束。
本文使用CloudSim[16]作為實驗平臺,該平臺由CLOUDBUS實驗室所研發,是當今研究虛擬機整合的主要仿真工具之一。平臺包含了CoMon項目中PlanetLab研究的相關數據,其中有超過1 300臺虛擬機在10 d運行過程中的CPU資源利用率記錄。
在模擬整合過程中,數據中心將創建800臺物理主機。這些物理主機的型號為:HP ProLiant ML110 G4(Intel Xeon 3040 2cores 1 860 MHz, 4 GB)與HP ProLiant ML110 G5(Intel Xeon 3075 2cores 2 260 MHz, 4 GB)這兩種。對應于PlanetLab中某一天每個虛擬機CPU資源利用率記錄,數據中心會創建相應個數的虛擬機,這些虛擬機分成多個種類:High-CPU Medium Instance (2 500 MIPS, 0.85 GB)、Extra Large Instance (2 000 MIPS, 3.75 GB)、Small Instance (1 000 MIPS, 1.7 GB)、Micro Instance (500 MIPS, 613 MB)。
為合理、有效地評價GMM-VMC方法的有效性,本文采用了文獻[8]提出的評價指標來對各個整合方法進行對比。這些評價指標分別是:數據中心物理主機的能源消耗(Energy Consumption, EC),每個活動物理主機違背SLA的平均時間比(SLA violation Time per Active Host, SLATAH),虛擬機遷移所帶來的服務性能下降比例(Performance Degradation due to Migration, PDM),服務等級協議違背率(SLA Violation, SLAV),虛擬機遷移次數Migrations,能耗與服務等級協議違背率綜合指標(Energy and SLA Violation, ESV)。
文獻[6,8]在CloudSim平臺上對虛擬機整合過程進行了深入的研究,并提出相應的算法。其中包括用于虛擬機放置的PABFD,物理主機過載檢測檢測算法ST、MAD、IQR、LR,虛擬機選擇算法MMT、RC、MC。通過將這些算法組合,可以得到12個不同的虛擬機整合方法,每一個整合方法都包含過載檢測算法、虛擬機選擇算法和放置算法。四種過載檢測算法都有各自的安全系數:當安全系數設置得越大,表明過載檢測時將注重主機的穩定性以確保服務質量;相反安全系數越小,檢測算法就會放棄一些穩定性來追求主機資源的充分利用,以達到節約能源的目的。通過對各檢測算的不同安全參數取值進行實驗對比,發現將MAD、IQR、LR、ST的安全參數分別設置為2.5,1.5,1.2,0.8時能夠讓相應的整合方法在節約能耗和保證服務質量方面做到相對的均衡。本文提出的GMM-VMC方法的安全參數設置為2.0,過載閾值上限Tmax設為1,均為經驗值。
表1列出了各虛擬機整合方法在能耗和服務質量方面的結果,由于PlanetLab中有10 d的數據,所以在表中列出的是10 d數據仿真結果的均值。通過表1可以對各個方法在EC、SLAV以及ESV指標上進行對比。由表1可以看出:本文提出的GMM-VMC方法在這三個指標中表現都非常優秀;相比其他整合方法,GMM-VMC降低了數據中心的能源消耗,同時在服務質量方面有很大的提升。為作圖清晰,圖1~3中的各虛擬機整合算法用表1中的序號代替。
圖1描述了各個整合方法所對應的虛擬機遷移次數。通過圖1對比發現GMM-VMC的遷移次數最少,而且結合表1可知該方法降低遷移次數的同時大幅提升了服務質量。這就說明,根據主機負載模型得到的主機過載閾值設置合理,能有效地提高主機資源利用率,降低數據中心的能耗;該模型使也得主機處于長期穩定的狀態。其他算法中,使用MMT作為虛擬機選擇算法的整合方法遷移次數比較高,這是因為MMT算法每次選擇遷移時間最少的虛擬機,所以解除過載時較其他算法必然需要更多的遷移次數。

表1 各個算法能耗及服務質量數據Tab. 1 Results of EC and QoS by algorithms

圖1 虛擬機遷移次數對比Fig. 1 Comparison of VM migration times
虛擬機從源主機遷移到新的目的主機,必然會對虛擬機所提供的計算服務產生影響。圖2對比了各算法在整合過程中由虛擬機遷移產生的PDM。從圖2可以看出,使用MMT作為選擇算法的整合方法在PDM上低于其他選擇算法。根據圖1中遷移次數的表現,可知雖然MMT算法虛擬機遷移次數多,但是遷移時間短,所帶來的服務質量下降也就少。GMM-VMC方法由于遷移次數少,而且MROPS算法總是選擇遷移時間少且遷移后主機過載概率低的主機,所以在PDM這一指標上表現依然優秀。

圖2 虛擬機遷移引起的服務質量下降對比Fig. 2 Comparison of PDM due to migration
虛擬機整合最主要的目的之一就是確保服務質量,而主機負載穩定則是確保服務質量的首要前提。圖3對衡量數據中心主機過載情況的SLATAH指標進行了對比。從圖3可以看出,GMM-VMC方法在SLATAH這一指標上領先于其他整合方法。由于GMM-VMC方法對主機工作負載的建模準確度高,通過自適應的過載閾值調整物理主機和虛擬機之間的映射關系,所以過載情況大量減少。而使用MMT作為選擇算法的整合方法在解除主機過載風險時遷移較多的虛擬機,所以使得主機留有更多資源應對負載變化,從而提升了服務質量。

圖3 活動物理主機違背SLA的平均時間對比Fig. 3 Comparison of SLATAH
根據表1中的數據和圖1~3的對比可以發現,不同的過載檢測算法搭配MMT作為虛擬機選擇算法的整合方法比搭配其他選擇算法的整合方法在PDM指標上降低了21%~34%,同樣在SLATAH指標上也降低了17%~28%。MMT算法在服務質量方面總體表現較好的原因是MMT算法解除主機過載時會遷移較多的虛擬機,這使得采用MMT算法的整合方法需要開啟更多的活動物理主機來放置虛擬機,因此虛擬得到的主機資源相對充足;同時開啟較多的活動物理主機也導致MMT算法在能耗上的表現不如其他算法,但相比MMT算法在服務質量方面的提升幅度,其在節約能耗方面的不足就能夠被接受了。在使用MMT作為選擇算法的整合方法中,LR-MMT- 1.2方法的能耗最低,但是其在服務質量方面的表現遠不及能耗次低的MAD-MMT- 2.5方法,因此,為了更深入地對GMM-VMC方法進行論證,接下來對GMM-VMC方法和在能耗和服務質量的表現上都較為均衡的MAD-MMT- 2.5方法進行更多指標的詳細對比。
圖4反映的是在虛擬機整合過程中數據中心活動物理主機的變化。因為GMM-VMC需要一段工作負載來建立主機負載模型,所以在1到12次整合中GMM-VMC和MAD-MMT采用了同樣的整合方法,即ST-MMT- 0.7。根據圖4中顯示,在第12次整合之后,采用GMM-VMC方法的活動物理主機的數量明顯低于MAD-MMT方法。最終,GMM-VMC方法使得活動物理主機數在40到45的范圍內且波動性不大。MAD-MMT方法使得活動物理主機在55到60之間,且整合過程中主機數波動大于GMM-VMC方法。GMM-VMC方法能夠將虛擬機集中在部署在較少的物理主機上,因此其能耗低于MAD-MMT方法。
將數據中心活動物理主機數控制在較低的水平充分說明GMM-VMC算法在整合上的有效性。接下來,通過圖5來說明GMM-VMC算法在整合時的速度。圖5對比了兩種方法在整合過程中虛擬機遷移次數的變化。在第12次整合之后GMM-VMC方法經過一個短暫的頻繁遷移之后,遷移次數大幅降低并穩定于40次上下;MAD-MMT方法則沒有急劇的變化,而是逐漸減少最終在80次上下波動。GMM-VMC方法在整合時使得數據中心虛擬機的放置更加穩定,從而帶來其在虛擬遷移次數上的優勢。遷移次數直接影響服務質量,這也是GMM-VMC方法在服務質量上表現出色的原因。經過圖4、5兩個指標的詳細對比,驗證了GMM-VMC方法在整合時的高效性。

圖4 活動物理主機數變化Fig. 4 Changes of active physical hosts

圖5 虛擬機遷移次數的變化Fig. 5 Changes of VM migration times
針對云數據中心由于資源請求的隨機性容易導致主機負載不穩定的問題,本文通過使用GMM建立主機工作負載模型,提出了GMM-VMC方法。該方法在整合過程中利用主機負載模型自動調整物理主機過載閾值,并且將主機負載模型應用到虛擬機選擇和放置的決策過程當中。實驗表明,GMM-VMC方法在減少能耗的同時能夠有效地改善服務質量,這也說明了GMM對主機工作負載進行建模的有效性。GMM-VMC方法主要考慮的是與能耗和服務質量最為相關的CPU資源,在實驗中其他主機資源都被認為是資源量充足暫未進行考慮,如何兼顧實際數據中心中所有的影響因素,研究出更為高效、實用的虛擬機整合方法將是未來研究的重點。
參考文獻(References)
[1]GOSCINSKI A, BROCK M. Toward dynamic and attribute based publication, discovery and selection for cloud computing [J]. Future Generation Computer Systems, 2010, 26(7): 947-970.
[2]MOSA A, PATON N W. Optimizing virtual machine placement for energy and SLA in clouds using utility functions [J]. Journal of Cloud Computing, 2016, 5(1): 17.
[3]FAN X B, WEBER W D, BARROSO L A. Power provisioning for a warehouse-sized computer [C]// Proceedings of the 34th Annual International Symposium on Computer Architecture. New York: ACM, 2007: 13-23.
[4]房丙午,黃志球.云計算中能耗和性能感知的虛擬機優化部署算法[J].計算機工程與科學,2016,38(12):2419-2424. (FANG B W, HUANG Z Q. An energy-and-performance-aware virtual machine placement optimization algorithm in cloud computing [J]. Journal of Computer Engineering & Science, 2016, 38(12): 2419-2424.)
[5]劉德欣,閆永明,郭軍,等.云環境下基于多目標決策的待整合服務器選擇方法研究[J].小型微型計算機系統,2016,37(4):699-704. (LIU D X, YAN Y M, GUO J, et al. Method of selecting consolidating server in cloud environment based on multi-objective decision [J]. Journal of Chinese Computer Systems, 2016, 37(4): 699-704.)
[7]BELOGLAZOV A, ABAWAJY J, BUYYA R. Energy-aware re-source allocation heuristics for efficient management of data centers for cloud computing [J]. Future Generation Computer Systems, 2012, 28(5): 755-768.
[8]BELOGLAZOV A, BUYYA R. Optimal online deterministic algo-rithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers [J]. Concurrency and Computation: Practice and Experience, 2012, 24(13): 1397-1420.
[9]CAO J, WU Y H, LI M L. Energy efficient allocation of virtual machines in cloud computing environments based on demand forecast [J]. Advances in Grid and Pervasive Computing, 2012, 7296: 137-151.
[10]FARAHNAKIAN F, LILJEBERG P, PLOSILA J. LiRCUP: linear regression based CPU usage prediction algorithm for live migration of virtual machines in data centers [C]// Proceedings of the 39th EUROMICRO Conference on Software Engineering and Advanced Applications. Washington, DC: IEEE Computer Society, 2013: 357-364.
[11]YU L, CHEN L, CAI Z, et al. Stochastic load balancing for virtual resource management in datacenters [J]. IEEE Transactions on Cloud Computing, 2016, PP(99): 1-1.
[12]CHEN M, ZHANG H, SU Y Y, et al. Effective VM sizing in virtualized data centers [C]// Proceedings of the 2011 IFIP/IEEE International Symposium on Integrated Network Management. Piscataway, NJ: IEEE, 2011: 594-601.
[13]JIN H, PAN D, XU J, et al. Efficient VM placement with multiple deterministic and stochastic resources in data centers [C]// Proceedings of the 2012 IEEE Global Communications Conference. Piscataway, NJ: IEEE, 2012: 2505-2510.
[14]WANG M, MENG X, ZHANG L. Consolidating virtual machines with dynamic bandwidth demand in data centers [C]// INFOCOM 2011: Proceedings of the 30th IEEE International Conference on Computer Communications, Joint Conference of the IEEE Computer and Communications Societies. Piscataway, NJ: IEEE, 2011: 71-75.
[15]STAUFFER C, GRIMSON W E L. Adaptive background mixture models for real-time tracking [C]// Proceedings of the 1999 Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 1999: 246-252.
[16]CALHEIROS R N, RANJAN R, BELOGLAZOV A, et al. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms [J]. Software Practice & Experience, 2011, 41(1): 23-50.