[發明專利]一種基于內核虛擬機調度策略的實現方法在審
| 申請號: | 201010208491.0 | 申請日: | 2010-06-24 |
| 公開(公告)號: | CN101894047A | 公開(公告)日: | 2010-11-24 |
| 發明(設計)人: | 丁濤;郝沁汾;張冰;董翰飛 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/455 |
| 代理公司: | 北京慧泉知識產權代理有限公司 11232 | 代理人: | 王順榮;唐愛華 |
| 地址: | 100191 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 內核 虛擬機 調度 策略 實現 方法 | ||
(一)技術領域
本發明主要是涉及一種基于內核虛擬機(Kernel-based?Virtual?Machine,簡稱KVM)調度策略的實現方法,實現在Linux環境下協調內核虛擬機與系統進程間的資源競爭問題,使內核虛擬機能夠達到更好的性能;在多虛擬機環境下,使各虛擬機之間能夠更高效的利用系統資源,各虛擬機達到自適應調整。此外,基于內核虛擬機的調度策略通過減少虛擬機的切換次數,從而降低內核虛擬機的切換開銷。屬于計算機虛擬機調度器技術領域。
(二)背景技術
1、虛擬化技術
虛擬化技術出現于上世紀六七十年代,主要應用在大型機上,初衷是為了實現更高的設備利用率,使多個用戶能夠盡可能的利用大型機豐富的系統資源,節省成本。虛擬化技術通過軟件手段對計算機中的重要的接口進行模擬和抽象,從而實現虛擬化軟件。通常所說的虛擬化技術是指系統級的虛擬化技術,系統級虛擬化技術中的虛擬化軟件稱為虛擬機監控器(Virtual?Machine?Monitor,簡稱VMM),以虛擬指令集系統架構(ISA,Instructl/On?System?Architecture)為目標。系統級虛擬化的核心是構建虛擬機監視器,然后在其上創建虛擬機,將本來直接運行于實際硬件平臺的操作系統放在虛擬機中運行,這樣的操作系統稱為客戶操作系統(Guest?OS),其中原本可直接運行的某些操作通過虛擬層來運行。通過虛擬機監控器可以在單個物理服務器上運行多個虛擬機,每個虛擬機封裝一個客戶操作系統,使得運行在各個客戶操作系統中的程序具有很好的安全隔離性和可擴展性,實現服務整合,極大的提高了各種資源的利用率。
虛擬化技術將服務器邏輯的劃分為一個主機,一個虛擬機監控器和多個虛擬機。虛擬機監控器負責對多個虛擬機進行資源分配和調度,使每個虛擬機能夠公平的共享主機資源。
2、內核虛擬機及其現有的調度策略
內核虛擬機是一種開源的新型虛擬化解決方案,由KVM?Driver和稍加修改過的Qemu兩部分組成。KVM?Driver加入到標準的Linux(計算機操作系統)內核中,被組織成標準的字符設備(/dev/kvm);稍加修改的Qemu通過一系列I/Octl系統調用訪問這個字符設備從而創建和運行虛擬機。內核虛擬機將Linux進程劃分為三種執行模式:內核模式,執行非I/O客戶代碼,虛擬機運行在這種模式下;內核模式,實現客戶機的切換,處理由于I/O或特定指令引起的虛擬機退出,KVM?Driver工作在此模式下;用戶模式,模擬執行I/O指令,Qemu運行在此模式下。在這種模式下,每個虛擬機都是一個標準的Linux進程,通過Linux內核進行調度。
Linux內核通過進程控制塊task_struct(進程在Linux內核中的表示方法)結構體中的policy值將進程分為普通進程和實時進程,并分別采用不同的調度策略。內核虛擬機進程屬于普通進程,采用動態優先級時間片輪轉調度算法:虛擬機進程創建時,task_struct結構體中的counter值被賦予priority的值,即初始計數器值,同時虛擬機進程被加入到處理器的可執行進程隊列,等待Linux內核調度程序的調度。在某一時刻,虛擬機進程被Linux內核進程調度程序選中,獲得處理器資源,虛擬機進程處于運行狀態,其task_struct結構體中的counter域相應的減少,以給其他進程獲得處理器資源的機會。虛擬機進程在運行完自身的時間片或因等待某種資源需要退出時,Linux內核調度程序立刻重新掃描系統中的進程調度隊列,選擇另一個處于可執行隊列的進程獲得處理器資源。虛擬機進程獲得需要的系統資源后被重新加入到可執行隊列中,等待處理器的下一輪調度。若虛擬機進程的task_struct結構體中的counter值在某一時刻減為0,且系統中還存在其他普通進程,則虛擬機進程需要等至所有普通進程的counter值都減為0后,Linux內核進程調度程序對所有普通進程的counter值進行重新賦值,進行新一輪的調度。
3、內核虛擬機現有調度策略的缺陷
KVM虛擬機完全利用Linux進程調度程序作為自己的調度器,從Linux內核角度來看,KVM虛擬機只不過是一個系統的普通進程,使得KVM虛擬機與Linux內核得到了完美的結合,充分利用了Linux內核的一切優點,使KVM虛擬機得到了較好的性能。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010208491.0/2.html,轉載請聲明來源鉆瓜專利網。





