華為云存儲創(chuàng)新Lab論文被重要學術會議HPCA'23接收,提出一個為分離式內(nèi)存設計的軟硬協(xié)同的可編程預取技術
國際高性能計算機體系結構研討會(IEEE International Symposium on High-Performance Computer Architecture,HPCA)是計算機體系結構領域的最重要會議之一,創(chuàng)辦于 1995 年,由 IEEE 組織。經(jīng)過二十多年的發(fā)展,目前已經(jīng)和 ISCA、MICRO 一起譽為體系結構領域三大會。HPCA是中國計算機學會A類會議,論文錄用率在20%左右。華為云存儲創(chuàng)新實驗室和中科院計算所先進計算機系統(tǒng)研究中心合作提出一個為分離式內(nèi)存設計的軟硬協(xié)同的可編程預取技術。
【論文信息】
HoPP: Hardware-Software Co-Designed Page Prefetching for Disaggregated Memory. Haifeng Li, Ke Liu, Ting Liang, Zuojun Li, Tianyue Lu, Hui Yuan, Yinben Xia, Yungang Bao, Mingyu Chen, Yizhou Shan.
【論文簡介】
數(shù)據(jù)中心大內(nèi)存應用程序?qū)υL問大量內(nèi)存的需求日益增加(如大數(shù)據(jù)分析和存儲等),遠端內(nèi)存已成為解決本地內(nèi)存緊張的有效方法?;谔摂M內(nèi)存系統(tǒng)(VMS)實現(xiàn)遠程內(nèi)存系統(tǒng)讓應用可以透明且方便地使用遠端內(nèi)存,并利用預取等手段不斷優(yōu)化關鍵路徑的延遲。由于基于VMS的遠程內(nèi)存系統(tǒng)的通用性和透明性,多個云計算廠商采用該方法搭建內(nèi)存解耦合系統(tǒng)。然而,操作系統(tǒng)與應用之間天然存在語義鴻溝,即操作系統(tǒng)只能通過缺頁的方式感知應用正在訪問的地址。這樣導致操作系統(tǒng)只能通過有限的缺頁信息對預取器進行訓練,對預取算法的設計帶來很大的局限性。同時,在傳統(tǒng)框架下,為了對預取器進行調(diào)整,預取命中時也會觸發(fā)缺頁異常,這樣會極大降低程序性能。
為了解決上述問題,我們將捕獲應用訪存信息從缺頁行為中解耦,利用內(nèi)存控制器為操作系統(tǒng)提供完整的、實時的訪存信息?;谶@思想,我們提出HoPP – 一個軟硬件結合的頁面預取框架。通過在內(nèi)存控制器增加熱點頁面分析邏輯與翻譯邏輯,獲得熱點頁面信息。利用充足、實時熱點頁面信息,我們不但設計了一種三層預取算法,而且將預取行為從缺頁行為中解耦出來,同時進行了一系列優(yōu)化。

值得一提的是,我們在真實系統(tǒng)上利用訪存捕獲工具(HMTT)構建了這個實驗平臺。實驗表明:基于HoPP的預取器可以實現(xiàn)超過90%的準確率與覆蓋率,即使本地內(nèi)存占比一半的情況下,應用性能下降只有3.53%,相比于基于內(nèi)核的遠端內(nèi)存系統(tǒng)性能提升59%。
