文獻(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)工作
最近幾年,國(guó)內(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ù)制方式來(lái)提高實(shí)時(shí)遷移性能;Hai Jin,,Li Deng[5]等學(xué)者在2014年提出一個(gè)適應(yīng)性壓縮方法模型MECOM,,針對(duì)不同內(nèi)存頁(yè)面的特征使用相應(yīng)的壓縮算法來(lái)降低頁(yè)面?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)臟頁(yè)率大于或等于頁(yè)面?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)在臟頁(yè)率較高的情況下,增加了臟頁(yè)重復(fù)傳輸?shù)母怕省?2)在第1輪迭代過程中,,不需要傳輸所有的內(nèi)存頁(yè),,因?yàn)樵S多頁(yè)在以后的迭代過程中被再次修改,需要再次迭代傳輸,。
針對(duì)以上不足,,本文提出一種改進(jìn)機(jī)制,如圖3所示,。除了對(duì)內(nèi)存頁(yè)進(jìn)行信息監(jiān)控,,還通過先使用預(yù)測(cè)模型對(duì)后輪臟頁(yè)率進(jìn)行預(yù)測(cè),在此基礎(chǔ)上對(duì)臟頁(yè)率的變化趨勢(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è)預(yù)測(cè)
預(yù)測(cè)概率算法使用馬爾科夫模型[7],。本文設(shè)定狀態(tài)E1表示內(nèi)存頁(yè)沒有被讀,、寫,設(shè)定狀態(tài)E2表示內(nèi)存頁(yè)只讀,,設(shè)定狀態(tài)E3表示內(nèi)存頁(yè)被修改,,默認(rèn)遷移開始前的狀態(tài)為E1。相關(guān)概念和計(jì)算公式如下:
(1)狀態(tài)轉(zhuǎn)移概率矩陣:假定內(nèi)存頁(yè)有n個(gè)可能的狀態(tài),即E1,,E2,,E3…En,本文使用pij表示內(nèi)存頁(yè)的狀態(tài)從Ei變成Ej的狀態(tài)轉(zhuǎn)移概率,,狀態(tài)轉(zhuǎn)移概率矩陣為:
(2)狀態(tài)概率:狀態(tài)概率表示內(nèi)存頁(yè)的初始狀態(tài)已知,,內(nèi)存頁(yè)的狀態(tài)轉(zhuǎn)移k次后變成狀態(tài)Ej的概率,且:
由馬爾科夫假設(shè)和貝葉斯條件概率公式得:
設(shè)定行向量π(k)=[π1(k),,π2(k),,…πn(k)],由公式得到狀態(tài)概率的遞推公式:
由于只需要預(yù)測(cè)臟頁(yè)的狀態(tài)概率,,本文設(shè)置初始狀態(tài)行向π(0)=[0,,0,1],。
4.2 Mann—Kendall趨勢(shì)變化檢驗(yàn)
當(dāng)預(yù)測(cè)出后輪的臟頁(yè)率高于網(wǎng)絡(luò)傳輸帶寬時(shí),,改進(jìn)后的遷移機(jī)制利用Mann—Kendall檢驗(yàn)?zāi)P蚚8]對(duì)臟頁(yè)率時(shí)間序列進(jìn)行趨勢(shì)分析,以確定停機(jī)時(shí)間,。該模型是一種非參數(shù)檢驗(yàn)類型的時(shí)間序列趨勢(shì)分析方法,,其優(yōu)點(diǎn)是不要求時(shí)間序列符合一定的分布,受異常值的影響較小,,而且計(jì)算簡(jiǎn)便,。采用Mann—Kendall模型檢驗(yàn)臟頁(yè)率變化趨勢(shì)的過程如下:
(1)假設(shè)臟頁(yè)率時(shí)間序列D={d1,…,,dn}無(wú)趨勢(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è)率的預(yù)測(cè)及趨勢(shì)分析方法,,本文在預(yù)拷貝算法固定閾值的基礎(chǔ)上引入了自適應(yīng)停機(jī)閾值機(jī)制[8],具體實(shí)現(xiàn)如下所述:迭代拷貝過程中,,統(tǒng)計(jì)每個(gè)迭代輪中的臟頁(yè)率以構(gòu)成一個(gè)時(shí)間序列,,在每輪結(jié)束時(shí)首先對(duì)后輪的臟頁(yè)率進(jìn)行預(yù)測(cè)。若預(yù)測(cè)出臟頁(yè)率大于等于數(shù)據(jù)傳輸率,,則進(jìn)一步對(duì)臟頁(yè)率時(shí)間序列進(jìn)行趨勢(shì)判斷,,若判斷結(jié)果為上升或平穩(wěn)趨勢(shì),則判定后面的迭代輪會(huì)進(jìn)入到“無(wú)法收斂”狀態(tài),,那么就立即進(jìn)入停機(jī)拷貝階段,;否則,說明臟頁(yè)率的變化不會(huì)導(dǎo)致“無(wú)法收斂”狀態(tài),則按原算法繼續(xù)進(jìn)行,。通過加入該機(jī)制,,遷移過程中可以實(shí)時(shí)監(jiān)測(cè)臟頁(yè)率的變化情況,一旦發(fā)現(xiàn)有進(jìn)入“無(wú)法收斂”的趨勢(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ù),,通過庫(kù)函數(shù)usleep對(duì)內(nèi)存寫速度進(jìn)行調(diào)整,,借此測(cè)試程序?yàn)閷?shí)時(shí)遷移中的虛擬機(jī)提供如下三種負(fù)載:(1)臟頁(yè)率上升的寫操作;(2)臟頁(yè)率下降的寫操作,;(3)臟頁(yè)率平穩(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)行臟頁(yè)率上升負(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ì)后輪臟頁(yè)率利用馬爾科夫模型進(jìn)行預(yù)測(cè)的基礎(chǔ)上,,結(jié)合Mann-Kendall驗(yàn)?zāi)P蛯?duì)遷移中臟頁(yè)率的變化趨勢(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] 孫國(guó)飛,,谷建華.基于預(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.