Download presentation
Presentation is loading. Please wait.
Published by往范 谈 Modified 8年之前
1
VMSF 內核級虛擬機監控器調度框架 1 張力升 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C 2013.07.16
2
摘要 虛擬化技術由於具有提高資源利用率、降低系統總體擁有 成本等優點得到越來越多的關注。 虛擬機器成為電腦系統的一種新型應用模式,但虛擬機器 應用在服務品質保證和協同運行等方面與傳統商用作業系 統面向的應用不同,虛擬機器監控器應針對此類應用的特 點設計相應的調度演算法。 本文提出一種不修改宿主作業系統現有調度機制的虛擬機 器調度擴展框架 VMSF ,該框架允許第三方自行開發適於 虛擬機器系統的調度演算法。 2
3
1. 引言 (1/2) 在虛擬機器技術中,用來保證多個虛擬電腦能夠同時運行 的軟體被稱作虛擬機器監控器 (Virtual Machine Monitor , 簡稱 VMM) 本文將基於宿主作業系統的虛擬機器監控器簡稱作內核級虛擬機 器監控器,開源軟體 KVM[1] 、商用軟體 VMware workstation[2] 、 virtual-box 等都屬於此種類型。 對於內核級虛擬機器監控器而言,虛擬機器表現為宿主作 業系統內的任務。圖 1 給出了內核級虛擬機監控器中執行 虛擬機器的過程 對於內核級虛擬機器監控器而言,虛擬機器的調度體現為 宿主作業系統對於其自身任務的調度,這簡化了虛擬機器 監控器自身的設計。 3
4
1. 引言 (2/2) 4
5
2. 虛擬機調度框架 VMSF (1/3) VMSF 採用一種隱式的方法擴展宿主操作系統的調度策略 ,其思想為:通過調整各個虛擬機器的阻塞/運行狀態來 影響宿主作業系統調度器的調度決策。 具體地說,第三方開發的調度器獨立產生虛擬機調度結果 並對外公佈,並喚醒新被調度執行的虛擬機器任務。 本調度框架的核心是為第三方調度器提供足夠的調度相關 事件,以使第三方調度模組所產生的調度結果生效。 5
6
2.1 調度相關事件的獲取 (2/3) 根據對各類調度演算法的介面進行分析,可知第三方調度 器應獲取的調度相關事件有: (1) 虛擬機器的創建/刪除 本文通過為虛擬機器監控器設置探針實現 (2) 虛擬機器的暫停和解除暫停 (3) 定時器事件 本調度框架對宿主作業系統相關功能進行了封裝,以實現調度器的宿主操作 系統無關性。 另外,為了避免虛擬機器空閒時浪費 CPU 週期,應將虛擬 機器主動釋放 CPU 的情況通知給虛擬機器調度器。 6
7
2.2 調度的過程 (3/3) 第三方開發的調度器作為一個內核模組,它根據調度相關 事件,計算當前應當在哪個 CPU 上運行哪個虛擬機器任務 ,將其從阻塞佇列中移入就緒隊列,並將調度結果對外公 佈。 此種調度方法的有效性依賴於第三方調度器產生調度結果 後,虛擬機器監控器能否立刻獲得執行權。 圖 1 所示虛擬機器有宿主作業系統任務和客戶作業系統兩 種執行形態,當其在宿主作業系統中表現為一個普通的任 務執行時,中斷 / 異常的發生不會導致虛擬機器監控器執 行,這會造成對於該任務的調度 “ 失控 ” 7
8
3. 應用 (1/2) 我們基於 Linux 下的開源虛擬機器監控器 KVM 驗證了本文 的工作。實驗在酷睿雙核的 Linux 系統上進行,在實驗中 ,除宿主作業系統之外,另外創建兩個包含兩個虛擬 CPU 的虛擬電腦 VMl 和 VM2 圖 2 顯示當兩個虛擬機器都是 CPU intensive 型時 ( 圖中用 b 表示 ) 每個虛擬機器都可以獲得 100 %的 CPU 資源。但是, 當 VM2 為 idle 時, VMl 的 CPU 佔用率可以達到接近 200 %。 圖 3 顯示 VMl 所能使用的 CPU 資源與 VM2 是否為 idIe 無關。 本實驗表明 VMSF 調度框架能夠滿足在不修改作業系統內 核情況下使用第三方虛擬機器調度器的要求。 8
9
3. 應用 (1/2) 9
10
4. 相關研究工作 對於傳統作業系統的調度擴展機制研究有 : Bossa : 方便用戶開發、使用新型調度算法的調度框架,突出之處 是它定義了一套調度演算法描述語言 DSL ,調度演算法開發者可 以使用該語言描述調度演算法,而不再面對作業系統底層細節, 從而降低了調度器的開發門檻。 RT—Iinux : Linux 的即時擴展。主要缺點是:即時任務在運行過程 中不能與傳統作業系統內核進行交互,對於虛擬機器這種需要傳 統作業系統內部任務輔助運行的應用而言,割裂兩者之間的聯繫 將影響虛擬機的運行性能。 Rialto : 為微軟開發的可同時為異構即時應用、非即時應用提供支 援的作業系統。本文同樣採取這種隱式調度演算法,但由於在支 援搶先的系統中動態調整優先權容易導致死鎖,本文中虛擬機器 任務被設置成使用 Round Robin 策略的即時調度演算法,虛擬機 器監控器主動檢查其是否應從 cPu 換出,從而限制了任務只能在未 持有互斥資源的情況下被搶先。 10
11
5. 結束語 本文提出的 VMSF 調度框架支援在不修改操作系統內現有 調度機制的基礎上,定制虛擬機器任務的調度方法;並通 過實驗,檢驗了此調度框架的有效性。本文工作對於降低 新型調度演算法開發和推廣門檻具有重要意義。 11
Similar presentations