高帶寬互連徹底改變了以數據為中心的計算。
CXL(Compute Express Link)可以提高數據中心內存的性能、可擴展性和靈活性。MemVerge 的 Steve Scargall 解釋了 CXL 是什么、它是如何工作的,以及為什么它是各種應用程序的游戲規則改變者,例如 AI/ML、HPC、數據庫和分析。他還強調了采用 CXL 標準化的云計算和數據中心基礎設施的一些行業趨勢。
CXL是一種新興的開放式行業標準互連,徹底改變了以數據為中心的計算。憑借其在 CPU 和設備(例如加速器、內存擴展和持久內存設備)之間的高帶寬和低延遲緩存一致性連接,CXL 有可能重塑數據中心內存的性能、可擴展性和靈活性。通過解決 AI/ML 應用程序面臨的常見內存挑戰并啟用新的高性能內存架構,CXL 有望成為以數據為中心的計算的下一代互連。
什么是 CXL?
CXL 是一種行業采用的開放標準,為處理器、內存擴展和加速器提供高速緩存一致性互連。它基于 PCI Express (PCIe) 規范物理和電氣接口,但為 AI/ML 應用程序提供了額外的功能和優勢。CXL 可實現 CPU 內存空間與附加設備(例如加速器、GPU 或內存設備)上的內存之間的內存一致性。這意味著 CPU 和設備可以共享相同的內存視圖并訪問它,而無需任何軟件干預或同步。CXL 還通過允許 CPU 以低延遲和高帶寬訪問連接設備上更大的內存池來擴展內存。這可以增加 AI/ML 應用程序的內存容量和性能。
規范的三個主要版本描述了 CXL 標準。未來計劃更多主要版本。現有主要版本的更新也將根據需要公布。每個主要版本都為以前的版本添加了新功能。
CXL 1.0:CXL 的第一個版本,于 2019 年 3 月發布,基于 PCIe 5.0。它允許主機 CPU 使用緩存一致性協議 (CXL.cache) 訪問加速器設備上的共享內存,并使用內存語義 (CXL.mem) 啟用內存擴展。
CXL 2.0:CXL 的第二個版本,于 2020 年 11 月發布,基于 PCIe 5.0。它支持 CXL 交換,將多個 CXL 設備連接到一個主機處理器或將每個設備連接到多個主機處理器。它還實現了設備完整性和數據加密功能。
CXL 3.0:CXL 的第三個版本,于 2022 年 8 月發布,基于 PCIe 6.0。它支持比 CXL 2.0 更高的帶寬和更低的延遲,并增加了設備熱插拔、電源管理和錯誤處理等新功能。
圖 1 顯示了每個主要 CXL 版本的功能比較。
圖 1:CXL 功能比較
CXL 規范描述了三種允許設備相互通信的協議。
CXL.io:PCIe 5.0 協議的增強版本,可用于初始化、鏈接、設備發現、枚舉和寄存器訪問。它為 I/O 設備提供非一致性加載/存儲接口。
CXL.cache :一種緩存一致性協議,它定義了主機和設備之間的交互,允許連接的 CXL 設備使用請求和響應方法以極低的延遲有效地緩存主機內存。
CXL.mem :一種內存協議,它使用加載和存儲命令為主機處理器提供對連接設備內存的訪問,其中主機 CPU 充當主設備,CXL 設備充當從屬設備。它可以支持易失性和持久性內存架構。
至少,所有 CXL 設備都必須使用 CXL.io,但可以選擇支持 CXL.cache 或 CXL.mem,或同時支持兩者。 這些組合派生出三種設備類型:
類型 1 :沒有本地內存的專用加速器(例如智能 NIC)。設備依賴于使用 CXL.io 和 CXL.cache 協議對主機 CPU 內存進行一致訪問。它們可以擴展 PCIe 協議功能(例如原子操作),并且可能需要實現自定義排序模型。
類型 2 :具有高性能本地內存(GDDR 或 HBM)的通用加速器(GPU、ASIC 或 FPGA)。要訪問主機 CPU 和設備內存,設備可以使用 CXL.io、CXL.cache 和 CXL.mem 協議。它們可以支持連貫和非連貫事務。
類型 3 :沒有本地緩存的內存擴展板和持久內存設備。設備可以使用 CXL.io 和 CXL.mem 協議通過加載和存儲命令為主機 CPU 提供對內存的訪問。它們可以支持易失性和持久性內存架構。
基礎設施用例
CXL 是云和本地數據中心基礎設施的游戲規則改變者,預計將很快得到廣泛采用和標準化,包括:
1.云計算
CXL 可以使云服務提供商通過利用支持 CXL 的設備(例如加速器、內存擴展設備和持久性內存設備)為其客戶提供更快、更高效的服務。云服務提供商每年在未使用或未充分利用的主內存(稱為“擱淺內存”)上花費數十億美元。應用程序可以更優化地使用集群中的計算節點按需訪問的 CXL 設備池,從而優化數據中心資源。
2.數據中心存儲
與云環境類似,雖然規模小得多,但 CXL 設備可以使數據中心運營商構建可持續發展的環境,并通過使用支持 CXL 的設備顯著降低其基礎設施成本和使用率。CXL 可以通過啟用對內存駐留數據的低延遲和高帶寬訪問來提高塊存儲性能和可靠性。
3. 邊緣計算
CXL 可以使邊緣計算平臺通過使用支持 CXL 的設備(例如加速器、智能 NIC、內存擴展設備和持久內存設備)來處理不斷增加的數據量和復雜性。在將數據發送到主數據中心之前在邊緣處理數據可以減少流量并提高邊緣計算性能、效率和安全性。
4. 網絡
CXL 可以使網絡平臺通過使用支持 CXL 的網絡設備(例如智能 NIC、FPGA 和 ASIC)來處理不斷增加的網絡流量和復雜性。CXL 可以通過實現對設備內存的一致和非一致訪問以及支持原子操作和自定義排序模型來提高網絡性能、可擴展性和功能。
應用用例
應用程序將從支持 CXL 的基礎架構中受益匪淺。一些主要的興趣領域包括:
1.AI/ML加速
CXL 可以為 GPU、ASIC 或 FPGA 等 AI/ML 加速器實現更快、更高效的 CPU 到設備和 CPU 到內存的連接。CXL 可以支持異構設備之間的一致性和非一致性事務、內存擴展和資源共享。允許應用程序處理更大的數據集,同時減少主機之間傳輸的數據量,從而縮短獲得結果的時間。
2.大規模內存、分析和圖形數據庫
CXL 允許數據庫訪問無限的低延遲和高帶寬內存,從而使系統能夠在更大的數據池上工作。
3.高性能計算
CXL 可以通過利用支持 CXL 的加速器和內存池來提高高性能計算的性能、可擴展性和靈活性。CXL 3.0 引入了共享內存功能,允許許多計算節點就地訪問內存駐留數據,而無需在運行前將其復制到本地,然后再將結果復制回來。
使用 CXL 的行業標準互連加速以數據為中心的計算
CXL 是一種新興的開放式行業標準互連,可在 CPU 和設備(如加速器、內存擴展和持久內存設備)之間提供高帶寬和低延遲緩存一致性連接。CXL 可以提高數據中心資源的性能、可擴展性和靈活性。CXL 可以幫助解決 AI/ML 應用程序面臨的一些常見內存挑戰,例如內存不足錯誤、溢出到磁盤以及數據/計算偏差。
CXL 還可以支持需要大規模和高性能內存架構的新應用程序和用例,例如內存數據庫、實時分析和高性能計算。由英特爾、AMD、Arm、Astera Labs、三星、美光、X-Conn 等眾多行業領導者和創新者組成的不斷壯大的生態系統支持 CXL。作為以數據為中心的計算的下一代互連,CXL 有望在不久的將來得到廣泛接受和標準化。
審核編輯:劉清
-
處理器
+關注
關注
68文章
19159瀏覽量
229115 -
電源管理
+關注
關注
115文章
6154瀏覽量
144228 -
加速器
+關注
關注
2文章
795瀏覽量
37756 -
PCIe接口
+關注
關注
0文章
120瀏覽量
9675
原文標題:CXL是什么?它是如何工作的?
文章出處:【微信號:ICViews,微信公眾號:半導體產業縱橫】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論