[發明專利]一種虛擬機調度的裝置及方法有效
| 申請號: | 200810224940.3 | 申請日: | 2008-10-27 |
| 公開(公告)號: | CN101408853A | 公開(公告)日: | 2009-04-15 |
| 發明(設計)人: | 張翔;馬捷;孟丹 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/455 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 | 代理人: | 梁 揮;祁建國 |
| 地址: | 100080北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬機 調度 裝置 方法 | ||
技術領域
本發明涉及虛擬化領域,尤其涉及一種虛擬機調度的裝置及方法。
背景技術
虛擬化使得不同服務可以互不干擾的整合在同一物理機器上,充分利用系統資源。當服務整合時,通常將每個服務放在一個獨立的虛擬機中。因此,需要保證虛擬機之間的公平和效率。公平是指同一個物理節點上的虛擬機,應該以用戶指定的配額共享物理資源,互不干擾;效率是指盡可能提高整個系統的吞吐率。
在虛擬機系統中,調度器是用于調度虛擬機的VCPU(虛擬處理器)的裝置。在系統啟動時,每個虛擬機的VCPU根據其所屬虛擬機包含的VCPU的數量,獲得對應的信譽度。當VCPU還有剩余信譽度時,該VCPU處于UNDER狀態;當VCPU的信譽度被用完時,該VCPU處于OVER狀態;當VCPU進行I/O處理時,該VCPU處于BOOST狀態。每個被調度運行的VCPU最多運行30ms,對于被調度運行的VCPU,每隔10毫秒將該VCPU的信譽度的值減去100。當系統中VCPU的信譽度總和小于0時,由調度器重新為各個VCPU分配信譽度。
調度器的調度方法如圖1所示。調度器將具有任務等待調度的VCPU按調度的優先級排列到可運行隊列中。按VCPU所處的狀態確定VCPU的調度優先級,由高到低的順序為BOOST狀態、UNDER狀態、OVER狀態,可運行隊列的隊尾為系統的空轉VCPU。在圖1中,虛擬處理器A、B、H處于BOOST狀態,虛擬處理器C、D、E處于UNDER狀態,虛擬處理器F處于OVER狀態,虛擬處理器G為空轉VCPU。被調度運行完的虛擬處理器H插入到其相同狀態的所有VCPU之后。
現有技術中的調度器可以保證VCPU之間按照信譽度的比例公平共享處理器資源,但是沒有考慮I/O資源共享的公平性。例如,在同一物理機器上的兩個虛擬機A和B上運行阿帕奇網絡服務器,并賦予A和B相同的信譽度的值。若虛擬機B上阿帕奇服務器的服務線程遠多于虛擬機A的服務線程,或虛擬機B上的負載遠大于虛擬機A,則虛擬機B獲得的網絡帶寬遠遠高于虛擬機A。這意味著虛擬機B“偷走”了虛擬機A的部分網絡處理能力。這種I/O資源共享的不公平會導致I/O性能隔離較差且不可預測,使得虛擬化技術不能適用于性能依賴于I/O公平性的應用程序。
發明內容
為解決上述問題,本發明提供了一種虛擬機調度的裝置及方法,能夠提高虛擬機之間占用資源的公平性。
本發明公開了一種虛擬機調度的方法,按調度優先級從高到低的順序將待調度的虛擬機的虛擬處理器排列在可運行隊列中,包括:
步驟1,將I/O密集型的虛擬處理器加入到檢測窗口,為所述虛擬處理器分配初始的資源配額;
步驟2,按順序調度所述可運行隊列中的虛擬處理器,如果被調度的虛擬處理器不在所述檢測窗口內,運行所述虛擬處理器,運行完成后調度所述可運行隊列中下一個虛擬處理器,否則,執行下一步驟;
步驟3,依據所述虛擬處理器當前剩余的資源配額確定是否運行所述虛擬處理器,在運行完成后更新所述虛擬處理器的剩余資源配額,調度所述可運行隊列中下一個虛擬處理器。
所述資源配額對應表示為I/O信譽度。
所述步驟3進一步為:
步驟31,如果所述虛擬處理器當前的I/O信譽度大于0,則確定運行所述虛擬處理器,在運行完成后,將所述虛擬處理器的I/O信譽度減去所述運行中完成的I/O處理數量,并調度所述可運行隊列中下一個虛擬處理器,否則,調度所述可運行隊列中下一個虛擬處理器。
所述步驟2和所述步驟3之間還包括:
步驟41,判斷所述檢測窗口中包含的虛擬處理器個數是否為1,如果是,運行所述虛擬處理器,在運行完成后調度所述可運行隊列中下一個虛擬處理器,否則,執行所述步驟3。
所述步驟2和所述步驟41間還包括:
步驟51,判斷所述虛擬處理器所屬的虛擬機是否屬于驅動域或特權虛擬機所在的域,如果是,則運行所述虛擬處理器,在運行完成后調度所述可運行隊列中下一個虛擬處理器,否則,執行所述步驟41。
所述將所述虛擬處理器的I/O信譽度減去所述運行中完成的I/O處理數量后還包括:
步驟61,在所述檢測窗口內的所有虛擬處理器的I/O信譽度都小于0時,按所述初始的資源配額增加所述檢測窗口內的所有虛擬處理器的I/O信譽度。
所述步驟1中將I/O密集型的虛擬處理器加入到檢測窗口進一步為:
步驟71,統計所述虛擬處理器運行時完成的I/O處理數量大于預設值的次數占所述虛擬處理器運行的次數的比值;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810224940.3/2.html,轉載請聲明來源鉆瓜專利網。





