[發明專利]基于共享緩存感知的虛擬機調度方法和裝置在審
| 申請號: | 201410270543.5 | 申請日: | 2014-06-17 |
| 公開(公告)號: | CN104050043A | 公開(公告)日: | 2014-09-17 |
| 發明(設計)人: | 藏洪永 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/455 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 王仲凱 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 共享 緩存 感知 虛擬機 調度 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,具體涉及一種基于共享緩存感知的虛擬機調度方法和裝置。
背景技術
隨著多核技術、虛擬化技術、云計算技術的發展,多核處理器廣泛應用于云計算環境。在云計算場景下,通過虛擬化技術,將多臺虛擬機同時運行在多核服務器上,可以充分靈活地利用物理資源。然而,多臺虛擬機同時運行在同一個多核物理服務器上,虛擬機與虛擬機之間會因為共享資源的競爭使用而導致系統整體運行效率的下降,單臺虛擬機的性能指標也會因此而達不到預期的服務質量(Quality?of?Service,QoS)目標。
多核處理器結構中,通常每個核擁有自己的私有緩存,多個核共享最后一級緩存。多臺虛擬機運行在多核處理器上時,會因為共享緩存的資源競爭使用導致虛擬機之間的性能受到相互干擾,進而引起系統運行效率的下降。
如今,商用多核物理服務器普遍采用的多核非一致性內存訪問(Non?Uniform?Memory?Access?Architecture,NUMA)架構。如圖1所示,例如在英特爾(Intel)的NUMA多核結構中,通過高速互聯技術(QuickPath?Interconnect,QPI)將系統中的各個NUMA節點連接成一個統一地址空間的計算機系統。每個NUMA節點包括多個核(core),并擁有自己的三級共享緩存(L3Cache)、內存控制器(integrated?memory?controller,IMC)、以及相應的內存單元(Mem?Node)。如圖1所示的結構中,NUMA節點中存在的共享微架構主要包括L3共享緩存、QPI互連設備、及內存控制器。這些微架構是否能夠被系統合理高效地使用,對于系統整體運行效率的提升有很大影響。當多臺虛擬機同時運行在多核NUMA架構的服務器上時,通過調度手段決定虛擬機之間以何種組合方式共享使用最后一級緩存資源例如L3共享緩存,是解決多核NUMA系統中資源共享導致的系統運行效率下降問題的有效途徑。
為解決多核NUMA系統中共享緩存的不合理使用導致的性能下降問題:
一種現有技術通過探測程序檢測共享緩存每個區域的使用情況,然后通過內存重新映射和緩存著色技術,將線程調度到較空閑的共享緩存的處理器(CPU)上運行,同時將該線程的地址空間映射到該共享緩存較空閑的區域(subset)。通過這種方法,有效合理地利用多核系統中的共享緩存,從而提高系統的性能。但是,該方法利用探測程序,系統開銷較大,同時共享緩存不同區域的使用情況變化很快,不能很準確地判斷下一時刻某區域的使用頻繁程度。同時,使用緩存著色技術使共享緩存資源的利用失去了靈活性。
另一種現有技術構造緩存失效率曲線(Miss?Rate?Curve)進行緩存性能預測的技術,利用緩存性能預測信息進行線程的調度。通過預測多個虛擬機線程共享緩存時,系統總的緩存失效率的大小,最終判定該調度的線程組合是否能帶來性能的提升。但是,該方法在構造緩存失效率曲線時,系統開銷較大。若構造的緩存失效率曲線不能準確預測之后運行的線程的性能表現,則該方法的預測結果就失去了意義。
綜上,對于多臺虛擬機運行在多核處理器上時,因為共享緩存的資源競爭使用導致虛擬機之間的性能受到相互干擾,進而引起系統運行效率的下降的問題,目前還沒有一種技術能夠有效解決。
發明內容
本發明實施例提供一種基于共享緩存感知的虛擬機調度方法和裝置,以盡可能的解決因為共享緩存的資源競爭使用導致虛擬機之間的性能受到相互干擾,進而引起系統運行效率的下降的問題。
本發明第一方面提供一種基于共享緩存感知的虛擬機調度方法,用于計算機系統,所述計算機系統包括多個節點,每個節點包括至少一個處理器核,每個節點的最后一級緩存為共享緩存,多個虛擬機運行在所述多個節點上;所述方法包括:確定需要進行調度的多個虛擬機;獲取需要進行調度的多個虛擬機中的每個虛擬機對所有共享緩存的使用情況,根據所述每個虛擬機對所有共享緩存的使用情況,將所述需要進行調度的多個虛擬機聚類為多個類;依次將其中每一類的虛擬機均衡分配到所述多個節點上,使分配到每個節點上的一個以上虛擬機的共享緩存使用情況相匹配;將所述需要進行調度的多個虛擬機分別調度到各自分配的節點上。
在第一種可能的實現方式中,所述確定需要進行調度的多個虛擬機包括:周期性統計每個虛擬機的處理器利用率;將處理器利用率超過利用率閾值的虛擬機確定為需要進行調度的虛擬機。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410270543.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于治療急性闌尾炎的中藥
- 下一篇:一種用于治療急性腸炎的中藥





