《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > Xen下虚拟机动态迁移优化策略的研究
Xen下虚拟机动态迁移优化策略的研究
2015年电子技术应用第11期
吴 军,张轶君,白光伟
(南京工业大学 电子与信息工程学院,江苏 南京211816)
摘要: 尽管预拷贝技术由于其毫秒级的停机时间及对应用影响较小而被广泛使用到各大虚拟化平台的内存数据迁移中,但是当网络处于低带宽高负载的情况下则会导致虚拟机服务的一些性能下降。为了解决以上问题,本文首先将传统的预拷贝机制与马尔科夫模型结合旨在对后轮脏页率进行预测,利用Mann-Kendall 检验模型对迁移中脏页率的变化趋势进行判断,据此引入自适应阈值机制确定最优迁移策略,更好地解决虚拟机中网络传输带宽的大小和运行负载的高低对传统预拷贝技术固定停机阈值机制的影响,实验结果显示,改进后的迁移机制可有效地提高虚拟机实时迁移性能。
中圖分類號: TP393
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.11.036

中文引用格式: 吳軍,張軼君,白光偉. Xen下虛擬機(jī)動態(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.
Dynamic optimization research strategy based on Xen virtual machine migration
Wu Jun,Zhang Yijun,Bai Guangwei
College of Information Science and Engineering,Nanjing University of Technology,Nanjing 211816,China
Abstract: Although the pre-copy technology because of its millisecond application downtime and the impact on small and widely used virtual memory to the major data migration platform, but when low-bandwidth network in high-load will result in a virtual machine some of the performance of the service decline. To solve this problem, this paper will be the traditional pre-copy mechanism combined with the Markov model seeks to predict the rate of the rear wheel dirty pages using Mann-Kendall test model for the migration of dirty pages rate trends to judge, pursuant to the introduction of adaptive threshold mechanism to determine the optimal migration strategy to better address the impact of the virtual machine network bandwidth size and the level of operating loads on the traditional pre-copy technology threshold fixed stop mechanism, the experimental results show that the improved transfer mechanism can be effectively improve virtual machine live migration performance.
Key words : Xen virtual machine;migration optimization;pre-copy;prediction model;adaptive threshold

  

0 引言

  在虛擬化環(huán)境中,動態(tài)遷移的虛擬機(jī)[1]是一個強(qiáng)大的管理工具,它促進(jìn)系統(tǒng)維護(hù)、負(fù)載平衡、容錯及電源管理。由于動態(tài)工作負(fù)載使得有些節(jié)點利用率低下而有些節(jié)點卻不堪重負(fù),為了解決虛擬機(jī)物理節(jié)點之間的負(fù)載平衡問題,提出虛擬機(jī)遷移策略。

  預(yù)復(fù)制技術(shù)[2-3]在高帶寬低負(fù)載的環(huán)境中性能優(yōu)越,但處于低帶寬高負(fù)載的情況時性能卻表現(xiàn)較弱,導(dǎo)致停機(jī)切換時間和總遷移時間較長,影響了虛擬機(jī)的正常服務(wù)。而本文將傳統(tǒng)預(yù)復(fù)制技術(shù)與相關(guān)預(yù)測算法、趨勢判斷算法結(jié)合,并利用自適應(yīng)停機(jī)閾值機(jī)制取代預(yù)復(fù)制技術(shù)固定閾值機(jī)制,從而有效減少了遷移過程中的總時間及停機(jī)時間。

1 相關(guān)工作

  最近幾年,國內(nèi)外很多學(xué)者針對預(yù)復(fù)制技術(shù)在低帶寬高負(fù)載環(huán)境下的運(yùn)行效率問題提出了很多完善和優(yōu)化方法。例如Chen Yang[4]等人在2011年提出一個基于內(nèi)存混合復(fù)制方式的動態(tài)遷移機(jī)制HybMEC,結(jié)合按需和內(nèi)存推送兩種復(fù)制方式來提高實時遷移性能;Hai Jin,Li Deng[5]等學(xué)者在2014年提出一個適應(yīng)性壓縮方法模型MECOM,針對不同內(nèi)存頁面的特征使用相應(yīng)的壓縮算法來降低頁面?zhèn)鬏敶笮?。不同于以上各類?yōu)化方法,本文從預(yù)復(fù)制技術(shù)如何在低帶寬高負(fù)載的環(huán)境下有效判斷最優(yōu)停機(jī)時機(jī)的角度對虛擬機(jī)實時遷移性能進(jìn)行研究,旨在達(dá)到更好的遷移水平。

2 傳統(tǒng)預(yù)復(fù)制技術(shù)介紹及其優(yōu)劣性分析


001.jpg

  隨著虛擬化技術(shù)不斷發(fā)展,Clark、Nelson等人[2-3]相繼提出了預(yù)復(fù)制動態(tài)遷移技術(shù),預(yù)復(fù)制的遷移過程如圖1所示(主機(jī)A為源主機(jī),主機(jī)B為目的主機(jī))。

  雖然預(yù)拷貝技術(shù)在對應(yīng)用及用戶影響較小的情況下極大減少了停機(jī)時間,適合遷移寫操作不頻繁的負(fù)載,但該技術(shù)仍存在以下問題:例如迭代過程中,進(jìn)行多次迭代會增加遷移總時間,迭代不足又會增加不必要的停機(jī)時間,所以迭代次數(shù)的確定受到網(wǎng)絡(luò)傳輸帶寬及負(fù)載類型的影響;當(dāng)臟頁率大于或等于頁面?zhèn)鬏斔俾蕰r,迭代過程可能進(jìn)入不收斂狀態(tài)等情況。

3 基于Xen虛擬機(jī)改進(jìn)后的遷移機(jī)制

  在Xen[6]整個遷移過程中,最復(fù)雜的部分當(dāng)屬內(nèi)存遷移。本文在研究傳統(tǒng)Xen內(nèi)存遷移機(jī)制的基礎(chǔ)上對傳統(tǒng)遷移方案進(jìn)行了優(yōu)化。傳統(tǒng)Xen內(nèi)存遷移機(jī)制如圖2所示。

002.jpg

  由圖2可知,遷移執(zhí)行模塊實際負(fù)責(zé)了整個遷移過程的大部分工作,因而該模塊尤為重要,但在其實現(xiàn)過程中仍有不足之處:(1)在臟頁率較高的情況下,增加了臟頁重復(fù)傳輸?shù)母怕省?2)在第1輪迭代過程中,不需要傳輸所有的內(nèi)存頁,因為許多頁在以后的迭代過程中被再次修改,需要再次迭代傳輸。

003.jpg

  針對以上不足,本文提出一種改進(jìn)機(jī)制,如圖3所示。除了對內(nèi)存頁進(jìn)行信息監(jiān)控,還通過先使用預(yù)測模型對后輪臟頁率進(jìn)行預(yù)測,在此基礎(chǔ)上對臟頁率的變化趨勢進(jìn)行分析,使之與數(shù)據(jù)傳輸率進(jìn)行比較,結(jié)合自適應(yīng)停機(jī)閾值機(jī)制使虛擬機(jī)在低帶寬高負(fù)載的環(huán)境下也能有很好的表現(xiàn)。

4 改進(jìn)后Xen遷移算法的實現(xiàn)

  4.1 馬爾科夫臟頁預(yù)測

  預(yù)測概率算法使用馬爾科夫模型[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)概念和計算公式如下:

  (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)移概率矩陣為:

  1.png

  (2)狀態(tài)概率:狀態(tài)概率表示內(nèi)存頁的初始狀態(tài)已知,內(nèi)存頁的狀態(tài)轉(zhuǎn)移k次后變成狀態(tài)Ej的概率,且:

  2.png

  由馬爾科夫假設(shè)和貝葉斯條件概率公式得:

  3.png

  設(shè)定行向量π(k)=[π1(k),π2(k),…πn(k)],由公式得到狀態(tài)概率的遞推公式:

  4.png

  由于只需要預(yù)測臟頁的狀態(tài)概率,本文設(shè)置初始狀態(tài)行向π(0)=[0,0,1]。

  4.2 Mann—Kendall趨勢變化檢驗

  當(dāng)預(yù)測出后輪的臟頁率高于網(wǎng)絡(luò)傳輸帶寬時,改進(jìn)后的遷移機(jī)制利用Mann—Kendall檢驗?zāi)P蚚8]對臟頁率時間序列進(jìn)行趨勢分析,以確定停機(jī)時間。該模型是一種非參數(shù)檢驗類型的時間序列趨勢分析方法,其優(yōu)點是不要求時間序列符合一定的分布,受異常值的影響較小,而且計算簡便。采用Mann—Kendall模型檢驗臟頁率變化趨勢的過程如下:

  (1)假設(shè)臟頁率時間序列D={d1,…,dn}無趨勢;

  (2)如下計算統(tǒng)計量S:

  56.png

  S為正態(tài)分布,其均值為0,方差為:

  79.jpg

  其中Median為取中值函數(shù),當(dāng)β>0時說明有上升的趨勢,當(dāng)β<0則表示下降的趨勢。

  4.3 自適應(yīng)閾值機(jī)制的引入

  根據(jù)上述臟頁率的預(yù)測及趨勢分析方法,本文在預(yù)拷貝算法固定閾值的基礎(chǔ)上引入了自適應(yīng)停機(jī)閾值機(jī)制[8],具體實現(xiàn)如下所述:迭代拷貝過程中,統(tǒng)計每個迭代輪中的臟頁率以構(gòu)成一個時間序列,在每輪結(jié)束時首先對后輪的臟頁率進(jìn)行預(yù)測。若預(yù)測出臟頁率大于等于數(shù)據(jù)傳輸率,則進(jìn)一步對臟頁率時間序列進(jìn)行趨勢判斷,若判斷結(jié)果為上升或平穩(wěn)趨勢,則判定后面的迭代輪會進(jìn)入到“無法收斂”狀態(tài),那么就立即進(jìn)入停機(jī)拷貝階段;否則,說明臟頁率的變化不會導(dǎo)致“無法收斂”狀態(tài),則按原算法繼續(xù)進(jìn)行。通過加入該機(jī)制,遷移過程中可以實時監(jiān)測臟頁率的變化情況,一旦發(fā)現(xiàn)有進(jìn)入“無法收斂”的趨勢就能在達(dá)到固定迭代次數(shù)閾值之前進(jìn)行停機(jī)拷貝,有效避免拖延總遷移時間,及時控制停機(jī)時間。

5 實驗及分析

  為了保證實驗環(huán)境的穩(wěn)定性,測試出更精確的實驗結(jié)果,測試中構(gòu)建了一個小的私有云平臺,基本可以滿足Xen虛擬機(jī)動態(tài)遷移的實驗要求。其中使用兩臺普通PC分別做為源主機(jī)Host A和目的主機(jī)Host B,另一臺PC作為連接源主機(jī)和目的主機(jī)的NFS服務(wù)器,為動態(tài)遷移提供NFS文件共享服務(wù),并且使用了一臺100 M交換機(jī)連接這幾臺PC。該實驗環(huán)境為3臺PC配置相同的物理主機(jī),CPU是Intel Core i5-3210 M,其工作頻率是2.50 GHz,內(nèi)存是2 048 M,硬盤是320 G,虛擬平臺為 Xen 4.3.1。

  本實驗采用開源系統(tǒng)測試軟件Lmbench為虛擬機(jī)測試寫操作任務(wù),使用其bw_mem命令對CPU性能進(jìn)行測試,同時,修改bw_mem.c的wr函數(shù),通過庫函數(shù)usleep對內(nèi)存寫速度進(jìn)行調(diào)整,借此測試程序為實時遷移中的虛擬機(jī)提供如下三種負(fù)載:(1)臟頁率上升的寫操作;(2)臟頁率下降的寫操作;(3)臟頁率平穩(wěn)的寫操作。實驗分為兩種情況:

  實驗1:在原配置上啟動虛擬機(jī),其分別運(yùn)行上述三種負(fù)載,從停機(jī)時間和總遷移時間兩方面對比傳統(tǒng)算法與改進(jìn)算法的優(yōu)劣,如圖4、圖5所示。

  實驗2:啟動虛擬機(jī)(其運(yùn)行臟頁率上升負(fù)載),利用 Linux流量控制工具TC限制網(wǎng)絡(luò)帶寬分別為20 M、30 M、40 M…70 M,在此配置下進(jìn)行遷移算法對比實驗,結(jié)果如圖6、圖7所示。

6 總結(jié)

  本文在對后輪臟頁率利用馬爾科夫模型進(jìn)行預(yù)測的基礎(chǔ)上,結(jié)合Mann-Kendall驗?zāi)P蛯w移中臟頁率的變化趨勢進(jìn)行判斷,最后根據(jù)判斷結(jié)果采用自適應(yīng)閾值機(jī)制確定最優(yōu)停機(jī)時間,更好地解決虛擬機(jī)中網(wǎng)絡(luò)傳輸帶寬的大小和運(yùn)行負(fù)載的高低對傳統(tǒng)預(yù)拷貝技術(shù)的影響。同時實驗結(jié)果表明,本文提出的優(yōu)化機(jī)制能有效提高虛擬機(jī)基于預(yù)拷貝算法實時遷移的性能。

參考文獻(xiàn)

  [1] 江雪,李小勇.虛擬機(jī)動態(tài)遷移的研究[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ī)動態(tài)內(nèi)存遷移機(jī)制改進(jìn)[J].計算機(jī)工程,2011,13(37):36-39.

  [8] 崔勇,林予松.虛擬機(jī)實時遷移中自適應(yīng)閾值機(jī)制的研究[J].小型微型計算機(jī)系統(tǒng),2015(3):466-470.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容