本發明涉及數據中心領域,尤其涉及一種數據中心多層次解聚合內存系統。
背景技術:
1、深度學習、圖計算、鍵值存儲等任務日益流行,導致數據中心的內存需求激增。然而,在很多情況下,數據中心的內存資源普遍存在內存利用率低、動態性不足的問題。有研究顯示,數據中心實際被積極使用的內存百分比約為50%,而整體內存中約有30%被分配但未被使用。此外,在當前服務器架構中,cpu與物理內存配比固定,導致單臺服務器的內存容量很難動態擴容到所需大小。當應用工作集超出主存容量時,性能可能會發生嚴重的下降。因此,減少內存資源浪費,為內存需求大的應用提供額外的擴展內存,是提高數據中心效率,降低成本的關鍵因素之一。解聚合內存系統可以將cpu與內存資源解耦,形成可供多個主機共享的內存池。主機可以向內存池按需申請內存,從而可以減少內存資源的浪費,并且可以動態地為主機提供擴展內存。因此,構建解聚合內存系統(disaggregated?memorysystem)可以有效解決數據中心的內存問題。
2、目前構建解聚合內存系統的方法主要可分為兩類,第一類方法是優先使用本地內存,將擴展內存作為本地內存的下一級存儲使用,在本地內存快要耗盡時再使用擴展內存,例如tpp方法;第二類方法將本地內存與擴展內存作為兩個互相獨立的空間,兩者的使用互不影響,通常會直接使用擴展內存,例如kona。tpp提供的擴展內存的物理位置仍在本地,其效率受限于擴展內存節點的內存容量,但在本地可提供的內存容量往往是有限的,tpp面臨擴展性不佳的問題。此外,擴展內存節點只能被與其相連的主機訪問,而不能提供給其它主機節點,這會導致內存資源的浪費。例如,由于主機運行的任務不同,某些主機的擴展內存消耗殆盡,而某些主機的擴展內存仍有空閑,前者無法訪問后者的擴展內存,造成了浪費,這是由于它們不能共享擴展內存節點。kona在使用擴展內存的時候無法使用本地內存,而訪問擴展內存的延時要大于本地內存,因此kona訪存的總體延時較大。
技術實現思路
1、針對現有技術的不足,本發明提出一種數據中心多層次解聚合內存系統,包括:
2、主機側,包含:cpu,與cpu連接的本地內存,以及與cpu連接的操作系統;
3、dpu單元,與所述主機側相連,所述dpu單元包含:dpu控制模塊,以及與所述dpu控制模塊連接的dpu內存模塊;
4、遠端內存池,與所述dpu單元相連;
5、其中,dpu控制模塊控制所述dpu單元與所述主機側之間,所述dpu單元與所述遠端內存池之間的內存交互。
6、在本發明一實施例中,所述dpu單元配置的內存容量包含所述dpu內存模塊的實際容量以及所述遠端內存池的容量,其中所述dpu內存模塊實際容量的部分對應真實物理地址范圍;所述遠端內存池的容量部分對應虛擬物理地址范圍;
7、主機側cpu通過虛擬物理地址訪問所述dpu內存模塊;
8、所述dpu控制模塊接收來自主機側cpu的使用vpa的訪存請求,并將虛擬物理地址翻譯為真實物理地址;
9、所述dpu控制模塊根據翻譯得到的真實物理地址訪問所述dpu內存模塊或所述遠端內存池。
10、在本發明一實施例中,所述dpu單元配置有記錄虛擬物理地址和真實物理地址映射關系的頁表,該頁表的每一項至少包括虛擬物理地址號碼、真實物理地址號碼和標志位;
11、其中,所述標志位至少包含present位、valid位,其中所述present位用于表示頁面存在于所述dpu內存模塊或者存在于遠端內存池中,所valid位用于表示頁表項是否有效。
12、在本發明一實施例中,利用快表緩存最近被使用過的頁表項;
13、所述dpu控制模塊先訪問所述快表將虛擬物理地址翻譯為真實物理地址,當所述快表未命中時,則訪問所述頁表,并更新所述快表。
14、在本發明一實施例中,所述本地內存配置有位圖,該位圖用于記錄dpu內存模塊的分配情況,該位圖的每一位為空閑狀態標志位,對應虛擬物理地址空間的一頁面,該空閑狀態標志位用以標識對應頁面的空閑狀態;
15、若接收到主機側的頁面遷移請求,查詢所述位圖,依據所述空閑狀態標志位查找空閑頁面,將主機側本地內存請求遷移出的頁面分配至該空閑頁面,其中所述頁面遷移請求為請求將主機側的頁面遷移至所述dpu內存模塊。
16、在本發明一實施例中,在查詢所述位圖時,從上一次分配內存的空閑頁面的下一個頁面開始查找,直到找到一空閑頁面則將主機側請求遷移出的頁面分配至該空閑頁面。
17、在本發明一實施例中,在接收到主機側的所述頁面遷移請求時,
18、若檢測到所述dpu內存模塊的內存不足,則dpu控制模塊篩選出所述dpu內存模塊中需要被替換至遠端內存池的頁面,通過網絡接口將該頁面傳輸到遠端內存池存儲;且將請求遷移的頁面從所述主機側遷移至所述dpu內存模塊中。
19、在本發明一實施例中,所述dpu單元還配置有本地訪問次數表,用以記錄主機側cpu對所述dpu內存模塊每一頁面的訪問次數;
20、所述dpu控制模塊記錄每一頁面的訪問次數,若一頁面的訪問次數達到第一閾值時,識別為第一熱點頁面;
21、所述主機側的操作系統通過cpu每隔一段時間訪問所述本地訪問次數表,當所述操作系統識別存在第一熱點頁面時,將該第一熱點頁面從所述dpu內存模塊遷移至主機側的本地內存中存儲。
22、在本發明一實施例中,所述dpu單元還配置有遠端訪問次數表,用以記錄dpu單元對遠端內存池每一頁面的訪問次數;
23、所述dpu控制模塊在監測到若一頁面的訪問次數達到第二閾值時,識別為第二熱點頁面,且將該第二熱點頁面從所述遠端內存池遷移至所述dpu內存模塊中存儲。
24、在本發明一實施例中,所述dpu單元還配置有緩存一致性接口,所述主機側與所述dpu單元之間通過所述緩存一致性接口相連。
25、由以上方案可知,本發明的優點在于:
26、本發明揭示的數據中心多層次解聚合內存系統,配合實現了主機側與dpu單元、dpu單元與遠端內存池的數據交互方法,實現了本地內存向dpu內存再到遠端內存的擴展,使主機能獲得擴展內存的同時還具有更低的訪存延時。該方法實現了內存頁面在主機本地內存到dpu內存以及dpu內存向主機內存兩個方向的遷移,降低將頁面遷移到dpu內存對訪存延時的影響;此外,該方法實現了內存頁面在dpu內存到遠端內存以及遠端內存向dpu內存兩個方向的遷移,降低將頁面遷移到遠端內存對訪存延時的影響。
1.一種數據中心多層次解聚合內存系統,其特征在于,包含:
2.根據權利要求1所述的系統,其特征在于,
3.根據權利要求2所述的方法,其特征在于,
4.根據權利要求3所述的系統,其特征在于,
5.根據權利要求2所述的系統,其特征在于,
6.根據權利要求5所述的系統,其特征在于,
7.根據權利要求5所述的系統,其特征在于,
8.根據權利要求1所述的系統,其特征在于,
9.根據權利要求1所述的系統,其特征在于,
10.根據權利要求1所述的系統,其特征在于,