現代數據中心對內存容量的高需求促進了內存擴展和分解方面的多條創新線,其中一項獲得極大關注的工作是基于Compute eXpress Link(CXL)的內存擴展。為了更好地利用CXL,研究人員建立了幾個仿真和實驗平臺來研究其行為和特性。然而,由于缺乏支持CXL的商業硬件,大家可能仍不清楚其功能的全貌。在這項工作中,我們在最先進的實驗平臺上探索了CXL存儲器的性能表征。首先,我們使用我們提出的微基準來研究CXL存儲器的基本性能特征。基于我們的觀察結果和與連接到本地和遠程NUMA節點的標準DRAM的比較,我們還研究了CXL內存對具有不同卸載和交織策略的端到端應用程序的影響。最后,我們為未來的程序員提供了一些指南,以充分發揮CXL內存的潛力。(廣州金融科技獵頭)
在數據中心存儲和處理數據的爆炸性需求、以及傳統DDR內存接口的有限帶寬和容量可擴展性,要求采用新的內存接口技術和系統架構。其中,Compute eXpress Link(CXL)已成為業界和學術界最有前途的技術之一,不僅用于內存容量/帶寬擴展,還用于內存分解。
CXL是由主要硬件供應商和云提供商于2019年共同制定的開放標準,目前仍在快速發展。具體來說,與傳統的PCIe互連相比,它提供了一組新功能,使CPU能夠以具有加載/存儲語義的高速緩存一致方式與外圍設備(及其連接的存儲器)通信。因此,與內存相關的設備擴展是CXL的主要目標場景之一。
作為未來數據中心的事實標準,主要硬件供應商已在其產品路線圖中宣布支持CXL。鑒于CXL存儲器的受歡迎程度和前景,它備受關注。然而,由于缺乏支持CXL的商用硬件(尤其是CPU),最近對CXL內存的研究都是基于使用多插槽NUMA系統的仿真,因為CXL內存被公開為NUMA節點。因此,這些研究可能無法準確地對現實世界中的CXL內存進行建模和表征。
隨著Intel第4代Xeon可擴展CPU(Sapphire Rapids或SPR)和商用CXL設備的出現,我們能夠開始了解CXL存儲器的實際特性,并定制能夠充分利用這些特性的軟件系統。在這項工作中,我們在由Intel SPR CPU和基于Intel Agilex-I FPGA的CXL存儲器(R-Tile中加固的CXL控制器)組成的測試臺上,對具有多個微基準和端到端應用程序的CXL內存進行了全面分析。從我們的微基準標記中,我們發現CXL內存的行為與遠程NUMA節點中的內存不同,后者通常用于仿真。與基于NUMA的內存相比,真正的CXL內存具有:(1)更高的延遲,(2)更少的內存通道(導致更低的吞吐量),以及(3)在各種操作下不同的傳輸效率。
基于上述觀察,我們還將CXL內存應用于表現出不同內存訪問行為的三個實際應用程序。我們發現它們對CXL內存卸載有不同的敏感性。具體而言,我們發現(1)μs延遲數據庫對內存延遲的增加高度敏感,(2)當數據庫在CXL內存上運行時,具有中間計算層的ms延遲微服務受到的影響較小,(3)內存密集型ML推理對CXL內存提供的隨機訪問吞吐量敏感。在所有情況下,在連接CPU的DRAM和CXL內存之間交錯內存可以減少CXL內存帶來的性能損失。
接下來,在分析了在使用CXL內存的系統上運行的微基準和應用程序的性能特征后,我們為用戶提供了一些實用的指導方針,以優化他們的軟件堆棧/庫以獲得最高性能。例如,應該使用在CXL內存和DRAM之間均勻分布的帶寬來最大限度地提高性能;應當使用高速緩存旁路指令來進行從CXL存儲器到CXL存儲器的數據移動;對于單個CXL內存通道,由于幾個線程很容易使負載或存儲帶寬飽和,因此應該限制對CXL內存的寫線程數量,以減少寫干擾;并且應該針對以毫秒級延遲運行的讀取量大的應用程序,其中較高的CXL內存延遲可以通過中間計算來分攤。(廣州金融科技獵頭網)
來源:半導體行業觀察