新聞中心

EEPW首頁 > 網(wǎng)絡與存儲 > 設計應用 > CXL是什么?它是如何工作的?

CXL是什么?它是如何工作的?

作者:spiceworks 時間:2023-06-25 來源:半導體產業(yè)縱橫 收藏

(Compute Express Link)可以提高數(shù)據(jù)中心內存的性能、可擴展性和靈活性。MemVerge 的 Steve Scargall 解釋了 是什么、它是如何工作的,以及為什么它是各種應用程序的游戲規(guī)則改變者,例如 AI/ML、HPC、數(shù)據(jù)庫和分析。他還強調了采用 標準化的云計算和數(shù)據(jù)中心基礎設施的一些行業(yè)趨勢。

本文引用地址:http://butianyuan.cn/article/202306/447925.htm

CXL 是一種新興的開放式行業(yè)標準互連,徹底改變了以數(shù)據(jù)為中心的計算。憑借其在 CPU 和設備(例如加速器、內存擴展和持久內存設備)之間的高帶寬和低延遲緩存一致性連接,CXL 有可能重塑數(shù)據(jù)中心內存的性能、可擴展性和靈活性。通過解決 AI/ML 應用程序面臨的常見內存挑戰(zhàn)并啟用新的高性能內存架構,CXL 有望成為以數(shù)據(jù)為中心的計算的下一代互連。

什么是 CXL?

CXL 是一種行業(yè)采用的開放標準,為處理器、內存擴展和加速器提供高速緩存一致性互連。它基于 PCI Express (PCIe) 規(guī)范物理和電氣接口,但為 AI/ML 應用程序提供了額外的功能和優(yōu)勢。CXL 可實現(xiàn) CPU 內存空間與附加設備(例如加速器、GPU 或內存設備)上的內存之間的內存一致性。這意味著 CPU 和設備可以共享相同的內存視圖并訪問它,而無需任何軟件干預或同步。CXL 還通過允許 CPU 以低延遲和高帶寬訪問連接設備上更大的內存池來擴展內存。這可以增加 AI/ML 應用程序的內存容量和性能。

規(guī)范的三個主要版本描述了 CXL 標準。未來計劃更多主要版本。現(xiàn)有主要版本的更新也將根據(jù)需要公布。每個主要版本都為以前的版本添加了新功能。

CXL 1.0 :CXL 的第一個版本,于 2019 年 3 月發(fā)布,基于 PCIe 5.0。它允許主機 CPU 使用緩存一致性協(xié)議 (CXL.cache) 訪問加速器設備上的共享內存,并使用內存語義 (CXL.mem) 啟用內存擴展。

CXL 2.0 :CXL 的第二個版本,于 2020 年 11 月發(fā)布,基于 PCIe 5.0。它支持 CXL 交換,將多個 CXL 設備連接到一個主機處理器或將每個設備連接到多個主機處理器。它還實現(xiàn)了設備完整性和數(shù)據(jù)加密功能。

CXL 3.0 :CXL 的第三個版本,于 2022 年 8 月發(fā)布,基于 PCIe 6.0。它支持比 CXL 2.0 更高的帶寬和更低的延遲,并增加了設備熱插拔、電源管理和錯誤處理等新功能。

圖 1 顯示了每個主要 CXL 版本的功能比較。

圖 1:CXL 功能比較

CXL 規(guī)范描述了三種允許設備相互通信的協(xié)議。

  • http://CXL.io:PCIe 5.0 協(xié)議的增強版本,可用于初始化、鏈接、設備發(fā)現(xiàn)、枚舉和寄存器訪問。它為 I/O 設備提供非一致性加載/存儲接口。

  • CXL.cache :一種緩存一致性協(xié)議,它定義了主機和設備之間的交互,允許連接的 CXL 設備使用請求和響應方法以極低的延遲有效地緩存主機內存。

  • CXL.mem :一種內存協(xié)議,它使用加載和存儲命令為主機處理器提供對連接設備內存的訪問,其中主機 CPU 充當主設備,CXL 設備充當從屬設備。它可以支持易失性和持久性內存架構。

至少,所有 CXL 設備都必須使用 http://CXL.io,但可以選擇支持 CXL.cache 或 CXL.mem,或同時支持兩者。

這些組合派生出三種設備類型:

類型 1 :沒有本地內存的專用加速器(例如智能 NIC)。設備依賴于使用 http://CXL.io 和 CXL.cache 協(xié)議對主機 CPU 內存進行一致訪問。它們可以擴展 PCIe 協(xié)議功能(例如原子操作),并且可能需要實現(xiàn)自定義排序模型。

類型 2 :具有高性能本地內存(GDDR 或 HBM)的通用加速器(GPU、ASIC 或 FPGA)。要訪問主機 CPU 和設備內存,設備可以使用 http://CXL.io、CXL.cache 和 CXL.mem 協(xié)議。它們可以支持連貫和非連貫事務。

類型 3 :沒有本地緩存的內存擴展板和持久內存設備。設備可以使用 http://CXL.io 和 CXL.mem 協(xié)議通過加載和存儲命令為主機 CPU 提供對內存的訪問。它們可以支持易失性和持久性內存架構。

基礎設施用例

CXL 是云和本地數(shù)據(jù)中心基礎設施的游戲規(guī)則改變者,預計將很快得到廣泛采用和標準化,包括:

1. 云計算

CXL 可以使云服務提供商通過利用支持 CXL 的設備(例如加速器、內存擴展設備和持久性內存設備)為其客戶提供更快、更高效的服務。云服務提供商每年在未使用或未充分利用的主內存(稱為「擱淺內存」)上花費數(shù)十億美元。應用程序可以更優(yōu)化地使用集群中的計算節(jié)點按需訪問的 CXL 設備池,從而優(yōu)化數(shù)據(jù)中心資源。

2. 數(shù)據(jù)中心存儲

與云環(huán)境類似,雖然規(guī)模小得多,但 CXL 設備可以使數(shù)據(jù)中心運營商構建可持續(xù)發(fā)展的環(huán)境,并通過使用支持 CXL 的設備顯著降低其基礎設施成本和使用率。CXL 可以通過啟用對內存駐留數(shù)據(jù)的低延遲和高帶寬訪問來提高塊存儲性能和可靠性。

3. 邊緣計算

CXL 可以使邊緣計算平臺通過使用支持 CXL 的設備(例如加速器、智能 NIC、內存擴展設備和持久內存設備)來處理不斷增加的數(shù)據(jù)量和復雜性。在將數(shù)據(jù)發(fā)送到主數(shù)據(jù)中心之前在邊緣處理數(shù)據(jù)可以減少流量并提高邊緣計算性能、效率和安全性。

4. 網(wǎng)絡

CXL 可以使網(wǎng)絡平臺通過使用支持 CXL 的網(wǎng)絡設備(例如智能 NIC、FPGA 和 ASIC)來處理不斷增加的網(wǎng)絡流量和復雜性。CXL 可以通過實現(xiàn)對設備內存的一致和非一致訪問以及支持原子操作和自定義排序模型來提高網(wǎng)絡性能、可擴展性和功能。

應用用例

應用程序將從支持 CXL 的基礎架構中受益匪淺。一些主要的興趣領域包括:

1.AI/ML 加速

CXL 可以為 GPU、ASIC 或 FPGA 等 AI/ML 加速器實現(xiàn)更快、更高效的 CPU 到設備和 CPU 到內存的連接。CXL 可以支持異構設備之間的一致性和非一致性事務、內存擴展和資源共享。允許應用程序處理更大的數(shù)據(jù)集,同時減少主機之間傳輸?shù)臄?shù)據(jù)量,從而縮短獲得結果的時間。

2. 大規(guī)模內存、分析和圖形數(shù)據(jù)庫

CXL 允許數(shù)據(jù)庫訪問無限的低延遲和高帶寬內存,從而使系統(tǒng)能夠在更大的數(shù)據(jù)池上工作。

3. 高性能計算

CXL 可以通過利用支持 CXL 的加速器和內存池來提高高性能計算的性能、可擴展性和靈活性。CXL 3.0 引入了共享內存功能,允許許多計算節(jié)點就地訪問內存駐留數(shù)據(jù),而無需在運行前將其復制到本地,然后再將結果復制回來。

使用 CXL 的行業(yè)標準互連加速以數(shù)據(jù)為中心的計算

CXL 是一種新興的開放式行業(yè)標準互連,可在 CPU 和設備(如加速器、內存擴展和持久內存設備)之間提供高帶寬和低延遲緩存一致性連接。CXL 可以提高數(shù)據(jù)中心資源的性能、可擴展性和靈活性。CXL 可以幫助解決 AI/ML 應用程序面臨的一些常見內存挑戰(zhàn),例如內存不足錯誤、溢出到磁盤以及數(shù)據(jù)/計算偏差。

CXL 還可以支持需要大規(guī)模和高性能內存架構的新應用程序和用例,例如內存數(shù)據(jù)庫、實時分析和高性能計算。由英特爾、AMD、Arm、Astera Labs、三星、美光、X-Conn 等眾多行業(yè)領導者和創(chuàng)新者組成的不斷壯大的生態(tài)系統(tǒng)支持 CXL。作為以數(shù)據(jù)為中心的計算的下一代互連,CXL 有望在不久的將來得到廣泛接受和標準化。



關鍵詞: CXL

評論


相關推薦

技術專區(qū)

關閉