Presentation is loading. Please wait.

Presentation is loading. Please wait.

VMSF 內核級虛擬機監控器調度框架 1 張力升 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C 2013.07.16.

Similar presentations


Presentation on theme: "VMSF 內核級虛擬機監控器調度框架 1 張力升 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C 2013.07.16."— Presentation transcript:

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


Download ppt "VMSF 內核級虛擬機監控器調度框架 1 張力升 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C 2013.07.16."

Similar presentations


Ads by Google