文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.11.036
中文引用格式: 吳軍,張軼君,白光偉. Xen下虛擬機動態(tài)遷移優(yōu)化策略的研究[J].電子技術(shù)應(yīng)用,2015,41(11):128-131.
英文引用格式: Wu Jun,Zhang Yijun,Bai Guangwei. Dynamic optimization research strategy based on Xen virtual machine migration[J].Application of Electronic Technique,2015,41(11):128-131.
0 引言
在虛擬化環(huán)境中,動態(tài)遷移的虛擬機[1]是一個強大的管理工具,它促進系統(tǒng)維護、負載平衡、容錯及電源管理。由于動態(tài)工作負載使得有些節(jié)點利用率低下而有些節(jié)點卻不堪重負,為了解決虛擬機物理節(jié)點之間的負載平衡問題,提出虛擬機遷移策略。
預復制技術(shù)[2-3]在高帶寬低負載的環(huán)境中性能優(yōu)越,但處于低帶寬高負載的情況時性能卻表現(xiàn)較弱,導致停機切換時間和總遷移時間較長,影響了虛擬機的正常服務(wù)。而本文將傳統(tǒng)預復制技術(shù)與相關(guān)預測算法、趨勢判斷算法結(jié)合,并利用自適應(yīng)停機閾值機制取代預復制技術(shù)固定閾值機制,從而有效減少了遷移過程中的總時間及停機時間。
1 相關(guān)工作
最近幾年,國內(nèi)外很多學者針對預復制技術(shù)在低帶寬高負載環(huán)境下的運行效率問題提出了很多完善和優(yōu)化方法。例如Chen Yang[4]等人在2011年提出一個基于內(nèi)存混合復制方式的動態(tài)遷移機制HybMEC,結(jié)合按需和內(nèi)存推送兩種復制方式來提高實時遷移性能;Hai Jin,Li Deng[5]等學者在2014年提出一個適應(yīng)性壓縮方法模型MECOM,針對不同內(nèi)存頁面的特征使用相應(yīng)的壓縮算法來降低頁面?zhèn)鬏敶笮?。不同于以上各類?yōu)化方法,本文從預復制技術(shù)如何在低帶寬高負載的環(huán)境下有效判斷最優(yōu)停機時機的角度對虛擬機實時遷移性能進行研究,旨在達到更好的遷移水平。
2 傳統(tǒng)預復制技術(shù)介紹及其優(yōu)劣性分析
隨著虛擬化技術(shù)不斷發(fā)展,Clark、Nelson等人[2-3]相繼提出了預復制動態(tài)遷移技術(shù),預復制的遷移過程如圖1所示(主機A為源主機,主機B為目的主機)。
雖然預拷貝技術(shù)在對應(yīng)用及用戶影響較小的情況下極大減少了停機時間,適合遷移寫操作不頻繁的負載,但該技術(shù)仍存在以下問題:例如迭代過程中,進行多次迭代會增加遷移總時間,迭代不足又會增加不必要的停機時間,所以迭代次數(shù)的確定受到網(wǎng)絡(luò)傳輸帶寬及負載類型的影響;當臟頁率大于或等于頁面?zhèn)鬏斔俾蕰r,迭代過程可能進入不收斂狀態(tài)等情況。
3 基于Xen虛擬機改進后的遷移機制
在Xen[6]整個遷移過程中,最復雜的部分當屬內(nèi)存遷移。本文在研究傳統(tǒng)Xen內(nèi)存遷移機制的基礎(chǔ)上對傳統(tǒng)遷移方案進行了優(yōu)化。傳統(tǒng)Xen內(nèi)存遷移機制如圖2所示。
由圖2可知,遷移執(zhí)行模塊實際負責了整個遷移過程的大部分工作,因而該模塊尤為重要,但在其實現(xiàn)過程中仍有不足之處:(1)在臟頁率較高的情況下,增加了臟頁重復傳輸?shù)母怕省?2)在第1輪迭代過程中,不需要傳輸所有的內(nèi)存頁,因為許多頁在以后的迭代過程中被再次修改,需要再次迭代傳輸。
針對以上不足,本文提出一種改進機制,如圖3所示。除了對內(nèi)存頁進行信息監(jiān)控,還通過先使用預測模型對后輪臟頁率進行預測,在此基礎(chǔ)上對臟頁率的變化趨勢進行分析,使之與數(shù)據(jù)傳輸率進行比較,結(jié)合自適應(yīng)停機閾值機制使虛擬機在低帶寬高負載的環(huán)境下也能有很好的表現(xiàn)。
4 改進后Xen遷移算法的實現(xiàn)
4.1 馬爾科夫臟頁預測
預測概率算法使用馬爾科夫模型[7]。本文設(shè)定狀態(tài)E1表示內(nèi)存頁沒有被讀、寫,設(shè)定狀態(tài)E2表示內(nèi)存頁只讀,設(shè)定狀態(tài)E3表示內(nèi)存頁被修改,默認遷移開始前的狀態(tài)為E1。相關(guān)概念和計算公式如下:
(1)狀態(tài)轉(zhuǎn)移概率矩陣:假定內(nèi)存頁有n個可能的狀態(tài),即E1,E2,E3…En,本文使用pij表示內(nèi)存頁的狀態(tài)從Ei變成Ej的狀態(tài)轉(zhuǎn)移概率,狀態(tài)轉(zhuǎn)移概率矩陣為:
(2)狀態(tài)概率:狀態(tài)概率表示內(nèi)存頁的初始狀態(tài)已知,內(nèi)存頁的狀態(tài)轉(zhuǎn)移k次后變成狀態(tài)Ej的概率,且:
由馬爾科夫假設(shè)和貝葉斯條件概率公式得:
設(shè)定行向量π(k)=[π1(k),π2(k),…πn(k)],由公式得到狀態(tài)概率的遞推公式:
由于只需要預測臟頁的狀態(tài)概率,本文設(shè)置初始狀態(tài)行向π(0)=[0,0,1]。
4.2 Mann—Kendall趨勢變化檢驗
當預測出后輪的臟頁率高于網(wǎng)絡(luò)傳輸帶寬時,改進后的遷移機制利用Mann—Kendall檢驗?zāi)P蚚8]對臟頁率時間序列進行趨勢分析,以確定停機時間。該模型是一種非參數(shù)檢驗類型的時間序列趨勢分析方法,其優(yōu)點是不要求時間序列符合一定的分布,受異常值的影響較小,而且計算簡便。采用Mann—Kendall模型檢驗臟頁率變化趨勢的過程如下:
(1)假設(shè)臟頁率時間序列D={d1,…,dn}無趨勢;
(2)如下計算統(tǒng)計量S:
S為正態(tài)分布,其均值為0,方差為:
其中Median為取中值函數(shù),當β>0時說明有上升的趨勢,當β<0則表示下降的趨勢。
4.3 自適應(yīng)閾值機制的引入
根據(jù)上述臟頁率的預測及趨勢分析方法,本文在預拷貝算法固定閾值的基礎(chǔ)上引入了自適應(yīng)停機閾值機制[8],具體實現(xiàn)如下所述:迭代拷貝過程中,統(tǒng)計每個迭代輪中的臟頁率以構(gòu)成一個時間序列,在每輪結(jié)束時首先對后輪的臟頁率進行預測。若預測出臟頁率大于等于數(shù)據(jù)傳輸率,則進一步對臟頁率時間序列進行趨勢判斷,若判斷結(jié)果為上升或平穩(wěn)趨勢,則判定后面的迭代輪會進入到“無法收斂”狀態(tài),那么就立即進入停機拷貝階段;否則,說明臟頁率的變化不會導致“無法收斂”狀態(tài),則按原算法繼續(xù)進行。通過加入該機制,遷移過程中可以實時監(jiān)測臟頁率的變化情況,一旦發(fā)現(xiàn)有進入“無法收斂”的趨勢就能在達到固定迭代次數(shù)閾值之前進行停機拷貝,有效避免拖延總遷移時間,及時控制停機時間。
5 實驗及分析
為了保證實驗環(huán)境的穩(wěn)定性,測試出更精確的實驗結(jié)果,測試中構(gòu)建了一個小的私有云平臺,基本可以滿足Xen虛擬機動態(tài)遷移的實驗要求。其中使用兩臺普通PC分別做為源主機Host A和目的主機Host B,另一臺PC作為連接源主機和目的主機的NFS服務(wù)器,為動態(tài)遷移提供NFS文件共享服務(wù),并且使用了一臺100 M交換機連接這幾臺PC。該實驗環(huán)境為3臺PC配置相同的物理主機,CPU是Intel Core i5-3210 M,其工作頻率是2.50 GHz,內(nèi)存是2 048 M,硬盤是320 G,虛擬平臺為 Xen 4.3.1。
本實驗采用開源系統(tǒng)測試軟件Lmbench為虛擬機測試寫操作任務(wù),使用其bw_mem命令對CPU性能進行測試,同時,修改bw_mem.c的wr函數(shù),通過庫函數(shù)usleep對內(nèi)存寫速度進行調(diào)整,借此測試程序為實時遷移中的虛擬機提供如下三種負載:(1)臟頁率上升的寫操作;(2)臟頁率下降的寫操作;(3)臟頁率平穩(wěn)的寫操作。實驗分為兩種情況:
實驗1:在原配置上啟動虛擬機,其分別運行上述三種負載,從停機時間和總遷移時間兩方面對比傳統(tǒng)算法與改進算法的優(yōu)劣,如圖4、圖5所示。
實驗2:啟動虛擬機(其運行臟頁率上升負載),利用 Linux流量控制工具TC限制網(wǎng)絡(luò)帶寬分別為20 M、30 M、40 M…70 M,在此配置下進行遷移算法對比實驗,結(jié)果如圖6、圖7所示。
6 總結(jié)
本文在對后輪臟頁率利用馬爾科夫模型進行預測的基礎(chǔ)上,結(jié)合Mann-Kendall驗?zāi)P蛯w移中臟頁率的變化趨勢進行判斷,最后根據(jù)判斷結(jié)果采用自適應(yīng)閾值機制確定最優(yōu)停機時間,更好地解決虛擬機中網(wǎng)絡(luò)傳輸帶寬的大小和運行負載的高低對傳統(tǒng)預拷貝技術(shù)的影響。同時實驗結(jié)果表明,本文提出的優(yōu)化機制能有效提高虛擬機基于預拷貝算法實時遷移的性能。
參考文獻
[1] 江雪,李小勇.虛擬機動態(tài)遷移的研究[J].計算機應(yīng)用,2008(9):2375-2377.
[2] CLARK C,F(xiàn)RASER K,HAND S,et al.Live migration of virtual machines[C].Proceedings of the 2nd Symposium on Networked Systems Design and Implementation,2005:273-286.
[3] NELSON M,LIM B,HUTCHINES G.Fast transparent migration for virtual machines[C].Proceedings of the USENIX Annual Technical Conference,2005:391-394.
[4] Chen Yang,Huai Jinpeng,Hu Chunming.Live migration of virtual machines based on hybrid memory copy approach[J].Chinese Journal of Computers,2011,34(12):2278-2291.
[5] Hai Jin,Li Deng,Song Wu,et al.MECOM:Live migration ofvirtual machines by adaptively compressing memory pages[J].Future Generation Computer Systems,2014:23-35.
[6] 石磊,鄒德清,金海.Xen虛擬化技術(shù)[M]. 武漢:華中科技大學出版社,2009.
[7] 孫國飛,谷建華.基于預拷貝的虛擬機動態(tài)內(nèi)存遷移機制改進[J].計算機工程,2011,13(37):36-39.
[8] 崔勇,林予松.虛擬機實時遷移中自適應(yīng)閾值機制的研究[J].小型微型計算機系統(tǒng),2015(3):466-470.