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