亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于微架構感知的虛擬機調度多策略選擇方法

文檔序號:6545175閱讀:300來源:國知局
一種基于微架構感知的虛擬機調度多策略選擇方法
【專利摘要】本發(fā)明的微架構感知的多策略虛擬機調度方法,該多策略虛擬機調度方法中采集各個虛擬機的性能特征信息,通過對虛擬機的運行性能特征信息中各個性能特征,按照設定的性能特征優(yōu)先級從高至低依次為各個虛擬機設定調度算法,并根據(jù)調度算法將各個虛擬機劃分至相應的隊列中,并按照設定的隊列優(yōu)先級判斷各個隊列的變化,根據(jù)隊列的變化來調用相應的調度算法。該多策略虛擬機調度方法有效利用NUMA多核系統(tǒng)中潛在的性能提升空間,從而提高虛擬化系統(tǒng)的整體性能,降低物理資源使用成本,同時降低能耗等其他管理開銷。
【專利說明】一種基于微架構感知的虛擬機調度多策略選擇方法
【技術領域】
[0001]本發(fā)明涉及虛擬計算機【技術領域】,尤其涉及一種基于微架構感知的虛擬機調度多策略選擇方法。
【背景技術】
[0002]云計算數(shù)據(jù)中心部署的服務器普遍采用多核處理器、非一致內存訪問(Non-Uniform Memory Access, NUMA)架構,每臺服務器上擁有多個NUMA節(jié)點。
[0003]NUMA多核體系結構中,存在多種硬件資源的共享利用以及內存訪問的非一致性等特點。
[0004]每個NUMA節(jié)點擁有多個處理核心(core或CPU,以下稱CPU),多個CPU共享最后一級緩存(L3共享緩存),內存控制器等微架構。NUMA架構的引入,使得系統(tǒng)中硬件資源的拓撲結構相對一致內存訪問(Uniform Memory Access,UMA)架構更加復雜,導致不同NUMA節(jié)點上的CPU訪問內存的延遲不一致,CPU訪問非本地NUMA節(jié)點內存的延遲大于訪問本地NUMA節(jié)點的內存。同時,不同的CPU分別共享各自NUMA節(jié)點上的最后一級緩存,導致任務運行在不同CPU上時,任務運行的性能表現(xiàn)會因共享緩存的使用情況、內存帶寬的使用情況、以及內存訪問遠近等的不同而出現(xiàn)較大的性能差異。
[0005]例如在Intel的NUMA多核結構中,通過高速互聯(lián)技術(QuickPath Interconnect,QPI)將系統(tǒng)中的各個NUMA節(jié)點連接成一個統(tǒng)一地址空間的計算機系統(tǒng)。每個NUMA節(jié)點上擁有自己的L3共享緩存、內存控制器、以及相應的內存單元。如圖1所示的結構中,存在的共享微架構主要包括L3共享緩存、QPI互連設備、內存控制器。這些微架構是否能夠被系統(tǒng)合理高效地使用,對于系統(tǒng)整體性能有很大的影響。
[0006]目前,在多核NUMA架構中,主要存在以下幾種微架構資源使用問題:
[0007](1)L3共享緩存的數(shù)據(jù)共享問題;
[0008](2)L3共享緩存的資源競爭問題;
[0009](3)互連設備的帶寬競爭問題;
[0010](4)內存控制器及內存帶寬的競爭問題;
[0011](5)內存的非一致訪問問題;
[0012]其中內存的非一致訪問問題是除了以上微架構的資源使用問題之外,還存在NUMA架構最普遍的問題。
[0013]針對以上問題,現(xiàn)有的虛擬機傳統(tǒng)調度算法主要根據(jù)系統(tǒng)中CPU的負載情況調度相應的虛擬機,具體的解決方案主要可分為如下三種:
[0014](I)內存感知的調度及內存分配管理等方法;
[0015](2)共享緩存資源競爭消除調度方法;
[0016]⑶NUMA結構邏輯劃分的方法。
[0017]以上的調度算法沒有考慮共享緩存、核間互連網(wǎng)絡(interconnect)和內存控制器等共享物理資源微架構(micro-architecture)的在線運行使用情況。而在同一個NUMA多核系統(tǒng)中,以上幾個問題對總體性能互相影響,其相互之間的作用關系錯綜復雜。依靠單一的解決方案不能完全解決所有問題。
[0018]因此,在現(xiàn)有的虛擬化系統(tǒng)中,還沒有完全有效利用NUMA多核硬件結構所能提供的性能優(yōu)勢,導致虛擬化系統(tǒng)的硬件資源、能耗資源的浪費。

【發(fā)明內容】

[0019]針對現(xiàn)有技術的不足,本發(fā)明提供了一種基于微架構感知的虛擬機調度多策略選擇方法。
[0020]一種基于微架構感知的虛擬機調度多策略選擇方法,所述的虛擬機調度多策略選擇方法應用于NUMA多核體系結構,包括:
[0021](I)采集所述的NUMA多核體系結構中各個虛擬機性能特征信息;
[0022]所述的性能特征信息包括虛擬機緩存行共享狀態(tài)比例、虛擬機內存帶寬占用率和虛擬機緩存失效率;
[0023](2)根據(jù)虛擬機的性能特征信息,按照設定的性能特征優(yōu)先級從高至低依次為各個虛擬機設定調度算法,并根據(jù)調度算法將各個虛擬機劃分至相應的隊列中;
[0024]所述的隊列分別為緩存數(shù)據(jù)共享策略隊列、內存帶寬均衡策略隊列、資源競爭消除策略隊列和默認本地運行策略隊列;
[0025](3)循環(huán)進行虛擬機調度,每次循環(huán)過程如下:
[0026]按照設定的隊列優(yōu)先級從高至低依次檢測各個隊列中的虛擬機是否發(fā)生變化,若發(fā)生變化,則調用并執(zhí)行該隊列對應的調度算法進行虛擬機調度;若不發(fā)生變化,則繼續(xù)判斷下一個隊列是否變化,直至最后一個隊列:
[0027]若最后一個隊列發(fā)生變化,則調用并執(zhí)行相應的調度算法后休眠設定的時間周期后進入下一次循環(huán);
[0028]若最后一個隊列不發(fā)生變化,則休眠設定的時間周期后進入下一次循環(huán)。
[0029]本發(fā)明中各個隊列設定的調度算法如下:
[0030]所述的緩存數(shù)據(jù)共享策略隊列對應的調度算法為緩存數(shù)據(jù)共享調度算法;
[0031]所述的內存帶寬均衡策略隊列對應的調度算法為內存帶寬均衡算法;
[0032]所述的資源競爭消除策略隊列對應的調度算法為共享資源競爭消除算法;
[0033]所述的默認本地運行策略隊列對應的調度算法為本地運行調度調整算法。
[0034]本發(fā)明中各個調度算(包括緩存數(shù)據(jù)共享調度算法、內存帶寬均衡算法、共享資源競爭消除算法和本地運行調度調整算法)法均為已知算法,運行時直接調用該調度算法對應的函數(shù)即可。
[0035]在虛擬化系統(tǒng)中,虛擬機對資源的使用情況各不相同。系統(tǒng)中微架構資源使用情況和內存訪問非一致性問題對于每臺虛擬機的性能影響也各不相同。一部分虛擬機由于緩存數(shù)據(jù)共享帶來的性能提升較為明顯,一部分虛擬機對于緩存和互連資源(QPI)的競爭導致的性能下降較為明顯,其他虛擬機的性能對于內存控制器和內存帶寬的使用較為敏感,還有其他的虛擬機對于內存非一致性訪問延遲較為敏感。
[0036]本發(fā)明的微架構感知的多策略虛擬機調度方法,該多策略虛擬機調度方法中首先采集各個虛擬機的性能特征信息,并通過對虛擬機的運行性能特征信息中各個性能特征,按照設定的性能特征優(yōu)先級從高至低依次為各個虛擬機設定調度算法,并根據(jù)調度算法將各個虛擬機劃分至相應的隊列中,并按照設定的隊列優(yōu)先級判斷各個隊列的變化,根據(jù)隊列的變化來調用相應的調度算法。該多策略虛擬機調度方法有效利用NUMA多核系統(tǒng)中潛在的性能提升空間,從而提高虛擬化系統(tǒng)的整體性能,降低物理資源使用成本,同時降低能耗等其他管理開銷。
[0037]由于虛擬機緩存行共享狀態(tài)比例虛擬機內存帶寬占用率和虛擬機緩存失效率對虛擬機的運行性能影響逐漸減小,作為優(yōu)選,所述的性能特征優(yōu)先級從高至低依次為虛擬機緩存行共享狀態(tài)比例、虛擬機內存帶寬占用率和虛擬機緩存失效率。
[0038]所述步驟(2)通過以下方法為各個虛擬機設定調度算法:
[0039](2-1)比較該虛擬機的緩存行共享狀態(tài)比例與第一閾值的大小關系,若大于第一閾值,則設定該虛擬機的調度算法為緩存數(shù)據(jù)共享調度算法,否則,進行步驟(2-2);
[0040](2-2)比較該虛擬機的虛擬機內存帶寬占用率與第二閾值的大小關系,若大于第二閾值,則設定虛擬機的調度算法為內存帶寬均衡算法,否則,執(zhí)行步驟(2-3);
[0041](2-3)比較該虛擬機的虛擬機緩存失效率與第三閾值的大小關系,若大于第三閾值,則設定該虛擬機的調度算法為共享資源競爭消除算法,否則,設定該虛擬機的調度算法為本地運行調度調整算法。
[0042]所述的第一閾值為0.5?0.8。
[0043]所述的第二閾值為服務器單路內存帶寬的1/2?4/5。
[0044]所述的第三閾值為0.5?0.8。
[0045]每個閾值設置的高低影響到整個虛擬系統(tǒng)的運行性能,通過合理的選擇第一閾值、第二閾值和第三閾值可以有效提高虛擬系統(tǒng)的整體運行性能。其中服務器(物理機)單路內存帶寬為6GB/s到lOGB/s,根據(jù)物理機配置不同而有所不同。
[0046]作為優(yōu)選,所述的隊列優(yōu)先級從高至低依次為緩存數(shù)據(jù)共享策略隊列、內存帶寬均衡策略隊列、資源競爭消除策略隊列和默認本地運行策略隊列。
[0047]作為優(yōu)選,所述的時間周期動態(tài)可調,若該輪循環(huán)中至少有一個隊列的虛擬機發(fā)生變化,則所述的時間周期為第一時間周期,若該輪循環(huán)中所有隊列中的虛擬機均不發(fā)生變化,則該時間周期為第二時間周期,且第二時間周期大于第一時間周期。
[0048]休眠的時間周期可以不變,即不管各個隊列是否發(fā)生變化均休眠的時間周期均相同。本發(fā)明中通過動態(tài)調整該休眠的時間周期,可以降低系統(tǒng)開銷,同時保證虛擬機行為變化時,及時執(zhí)行調整策略。第二時間周期比第一時間周期大2?5s,通常情況下第一時間周期為5?10s,第二時間周期為8?15s。第一時間周期和第二時間周期的具體取值也可以根據(jù)實際應用情況設置。
[0049]本發(fā)明的微架構感知的多策略虛擬機調度方法,根據(jù)性能特征進行分析處理,將所有的虛擬機劃分為若干類,并為各類虛擬機設定相應的調度策略。該多策略虛擬機調度方法有效利用NUMA多核系統(tǒng)中虛擬機的性能特征對虛擬機的影響特征,針對不同影響采用不同的調度策略,從而提高虛擬化系統(tǒng)的整體性能,降低物理資源使用成本,同時降低能耗等其他管理開銷。
【專利附圖】

【附圖說明】[0050]圖1為本發(fā)明的微架構感知的多策略虛擬機調度方法的流程圖;
[0051]圖2為本發(fā)明的每次循環(huán)的流程圖。
【具體實施方式】
[0052]下面將結合附圖和【具體實施方式】對本發(fā)明進行詳細說明。
[0053]本實施例的虛擬機調度多策略選擇方法應用于NUMA多核體系結構,該NUMA多核體系結構包括與若干個與各個虛擬機一一對應的硬件性能采集單元和性能監(jiān)控器,與所有虛擬機性能監(jiān)控器連接的特征分析器,以及與特征分析器連接的策略選擇器。系統(tǒng)通過性能監(jiān)控器利用硬件性能信息采集單元在線獲取虛擬機的運行性能信息,性能監(jiān)控器將收集到的虛擬機性能特征信息傳遞到特征分析器中,經(jīng)過特征分析器對虛擬機的性能特征信息進行分析處理,將虛擬機的性能特征信息傳遞給策略選擇器中。通過策略選擇器為系統(tǒng)中的每臺虛擬機選擇相應的調度管理策略,同時將虛擬機插入相應策略的虛擬機管理隊列中。系統(tǒng)周期性地調用不同策略的虛擬機調度算法,調度相應策略隊列中的虛擬機。
[0054]一種基于微架構感知的虛擬機調度多策略選擇方法,如圖1所示,包括:
[0055](I)采集該NUMA多核體系結構中各個虛擬機性能特征信息,其中性能特征信息包括虛擬機緩存行共享狀態(tài)比例、虛擬機內存帶寬占用率和虛擬機緩存失效率。
[0056](2)根據(jù)虛擬機的性能特征信息,按照設定的性能特征優(yōu)先級從高至低依次為各個虛擬機設定調度算法,并根據(jù)調度算法將各個虛擬機劃分至相應的隊列中;
[0057]本實施例中的隊列分別為緩存數(shù)據(jù)共享策略隊列(記為CS隊列)、內存帶寬均衡策略隊列(記為MU隊列)、資源競爭消除策略隊列(記為RC隊列)和默認本地運行策略隊列(記為Default隊列)。各個隊列設定的調度算法如下:
[0058]緩存數(shù)據(jù)共享策略隊列對應的調度算法為緩存數(shù)據(jù)共享調度算法;
[0059]內存帶寬均衡策略隊列對應的調度算法為內存帶寬均衡算法;
[0060]資源競爭消除策略隊列對應的調度算法為共享資源競爭消除算法;
[0061]默認本地運行策略隊列對應的調度算法為本地運行調度調整算法。
[0062]本實施例中的性能特征優(yōu)先級從高至低依次為虛擬機緩存行共享狀態(tài)比例、虛擬機內存帶寬占用率和虛擬機緩存失效率。并通過以下方法為各個虛擬機設定調度算法:
[0063](2-1)比較該虛擬機的緩存行共享狀態(tài)比例與第一閾值(本實施例中第一閾值為
0.6)的大小關系,若大于第一閾值,則設定該虛擬機的調度算法為緩存數(shù)據(jù)共享調度算法,否則,進行步驟(2-2);
[0064](2-2)比較該虛擬機的虛擬機內存帶寬占用率與第二閾值的大小關系,若大于第二閾值(本實施例中第二閾值為服務器單路內存帶寬的4/5,其中服務器單路最大內存帶寬為lOGB/s,則第二閾值為8GB/s),則設定虛擬機的調度算法為內存帶寬均衡算法,否則,執(zhí)行步驟(2-3);
[0065](2-3)比較該虛擬機的虛擬機緩存失效率與第三閾值(本實施例中第三閾值為
0.6)的大小關系,若大于第三閾值,則設定該虛擬機的調度算法為共享資源競爭消除算法,否則,設定該虛擬機的度算法為本地運行調度調整算法。
[0066](3)循環(huán)進行虛擬機調度,每次循環(huán)過程如下:
[0067]按照設定的隊列優(yōu)先級從高至低依次檢測各個隊列中的虛擬機是否發(fā)生變化,若發(fā)生變化,則調用并執(zhí)行該隊列對應的調度算法進行虛擬機調度;若不發(fā)生變化,則繼續(xù)判斷下一個隊列是否變化,直至最后一個隊列:
[0068]若最后一個隊列發(fā)生變化,則調用并執(zhí)行相應的調度算法后休眠設定的時間周期后進入下一次循環(huán);
[0069]若最后一個隊列不發(fā)生變化,則休眠設定的時間周期后進入下一次循環(huán)。
[0070]本實施例中隊列優(yōu)先級從高至低依次為緩存數(shù)據(jù)共享策略隊列、內存帶寬均衡策略隊列、資源競爭消除策略隊列和默認本地運行策略隊列。每次循環(huán)具體過程如圖2所示,依次判斷緩存數(shù)據(jù)共享策略隊列、內存帶寬均衡策略隊列、資源競爭消除策略隊列和默認本地運行策略隊列中的虛擬機是否發(fā)生變化,發(fā)生變化后則對該隊列中的虛擬機實施相應的調度算法。對于默認本地運行策略隊列,若發(fā)生變化,則調用并執(zhí)行相應的調度算法后休眠設定的時間周期后進入下一次循環(huán);否則直接休眠設定的時間周期后進入下一次循環(huán)。
[0071]本實施例中時間周期動態(tài)可調,若該輪循環(huán)中至少有一個隊列的虛擬機發(fā)生變化,則該時間周期為第一時間周期(本實施例中為10s),若該輪循環(huán)中所有隊列中的虛擬機均不發(fā)生變化,則該時間周期為第二時間周期(本實施例中為12s),第二時間周期大于第一時間周期。
[0072]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。
【權利要求】
1.一種基于微架構感知的虛擬機調度多策略選擇方法,所述的虛擬機調度多策略選擇方法應用于NUMA多核體系結構,其特征在于,包括: (1)采集所述的NUMA多核體系結構中各個虛擬機性能特征信息; 所述的性能特征信息包括虛擬機緩存行共享狀態(tài)比例、虛擬機內存帶寬占用率和虛擬機緩存失效率; (2)根據(jù)虛擬機的性能特征信息,按照設定的性能特征優(yōu)先級從高至低依次為各個虛擬機設定調度算法,并根據(jù)調度算法將各個虛擬機劃分至相應的隊列中; 所述的隊列分別為緩存數(shù)據(jù)共享策略隊列、內存 帶寬均衡策略隊列、資源競爭消除策略隊列和默認本地運行策略隊列; (3)循環(huán)進行虛擬機調度,每次循環(huán)過程如下: 按照設定的隊列優(yōu)先級從高至低依次檢測各個隊列中的虛擬機是否發(fā)生變化,若發(fā)生變化,則調用并執(zhí)行該隊列對應的調度算法進行虛擬機調度;若不發(fā)生變化,則繼續(xù)判斷下一個隊列是否變化,直至最后一個隊列: 若最后一個隊列發(fā)生變化,則調用并執(zhí)行相應的調度算法后休眠設定的時間周期后進入下一次循環(huán); 若最后一個隊列不發(fā)生變化,則休眠設定的時間周期后進入下一次循環(huán)。
2.如權利要求1所述的基于微架構感知的虛擬機調度多策略選擇方法,其特征在于,所述的性能特征優(yōu)先級從高至低依次為虛擬機緩存行共享狀態(tài)比例、虛擬機內存帶寬占用率和虛擬機緩存失效率。
3.如權利要求2所述的基于微架構感知的虛擬機調度多策略選擇方法,其特征在于,所述步驟(2)通過以下方法為各個虛擬機設定調度算法: (2-1)比較該虛擬機的緩存行共享狀態(tài)比例與第一閾值的大小關系,若大于第一閾值,則設定該虛擬機的調度算法為緩存數(shù)據(jù)共享調度算法,否則,進行步驟(2-2); (2-2)比較該虛擬機的虛擬機內存帶寬占用率與第二閾值的大小關系,若大于第二閾值,則設定虛擬機的調度算法為內存帶寬均衡算法,否則,執(zhí)行步驟(2-3); (2-3)比較該虛擬機的虛擬機緩存失效率與第三閾值的大小關系,若大于第三閾值,則設定該虛擬機的調度算法為共享資源競爭消除算法,否則,設定該虛擬機的調度算法為本地運行調度調整算法。
4.如權利要求3所述的基于微架構感知的虛擬機調度多策略選擇方法,其特征在于,所述的第一閾值為0.5~0.8。
5.如權利要求3所述的基于微架構感知的虛擬機調度多策略選擇方法,其特征在于,所述的第二閾值為服務器單路內存帶寬的1/2~4/5。
6.如權利要求3所述的基于微架構感知的虛擬機調度多策略選擇方法,其特征在于,所述的第三閾值為0.5~0.8。
7.如權利要求1~6中任意一項權利要求所述的基于微架構感知的虛擬機調度多策略選擇方法,其特征在于,所述的隊列優(yōu)先級從高至低依次為緩存數(shù)據(jù)共享策略隊列、內存帶寬均衡策略隊列、資源競爭消除策略隊列和默認本地運行策略隊列。
8.如權利要求7所述的基于微架構感知的虛擬機調度多策略選擇方法,其特征在于,所述的時間周期動態(tài)可調,若該輪循環(huán)中至少有一個隊列的虛擬機發(fā)生變化,則所述的時間周期為第一時間周期, 若該輪循環(huán)中所有隊列中的虛擬機均不發(fā)生變化,則該時間周期為第二時間周期,且第二時間周期大于第一時間周期。
【文檔編號】G06F9/455GK103955397SQ201410176035
【公開日】2014年7月30日 申請日期:2014年4月28日 優(yōu)先權日:2014年4月28日
【發(fā)明者】王總輝, 程雨夏, 陳文智, 俞新杰, 金睿 申請人:浙江大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1