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]

參考文獻

編輯