熱點均衡控制方法及相關裝置製造方法
2023-05-19 04:54:46 4
熱點均衡控制方法及相關裝置製造方法
【專利摘要】本發明實施例公開了熱點均衡控制方法及相關裝置。上述方法包括:建立當前最熱節點集;預測所述當前最熱節點集中各物理NUMA節點的待訪問熱點內存頁;確定最熱虛擬機;將所述最熱虛擬機對應的待訪問熱點內存頁遷移至空閒物理NUMA節點。可見,在本發明實施例中,預測了物理機上的待訪問熱點內存頁,並對最熱虛擬機擁有的待訪問熱點內存頁進行遷移。預測出的待訪問熱點內存頁是未來可能被頻繁訪問的內存頁,對其進行遷移後,可在一定程度上降低未來某NUMA節點過熱出現的概率,實現熱點均衡控制。
【專利說明】熱點均衡控制方法及相關裝置
【技術領域】
[0001] 本發明涉及通信【技術領域】,具體涉及熱點均衡控制方法及相關裝置。
【背景技術】
[0002] 隨著虛擬化、雲計算的發展,非一致性內存架構(Non-uniform Memory Architecture,NUMA)的物理機(物理伺服器)上廣泛部署了虛擬機。
[0003] 在基於NUMA架構的物理機中,包含多個物理處理器和多個內存。上述多個物理處 理器和多個內存可被劃分為多個組(也可稱為物理NUMA節點)。物理NUMA節點上會運行 一臺或多臺虛擬機。
[0004] 在實施本發明創造中,發明人發現,由於虛擬機運行的業務需要頻繁訪問(主要 是寫操作)等原因,物理NUMA節點內存中的某些內存頁會被頻繁訪問、使用,造成該NUMA 節點過熱。可將被頻繁訪問的內存頁,尤其是被頻繁寫操作的內存頁稱為熱點內存頁。
[0005] 現有技術中是將虛擬機遷移到其他物理NUMA節點,並在遷移過程中,首先遷移使 用率最高的內存頁。但這種遷移方案未考慮熱點內存頁的未來不確定性:當前被頻繁訪問 的內存頁,有可能不久之後將不再被頻繁訪問。這樣,即使從NUMA節點上遷移出了當前被 頻繁訪問的內存頁,但未來該NUMA節點可能依然過熱。
【發明內容】
[0006] 本發明實施例的目的在於提供熱點均衡控制方法及相關裝置,以解決即使從物理 NUMA節點上遷移出了當前被頻繁訪問的內存頁,但未來該NUMA節點可能依然過熱的問題。
[0007] 本發明實施例提供如下技術方案:
[0008] 根據本發明實施例的第一方面,提供一種熱點均衡控制方法,包括:
[0009] 建立當前最熱節點集;所述當前最熱節點集中的物理非一致性內存架構NUMA節 點的內存負載不小於負載閾值;
[0010] 預測所述當前最熱節點集中各物理NUMA節點的待訪問熱點內存頁;所述待訪問 熱點內存頁為未來訪問頻率將超過訪問頻率閾值的內存頁;
[0011] 確定最熱虛擬機,所述最熱虛擬機為擁有所述待訪問熱點內存頁最多的虛擬機, 或者,所述最熱虛擬機為擁有所述待訪問熱點內存頁的各虛擬機中負載最高的虛擬機;
[0012] 將所述最熱虛擬機擁有的所述待訪問熱點內存頁遷移至空閒物理NUMA節點。
[0013] 結合第一方面,在第一種可能的實現方式中,所述預測所述當前最熱節點集中所 有物理NUMA節點的待訪問熱點內存頁包括:建立所述當前最熱節點集中每一物理NUMA節 點的待訪問內存頁集合,所述待訪問內存頁集合包含待訪問熱點內存頁;對所有待訪問內 存頁集合中的待訪問熱點內存頁進行合併,得到待訪問內存頁總集合。
[0014] 結合第一方面第一種可能的實現方式,在第二種可能的實現方式中,所述建立所 述當前最熱節點集中每一物理NUMA節點的待訪問內存頁集合包括:針對所述每一物理 NUMA節點建立已訪問內存頁集合;從每一所述已訪問內存頁集合中,剔除共享內存頁以及 訪問頻率權重小於權重閾值的已訪問內存頁,得到內存頁高權集合;使用每一所述內存頁 高權集合從多種預測模型中選擇出相應的最佳預測模型;其中,任一所述預測模型表徵一 種或多種內存頁之間的關聯關係;所述最佳預測模型表徵的各種關聯關係能夠將所述內存 頁高權集合中訪問頻率權重最高的已訪問內存頁,與其他不少於B的已訪問內存頁關聯起 來;所述B為預設頁數;使用每一所述最佳預測模型從指定集合中篩選出內存頁,篩選出 的內存頁構成相應物理NUMA節點的待訪問內存頁集合;所述指定集合至少包含相應物理 NUMA節點所對應的已訪問內存頁集合中的已訪問內存頁。
[0015] 結合第一方面第一種可能的實現方式或第二種可能的實現方式,在第三種可能的 實現方式中,所述對所有待訪問內存頁集合中的待訪問熱點內存頁進行合併,得到待訪問 內存頁總集合包括:對所述當前最熱節點集中每一物理NUMA節點的待訪問內存頁集合進 行擴展,得到擴展後的待訪問內存頁集合;合併所有擴展後的待訪問內存頁集合,得到所述 待訪問內存頁總集合。
[0016] 結合第一方面至第一方面第三種可能的實現方式,在第四種可能的實現方式中, 在確定最熱虛擬機之後,將所述最熱虛擬機對應的待訪問熱點內存頁遷移至空閒物理NUMA 節點之前,還包括:制定多種遷移方式;任一所述遷移方式指示所述最熱虛擬機,所述最熱 虛擬機的待訪問熱點內存頁欲遷移至的空閒物理NMUA節點,以及,當前存儲有所述最熱虛 擬機的待訪問熱點內存頁的各物理NUMA節點,向所述空閒物理NUMA節點所遷移的內存頁; 計算按不同的遷移方式遷移所述最熱虛擬機的待訪問熱點內存頁的遷移開銷;所述將所述 最熱虛擬機對應的待訪問熱點內存頁遷移至空閒物理NUMA節點包括:按遷移開銷最低的 遷移方式進行遷移。
[0017] 根據本發明實施例的第二方面,提供一種宿主機,包括:
[0018] 最熱節點集建立單元,用於建立當前最熱節點集;所述當前最熱節點集中的物理 非一致性內存架構NUMA節點的內存負載不小於負載閾值;
[0019] 內存分布預測單元,用於預測所述當前最熱節點集中各物理NUMA節點的待訪問 熱點內存頁;所述待訪問熱點內存頁為未來訪問頻率將超過訪問頻率閾值的內存頁;
[0020] 最熱虛擬機確定單元,用於確定最熱虛擬機,所述最熱虛擬機為擁有所述待訪問 熱點內存頁最多的虛擬機,或者,所述最熱虛擬機為擁有所述待訪問熱點內存頁的各虛擬 機中負載最高的虛擬機;
[0021] 遷移單元,用於將所述最熱虛擬機擁有的所述待訪問熱點內存頁遷移至空閒物理 NUMA節點。
[0022] 結合第二方面,在第一種可能的實現方式中,在所述預測所述當前最熱節點集中 所有物理NUMA節點待訪問熱點內存頁的方面,所述內存分布預測單元用於:建立所述當前 最熱節點集中每一物理NUMA節點的待訪問內存頁集合,所述待訪問內存頁集合包含待訪 問熱點內存頁;對所有待訪問內存頁集合中的待訪問熱點內存頁進行合併,得到待訪問內 存頁總集合。
[0023] 結合第二方面第一種可能的實現方式,在第二種可能的實現方式中,在所述建立 所述當前最熱節點集中每一物理NUMA節點的待訪問內存頁集合的方面,所述內存分布預 測單元用於:針對所述每一物理NUMA節點建立已訪問內存頁集合;從每一所述已訪問內存 頁集合中,剔除共享內存頁以及訪問頻率權重小於權重閾值的已訪問內存頁,得到內存頁 高權集合;使用每一所述內存頁高權集合從多種預測模型中選擇出相應的最佳預測模型; 其中,任一所述預測模型表徵一種或多種內存頁之間的關聯關係;所述最佳預測模型表徵 的各種關聯關係能夠將所述內存頁高權集合中訪問頻率權重最高的已訪問內存頁,與其他 不少於B的已訪問內存頁關聯起來;所述B為預設頁數;使用每一所述最佳預測模型從指 定集合中篩選出內存頁,篩選出的內存頁構成相應物理NUMA節點的待訪問內存頁集合;所 述指定集合至少包含相應物理NUMA節點所對應的已訪問內存頁集合中的已訪問內存頁。
[0024] 結合第二方面第一種或第二種可能的實現方式,在第三種可能的實現方式中,在 所述對所有待訪問內存頁集合中的待訪問熱點內存頁進行合併,得到待訪問內存頁總集合 的方面,所述內存分布預測單元用於:對所述當前最熱節點集中每一物理NUMA節點的待訪 問內存頁集合進行擴展,得到擴展後的待訪問內存頁集合;合併所有擴展後的待訪問內存 頁集合,得到所述待訪問內存頁總集合。
[0025] 結合第二方面至第二方面第三種可能的實現方式,在第四種可能的實現方式中, 還包括:遷移方式制定單元,用於制定多種遷移方式;任一所述遷移方式指示所述最熱虛 擬機,所述最熱虛擬機的待訪問熱點內存頁欲遷移至的空閒物理NMUA節點,以及,當前存 儲有所述最熱虛擬機的待訪問熱點內存頁的各物理NUMA節點,向所述空閒物理NUMA節點 所遷移的內存頁;遷移開銷計算單元,用於計算按不同的遷移方式遷移所述最熱虛擬機的 待訪問熱點內存頁的遷移開銷;在所述將所述最熱虛擬機對應的待訪問熱點內存頁遷移至 空閒物理NUMA節點的方面,所述遷移單元用於:按遷移開銷最低的遷移方式進行遷移。
[0026] 根據本發明實施例的第三方面,提供一種物理主機,包括:硬體層、運行在所述硬 件層之上的宿主機Host、以及運行在所述Host之上的至少一個虛擬機VM;所述硬體層包括 至少一個物理非一致性內存架構NUMA節點;所述物理NUMA節點包含存儲器和至少一個處 理器;其中,所述Host用於:
[0027] 建立當前最熱節點集;所述當前最熱節點集中的物理非一致性內存架構NUMA節 點的內存負載不小於負載閾值;
[0028] 預測所述當前最熱節點集中各物理NUMA節點的待訪問熱點內存頁;所述待訪問 熱點內存頁為未來訪問頻率將超過訪問頻率閾值的內存頁;
[0029] 確定最熱虛擬機,所述最熱虛擬機為擁有所述待訪問熱點內存頁最多的虛擬機, 或者,所述最熱虛擬機為擁有所述待訪問熱點內存頁的各虛擬機中負載最高的虛擬機;
[0030] 將所述最熱虛擬機擁有的所述待訪問熱點內存頁遷移至空閒物理NUMA節點。
[0031] 可見,在本發明實施例中,預測了物理機上的待訪問熱點內存頁,並對最熱虛擬機 對應的待訪問熱點內存頁進行遷移。預測出的待訪問熱點內存頁是未來可能被頻繁訪問的 內存頁,對其進行遷移後,可在一定程度上降低未來某NUMA節點過熱出現的概率,實現熱 點均衡控制。
【專利附圖】
【附圖說明】
[0032] 為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用 的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本 領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的 附圖。
[0033] 圖1為本發明實施例提供的NUMA結構的物理機示例圖;
[0034] 圖2為本發明實施例提供的NUMA結構的物理機應用場景示例圖;
[0035] 圖3-6為本發明實施例提供的熱點均衡控制方法各流程圖;
[0036] 圖7為本發明實施例提供的建立待訪問內存頁集合的流程圖;
[0037] 圖8-9為本發明實施例提供的熱點均衡控制方法各流程圖;
[0038] 圖10-11為本發明實施例提供的遷移示例圖;
[0039] 圖12為本發明實施例提供的宿主機結構示例圖;
[0040] 圖13為本發明實施例提供的物理主機結構示例圖;
[0041] 圖14為本發明實施例提供的物理主機另一結構示例圖。
【具體實施方式】
[0042] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅 僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術 人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。 [0043] 為了方便理解本發明實施例,首先在此介紹本發明實施例描述中會引入的幾個術 語:
[0044] 虛擬機VM :通過虛擬機軟體可以在一臺物理主機上模擬出一臺或者多臺虛擬的 計算機,而這些虛擬機就像真正的計算機那樣進行工作,虛擬機上可以安裝作業系統和應 用程序,虛擬機還可訪問網絡資源。對於在虛擬機中運行的應用程式而言,虛擬機就像是在 真正的計算機中進行工作。
[0045] 硬體層:虛擬化環境運行的硬體平臺。其中,硬體層可包括多種硬體,例如某物理 主機的硬體層可包括處理器(例如CPU)和內存,還可以包括網卡、存儲器等等高速/低速 輸入/輸出(1/0, Input/Output)設備,及具有特定處理功能的其它設備,如輸入輸出內存 管理單兀(IOMMU,Input/Output Memory Management Unit),其中 I0MMU 可用於虛擬機物 理地址和Host物理地址的轉換。
[0046] 宿主機(Host):作為管理層,用以完成硬體資源的管理、分配;為虛擬機呈現虛擬 硬體平臺;實現虛擬機的調度和隔離。其中,Host可能是虛擬機監控器(VMM);此外,有時 VMM和1個特權虛擬機配合,兩者結合組成Host。其中,虛擬硬體平臺對其上運行的各個 虛擬機提供各種硬體資源,如提供虛擬處理器(如VCPU)、虛擬內存、虛擬磁碟、虛擬網卡等 等。虛擬磁碟可對應Host的一個文件或者一個邏輯塊設備。虛擬機運行在Host為其準備 的虛擬硬體平臺上,Host上運行一個或多個虛擬機。
[0047] 本發明實施例的熱點均衡控制方法可以應用於非一致性內存架構(Non-uniform Memory Architecture, NUMA)的物理機(物理伺服器)。
[0048] 上述物理機(物理伺服器)可包含硬體層、運行在該硬體層之上的宿主機(Host)、 以及運行在該Host之上的至少一個虛擬機VM。
[0049] 上述硬體層可包括單板,在單板上包含多個物理處理器和多個內存。
[0050] 上述單板上的幾個物理處理器通過內存總線與一塊內存相連構成一個組(也可 稱為物理NUMA節點),這樣,單板上的多個物理處理器和多個內存就可以被劃分為若干個 物理NUMA節點。
[0051] 對於某一物理NUMA節點(例如物理NUMA節點1)而言,處於該物理NUMA節點中 的內存被稱為本地內存(local memory),而處於其他物理NUMA節點中的內存,相對於物理 NUMA節點1而言,被稱為外部內存(foreign memory)。每個物理NUMA節點中的處理器訪 問本地內存和訪問外部內存的延遲是不同的。
[0052] 此外,物理NUMA節點又可以分為三類,即本地節點(local node),鄰居節點 (neighbor node)和遠端節點(remote node)。對於某個物理NUMA節點中的所有CPU而言, 該節點為本地節點,與本地節點相鄰的物理NUMA節點可稱為鄰居節點,而非本地節點或鄰 居節點的節點,則可稱為遠端節點。
[0053] CPU訪問本地節點上的內存時,訪問延遲非常低,而訪問鄰居節點就會比訪問本地 節點的訪問延遲高,訪問遠端節點的訪問延遲則更高。
[0054] 請參見圖1,為本發明實施例設定的一種NUMA結構的物理機100(也可稱為計算機 系統)。上述物理機(物理伺服器)的硬體層包括物理NUMA節點101-103。
[0055] 每個物理NUMA節點可包括一個或多個處理器和本地內存。示例性的,在本實施例 中,每個物理NUMA節點包括4個處理器(處理器104-107)和存儲器108。
[0056] 當然,在每個物理NUMA節點內的處理器的數目可以是可變的,以及每個物理NUMA 節點可以具有自己的RAM(隨機存儲器)。
[0057] 物理機100的硬體層上運行有Hostl09,更具體的,Hostl09可由VMM和VMM上運 行的特權虛擬機結合組成。
[0058] Hostl09上還可運行有多個虛擬機(VM110-112)。
[0059] 需要說明的是,雖然物理機100在本實施例中被描繪為包括虛擬機110-112,但在 其他實施例中,物理機100可執行更多或更少的虛擬機。
[0060] Hostl09為虛擬機指定主物理NUMA節點(可簡稱為主節點),在分配硬體資源時, 優先將主節點上的硬體資源(物理處理器和物理內存)分配給虛擬機。
[0061] 請參見圖2,與物理主機相類似,虛擬機上可運行客戶作業系統(guest 0S)。並且, 每個虛擬機中可包含一個或多個虛擬NUMA節點。以VM110為例,其包含虛擬NUMA節點113 和 114。
[0062] 進一步的,一個虛擬NUMA節點中可包含一個或多個虛擬處理器以及一個虛擬存 儲器。
[0063] 示例性的,圖2中,虛擬NUMA節點中包含兩個虛擬處理器一VCPU115和116,以及, 虛擬存儲器117。
[0064] 需要說明的是,雖然在本實施例中虛擬機被描繪為包括兩個虛擬NUMA節點,但在 其他實施例中,其可包括更多或更少的虛擬NUMA節點。另外,雖然在本實施例中,虛擬UNMA 節點被描繪為具有兩個虛擬處理器,但在其他實施例中,虛擬NMUA節點可以具有更多或更 少的虛擬處理器。此外,每個虛擬NUMA節點可以具有與其他虛擬NUMA節點不同的虛擬NUMA 拓撲結構。例如,一個虛擬NUMA節點可以具有4個虛擬處理器和16G字節的RAM,而另一個 虛擬NUMA節點可以具有2個虛擬處理器和8G字節的RAM。
[0065] 上述熱點均衡控制方法的執行主體可為熱點均衡控制裝置。而熱點均衡控制裝置 則可作為Hostl09的一個組件。
[0066] 請參見圖3,由熱點均衡控制裝置執行的熱點均衡控制方法至少可包括如下步 驟:
[0067] S1、建立當前最熱節點集;
[0068] 其中,當前最熱節點集中的物理NUMA節點的內存負載不小於負載閾值(H)。
[0069] 而內存負載則是根據上述物理NUMA節點的內存利用率計算得到。
[0070] 本文後續將對如何計算內存負載進行詳細介紹。
[0071] S2、預測上述當前最熱節點集中各物理NUMA節點的待訪問熱點內存頁。
[0072] 所謂的熱點內存頁,指的是,未來將被頻繁訪問(尤其是被頻繁寫操作)的內存 頁。
[0073] 可設計在時間段T內,訪問頻率(特別是寫操作頻率)超過訪問頻率閾值的內存 頁為熱點內存頁。該閾值可為10、20等等,可由本領域技術人員根據實際需要進行靈活設 定,在此不作贅述。相類似,T也可由本領域技術人員根據實際需要進行靈活設定,在此亦 不作贅述。
[0074] 本步驟目的是預測未來將有哪些內存頁會被頻繁訪問(寫操作)。
[0075] S3、確定最熱虛擬機。
[0076] 上述最熱虛擬機可為擁有待訪問熱點內存頁最多的虛擬機。
[0077] 舉例來講,在步驟S2中,共預測出1000頁待訪問熱點內存頁,其中,虛擬機1對應 其中的400頁,虛擬機2對應其中的200頁,虛擬機3對應其中的300頁,虛擬機4對應其 中的100頁。則可將虛擬機1確定為最熱虛擬機;或者,將虛擬機1和虛擬機3確定為最熱 虛擬機。
[0078] 或者,上述最熱虛擬機可為擁有熱點內存頁的各虛擬機中負載最高的虛擬機。
[0079] 仍沿用前例,共預測出1000頁待訪問熱點內存頁,其中,虛擬機1對應其中的400 頁,虛擬機2對應其中的200頁,虛擬機3對應其中的300頁,虛擬機4對應其中的100頁。
[0080] 假定,虛擬機1的負載為5,虛擬機2的負載為20,虛擬機3的負載為25,虛擬機4 的負載為30。則可將虛擬機4確定為最熱虛擬機;或者,將虛擬機3和虛擬機4確定為最 熱虛擬機。本文後續將對如何計算各虛擬機負載進行詳細介紹。
[0081] 最熱虛擬機的個數可不限於一個。
[0082] S4、將最熱虛擬機擁有的待訪問熱點內存頁遷移至空閒物理NUMA節點。
[0083] 需要說明的是,在遷移時,可將最熱虛擬機擁有的部分或全部待訪問熱點內存頁 遷移至空閒物理NUMA節點。
[0084] 而空閒物理NUMA節點可以是,所有物理NUMA節點中負載最小的節點,或者,也可 以是節點負載小於某一閾值的物理NUMA節點。
[0085] 可見在本實施例中,預測了物理機上的待訪問熱點內存頁,並對最熱虛擬機擁有 的待訪問熱點內存頁進行遷移。預測出的待訪問熱點內存頁是未來可能被頻繁訪問的內存 頁,對其進行遷移後,可在一定程度上降低未來某NUMA節點過熱出現的概率,實現熱點均 衡控制。
[0086] 下面,將介紹如何建立當前最熱節點集。
[0087] 請參見圖4,建立當前最熱節點集可包含如下步驟:
[0088] SI 1、根據上述各物理NUMA節點的負載計算物理機負載分布均衡度;
[0089] 物理機負載分布均衡度是基於各物理NUMA節點的節點負載計算出來的。
[0090] 如何計算物理NUMA節點的節點負載可有多種方式。例如,可利用節點的內存利用 率和熱頁比進行計算。
[0091] 假定一共有η個物理NUMA節點,其中的第i個物理NUMA節點的負載表示為MDp 該物理NUMA節點的內存利用率表示為MRi,熱頁比表示為HPi,則MDi可通過如下公式計算:
[0092] MDj = MR^HPi (公式一)
[0093] 內存利用率指節點內非空內存的比例。
[0094] 節點的熱頁比,指的是第i個物理NUMA節點上的當前熱點內存頁(也即當前已被 頻繁訪問的內存頁)與所有內存頁之間的比例。
[0095] 需要說明的是,宿主機上記錄有各虛擬機在物理NUMA節點上的內存分布。因此, 可利用宿主機記錄的內存分布來計算物理NUMA節點的內存利用率。
[0096] 所有物理NUMA節點的負載平均值為
【權利要求】
1. 一種熱點均衡控制方法,其特徵在於,包括: 建立當前最熱節點集;所述當前最熱節點集中的物理非一致性內存架構NUMA節點的 內存負載不小於負載閾值; 預測所述當前最熱節點集中各物理NUMA節點的待訪問熱點內存頁;所述待訪問熱點 內存頁為未來訪問頻率將超過訪問頻率閾值的內存頁; 確定最熱虛擬機,所述最熱虛擬機為擁有所述待訪問熱點內存頁最多的虛擬機,或者, 所述最熱虛擬機為擁有所述待訪問熱點內存頁的各虛擬機中負載最高的虛擬機; 將所述最熱虛擬機擁有的所述待訪問熱點內存頁遷移至空閒物理NUMA節點。
2. 如權利要求1所述的方法,其特徵在於, 所述預測所述當前最熱節點集中所有物理NUMA節點的待訪問熱點內存頁包括: 建立所述當前最熱節點集中每一物理NUMA節點的待訪問內存頁集合,所述待訪問內 存頁集合包含待訪問熱點內存頁; 對所有待訪問內存頁集合中的待訪問熱點內存頁進行合併,得到待訪問內存頁總集 合。
3. 如權利要求2所述的方法,其特徵在於,所述建立所述當前最熱節點集中每一物理 NUMA節點的待訪問內存頁集合包括: 針對所述每一物理NUMA節點建立已訪問內存頁集合; 從每一所述已訪問內存頁集合中,剔除共享內存頁以及訪問頻率權重小於權重閾值的 已訪問內存頁,得到內存頁高權集合; 使用每一所述內存頁高權集合從多種預測模型中選擇出相應的最佳預測模型;其中, 任一所述預測模型表徵一種或多種內存頁之間的關聯關係;所述最佳預測模型表徵的各種 關聯關係能夠將所述內存頁高權集合中訪問頻率權重最高的已訪問內存頁,與其他不少於 B的已訪問內存頁關聯起來;所述B為預設頁數; 使用每一所述最佳預測模型從指定集合中篩選出內存頁,篩選出的內存頁構成相應物 理NUMA節點的待訪問內存頁集合;所述指定集合至少包含相應物理NUMA節點所對應的已 訪問內存頁集合中的已訪問內存頁。
4. 如權利要求2或3所述的方法,其特徵在於,所述對所有待訪問內存頁集合中的待訪 問熱點內存頁進行合併,得到待訪問內存頁總集合包括: 對所述當前最熱節點集中每一物理NUMA節點的待訪問內存頁集合進行擴展,得到擴 展後的待訪問內存頁集合; 合併所有擴展後的待訪問內存頁集合,得到所述待訪問內存頁總集合。
5. 如權利要求1-4任一項所述的方法,其特徵在於, 在確定最熱虛擬機之後,將所述最熱虛擬機對應的待訪問熱點內存頁遷移至空閒物理 NUMA節點之前,還包括: 制定多種遷移方式;任一所述遷移方式指示所述最熱虛擬機,所述最熱虛擬機的待訪 問熱點內存頁欲遷移至的空閒物理NMUA節點,以及,當前存儲有所述最熱虛擬機的待訪問 熱點內存頁的各物理NUMA節點,向所述空閒物理NUMA節點所遷移的內存頁; 計算按不同的遷移方式遷移所述最熱虛擬機的待訪問熱點內存頁的遷移開銷; 所述將所述最熱虛擬機對應的待訪問熱點內存頁遷移至空閒物理NUMA節點包括: 按遷移開銷最低的遷移方式進行遷移。
6. -種宿主機,其特徵在於,包括: 最熱節點集建立單元,用於建立當前最熱節點集;所述當前最熱節點集中的物理非一 致性內存架構NUMA節點的內存負載不小於負載閾值; 內存分布預測單元,用於預測所述當前最熱節點集中各物理NUMA節點的待訪問熱點 內存頁;所述待訪問熱點內存頁為未來訪問頻率將超過訪問頻率閾值的內存頁; 最熱虛擬機確定單元,用於確定最熱虛擬機,所述最熱虛擬機為擁有所述待訪問熱點 內存頁最多的虛擬機,或者,所述最熱虛擬機為擁有所述待訪問熱點內存頁的各虛擬機中 負載最高的虛擬機; 遷移單元,用於將所述最熱虛擬機擁有的所述待訪問熱點內存頁遷移至空閒物理NUMA 節點。
7. 如權利要求6所述的宿主機,其特徵在於, 在所述預測所述當前最熱節點集中所有物理NUMA節點的待訪問熱點內存頁的方面, 所述內存分布預測單元用於: 建立所述當前最熱節點集中每一物理NUMA節點的待訪問內存頁集合,所述待訪問內 存頁集合包含待訪問熱點內存頁; 對所有待訪問內存頁集合中的待訪問熱點內存頁進行合併,得到待訪問內存頁總集 合。
8. 如權利要求7所述的宿主機,其特徵在於, 在所述建立所述當前最熱節點集中每一物理NUMA節點的待訪問內存頁集合的方面, 所述內存分布預測單元用於: 針對所述每一物理NUMA節點建立已訪問內存頁集合; 從每一所述已訪問內存頁集合中,剔除共享內存頁以及訪問頻率權重小於權重閾值的 已訪問內存頁,得到內存頁高權集合; 使用每一所述內存頁高權集合從多種預測模型中選擇出相應的最佳預測模型;其中, 任一所述預測模型表徵一種或多種內存頁之間的關聯關係;所述最佳預測模型表徵的各種 關聯關係能夠將所述內存頁高權集合中訪問頻率權重最高的已訪問內存頁,與其他不少於 B的已訪問內存頁關聯起來;所述B為預設頁數; 使用每一所述最佳預測模型從指定集合中篩選出內存頁,篩選出的內存頁構成相應物 理NUMA節點的待訪問內存頁集合;所述指定集合至少包含相應物理NUMA節點所對應的已 訪問內存頁集合中的已訪問內存頁。
9. 如權利要求7或8所述的宿主機,其特徵在於, 在所述對所有待訪問內存頁集合中的待訪問熱點內存頁進行合併,得到待訪問內存頁 總集合的方面,所述內存分布預測單元用於: 對所述當前最熱節點集中每一物理NUMA節點的待訪問內存頁集合進行擴展,得到擴 展後的待訪問內存頁集合; 合併所有擴展後的待訪問內存頁集合,得到所述待訪問內存頁總集合。
10. 如權利要求6至9任一項所述的宿主機,其特徵在於, 還包括:遷移方式制定單元,用於制定多種遷移方式;任一所述遷移方式指示所述最 熱虛擬機,所述最熱虛擬機的待訪問熱點內存頁欲遷移至的空閒物理NMUA節點,以及,當 前存儲有所述最熱虛擬機的待訪問熱點內存頁的各物理NUMA節點,向所述空閒物理NUMA 節點所遷移的內存頁; 遷移開銷計算單元,用於計算按不同的遷移方式遷移所述最熱虛擬機的待訪問熱點內 存頁的遷移開銷; 在所述將所述最熱虛擬機對應的待訪問熱點內存頁遷移至空閒物理NUMA節點的方 面,所述遷移單元用於:按遷移開銷最低的遷移方式進行遷移。
11. 一種物理主機,其特徵在於,包括:硬體層、運行在所述硬體層之上的宿主機Host、 以及運行在所述Host之上的至少一個虛擬機VM ;所述硬體層包括至少一個物理非一致性 內存架構NUMA節點;所述物理NUMA節點包含存儲器和至少一個處理器;其中,所述Host用 於: 建立當前最熱節點集;所述當前最熱節點集中的物理非一致性內存架構NUMA節點的 內存負載不小於負載閾值; 預測所述當前最熱節點集中各物理NUMA節點的待訪問熱點內存頁;所述待訪問熱點 內存頁為未來訪問頻率將超過訪問頻率閾值的內存頁; 確定最熱虛擬機,所述最熱虛擬機為擁有所述待訪問熱點內存頁最多的虛擬機,或者, 所述最熱虛擬機為擁有所述待訪問熱點內存頁的各虛擬機中負載最高的虛擬機; 將所述最熱虛擬機擁有的所述待訪問熱點內存頁遷移至空閒物理NUMA節點。
【文檔編號】G06F9/455GK104216784SQ201410421153
【公開日】2014年12月17日 申請日期:2014年8月25日 優先權日:2014年8月25日
【發明者】顧嘉輝 申請人:杭州華為數位技術有限公司