[發明專利]一種快速掃描全虛擬化虛擬機臟頁位圖的方法有效
| 申請號: | 201210417868.2 | 申請日: | 2012-10-26 |
| 公開(公告)號: | CN102981962A | 公開(公告)日: | 2013-03-20 |
| 發明(設計)人: | 吳松;石宜化;金海;杜云杰 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 快速 掃描 虛擬 虛擬機 位圖 方法 | ||
技術領域
本發明屬于計算系統虛擬化領域,更具體地,涉及一種快速掃描全虛擬化虛擬機臟頁位圖的方法。
背景技術
系統虛擬化(System?virtualization)是在單一的物理硬件上同時運行多個操作系統實例,這些操作系統實例共享底層的物理硬件資源,并且相互獨立、互不干擾,實現物理資源的共享,從而使得物理資源得到充分有效的利用。虛擬機(Virtual?machine,簡稱VM)的動態遷移(Live?migration)作為系統虛擬化的一項重要特性,可以使得虛擬機在服務幾乎不中斷的情況下從一臺物理計算機上遷移到另外一臺物理計算機上,并且對虛擬機及用戶透明,被廣泛應用在數據中心的系統維護、負載均衡及容錯災備上。
然而在進行虛擬機遷移時,需要事先預知,然后再執行相應的操作。它是在計算系統(包括物理機和虛擬機)正常運轉的前提下進行的,無法應對計算系統出現的突然性軟硬件故障,對高可用(high?availability,簡稱HA)系統來說具有很大的局限性。目前各大虛擬化廠商針對高可用問題相繼推出自己的容錯(Fault-tolerant)方案,如Vmware的HA、Xen的Remus等。Remus基于Pre-copy虛擬機動態遷移框架,在備份物理計算機上啟動一個備份虛擬機,周期性(幾十到幾百毫秒)地同步主-從虛擬機狀態,使得當主虛擬機發生故障時備份虛擬機能夠實時接管并保證正確一致的運行狀態,從而達到高可用的目的。
不管是對于虛擬機動態遷移還是對于基于虛擬機動態遷移框架的Remus?HA系統來說,每次同步虛擬機內存狀態前,一個不可或缺的過程就是掃描保存在Xen內存空間中的目標虛擬機臟頁位圖(dirty?bitmap),找出上一個周期中變臟的頁面,然后以頁面(大小為4096B)為單位將變臟頁面發送到目標物理機上,從而保證雙方虛擬機的內存狀態一致。但是該掃描過程是在暫停虛擬機運行的前提下進行的,通過逐位掃描臟頁位圖來獲取變臟頁面,造成掃描時間過長,進而影響虛擬機的計算性能和服務質量。另外,對于全虛擬化虛擬機來說,由于其對虛擬化平臺Xen完全透明,因此在創建虛擬機時不管配置的是128MB還是1024MB的內存大小,Xen內核都為該虛擬機配置4GB的臟頁位圖空間,一共1048576(4GB/4KB)個臟頁位。
如圖1所示,以全虛擬化虛擬機內存配置大小512MB為例,在測試的317856個周期中,只有兩個周期有臟頁面分布在高3.5GB(pfn>131072)空間,其余所有周期的臟頁面均分布在低512MB(pfn≤131072)空間。而用戶空間的應用在掃描臟頁位圖時,仍要逐位掃描整個4GB(0≤pfn<1048576)內存空間的臟頁位圖,掃描時間需要十毫秒左右,而且幾乎無臟頁分布的高3.5GB空間的掃描時間要占到87.5%左右。如果虛擬機的內存配置得更小些,那么這種無效的掃描時間所占的比例會更高。值得強調的是,在掃描臟頁位圖的過程中虛擬機是處于暫停狀態的,對于Remus這種高頻地(2HZ~40HZ)進行虛擬機狀態同步的應用來說,掃描臟頁位圖的時間開銷對虛擬機的性能影響相當嚴重。
發明內容
針對現有技術的缺陷,本發明的目的在于針對全虛擬化虛擬機變臟頁面號在臟頁位圖中的分布情況,提供一種快速掃描全虛擬化虛擬機臟頁位圖的方法,其能夠在虛擬機動態遷移或者Remus?HA系統中減少因掃描臟頁位圖而暫停虛擬機的時間,從而提高虛擬機的計算性能和服務質量。
為實現上述目的,本發明提供了一種快速掃描全虛擬化虛擬機臟頁位圖的方法,包括以下步驟:
(1)標志位初始化階段:在Xen的地址空間中為全虛擬化虛擬機的4GB內存空間分配一級標志位和二級標志位,同時將一級標志位和二級標志位初始化為零,一級標志位的數量為4GB/128MB=32個,二級標志位的數量為1個;
(2)標志位設置階段:讀取Xen第二級頁表項中的地址,并根據地址來設置一級標志位和二級標志位的值,具體包括以下子步驟:
(2-1)讀取Xen第二級頁表的第0個頁表項;
(2-2)判斷已讀取頁表項中的地址是否有效,若地址有效,則轉入步驟(2-3),否則轉入步驟(2-4);
(2-3)設置該地址相應的一級標志位為1,并根據地址獲取相應的臟頁位圖頁面,然后轉入步驟(2-5);
(2-4)獲取全零的臟頁位圖頁面,然后轉入步驟(2-7);
(2-5)判斷該頁表項是否為第4~31號頁表項,如果是,則轉入步驟(2-6),否則轉入步驟(2-7);
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210417868.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:車輛控制裝置和車輛控制方法
- 下一篇:半導體器件及其制造和封裝方法





