Compute Express Link

Compute Express Link(簡稱CXL)是一個開放標準,其高速互聯技術可以為高效能資料中心電腦提供高速、大容量的中央處理器(CPU)至裝置,CPU至主記憶體,及裝置至裝置的連接。[1][2][3][4]CXL作為一種高速串行協定,基於PCI Express(PCIe)的物理和電氣介面構建。CXL包括基於PCIe的塊輸入/輸出協定(CXL.io)以及用於訪問系統主記憶體(CXL.cache)和裝置主記憶體(CXL.mem)的新快取一致協定。串行通訊和池化能力允許CXL主記憶體克服常見DIMM主記憶體在實現高儲存容量時的效能和插槽封裝限制。[5][6]CXL還可以幫助高效能計算提升主記憶體容量、主記憶體頻寬並降低I/O延遲。

歷史

編輯

CXL技術主要由英特爾開發。CXL聯盟於2019年3月由創始成員阿里巴巴集團思科系統、戴爾EMC、Meta谷歌惠普企業(HPE)華為、英特爾公司和微軟組成,並於2019年9月正式成立。[7]

2021年11月,Gen-Z聯盟將其技術標準及資產轉移至CXL聯盟,便於開發唯一的行業標準。[8]

2022年8月,OpenCAPI技術標準及資產也被併入CXL,進一步擴大支援CXL技術的公司和產品。[9][10]

協定

編輯

截止2024年,CXL標準目前支援以下三種協定。[11][12]

  • CXL.io – 以PCIe 5.0(及在CXL 3.0之後的PCIe 6.0)為基礎並增加了一些改進。它可以將主記憶體擴充到外部裝置,並提供組態、鏈路初始化和管理、裝置發現和列舉、中斷、DMA和透過非一致性載入/儲存進行的暫存器I/O訪問。
  • CXL.cache – 允許外圍裝置透過低延遲請求/回應介面訪問和快取主機CPU主記憶體。當主記憶體被快取到外部裝置時,CPU只需要在本地快取中保留最常用的資料。
  • CXL.mem – 允許主機CPU透過載入/儲存命令一致性地訪問快取的裝置主記憶體,並且同時適用於靜態隨機存取記憶體動態隨機存取記憶體。透過把外部裝置作為主主記憶體使用,CPU可以在主記憶體故障的情況下繼續執行。

裝置類型

編輯

CXL目前支援三種裝置類型:[12]

  • Type 1:主要用於沒有本地主記憶體的加速器,比如網卡。透過PCIe與現有系統整合,並透過CXL與CPU直接通訊。
  • Type 2:主要用於更為通用的加速器,比如GPU,ASIC和FPGA。這類加速器通常具有GDDR高頻寬記憶體的本地主記憶體。主CPU可透過CXL直接訪問裝置的本地主記憶體。
  • Type 3:可以用於主記憶體擴充板和持久化主記憶體,與主機處理器直接通訊,並且可以使用 CXL 協定來實現低延遲、高吞吐量的資料傳輸。

應用

編輯

CXL早期主要用於資料中心和高效能計算等場景。隨著人工智慧領域模型開發對主記憶體的需求不斷提升,CXL使GPU和FPGA等加速器與CPU更高效的協同運作,進而提高人工智慧模型訓練和推理的速度。[13]

參考文獻

編輯