2001年,英特爾公布了第三代I/O技術——3GIO技術(后更名為PCI Express,即PCIe),以高性能、高擴展性、高可靠性及出色的兼容性取代了包括AGP和PCI在內所有的內部總線并且不斷升格。例如,2019年5月底公布的PCIe 5.0,其以32Gb/s的單通道帶寬與32GT/s(Giga Transmission per second)每通道數據傳輸速率,滿足了現今絕大多數的需求。但應對數據TB級增長、異構計算大行其道的當下,PCIe在內存使用效率、延遲和數據吞吐量等方面,已經面臨壓力。 二十年后,在如今這個數據爆炸式增長,異構計算大行其道的當下,曾經的“未來之星“PCI-e 已經開始出現后繼無人的現象,無法成為 CPU、GPU、FPGA 以及其他 AI 計算設備之間溝通的橋梁。為了達到最佳的計算效果,我們越來越期待一種以內存為中心的、富有變革性的新技術出現,基于PCI-e協議的CXL技術便在此環境下出世。 2019年,英特爾推出的CXL技術似乎殺出了重圍。短短幾年時間,CXL便成為業界公認的先進設備互聯標準,其最為強勁的競爭對手Gen-Z、OpenCAPI都紛紛退出了競爭,并將Gen-Z協議、OpenCAPI協議轉讓給CXL。
1、什么是CXL?
CXL全稱為Compute Express Link,作為一種全新的開放式互聯技術標準,其能夠讓CPU與GPU、FPGA或其他加速器之間實現高速高效的互聯,從而滿足高性能異構計算的要求,并且其維護CPU內存空間和連接設備內存之間的一致性。總體而言,其優勢高度概括在極高兼容性和內存一致性兩方面上。
2、CXL 協議
CXL 標準定義了 3 個協議,這些協議在通過標準 PCIe 5.0 PHY 以 32 GT/s 傳輸之前一起動態復用: CXL.io 協議本質上是經過一定改進的 PCIe 5.0 協議,用于初始化、鏈接、設備發現和列舉以及寄存器訪問。它為 I/O 設備提供了非一致的加載/存儲接口。 CXL.cache 協議定義了主機和設備之間的交互,允許連接的 CXL 設備使用請求和響應方法以極低的延遲高效地緩存主機內存。 CXL.mem 協議提供了主機處理器,可以使用加載和存儲命令訪問設備連接的內存,此時主機 CPU 充當主設備,CXL 設備充當從屬設備,并且可以支持易失性和持久性存儲器架構。 如圖 1 所示,CXL.cache 和 CXL.mem 合并且共享一個公共鏈路和事務層,而 CXL.io 有自己的鏈路和事務層。
三個協議產生的數據都通過仲裁和多路復用 (ARB/MUX) 模塊一起動態復用,然后被移交到 PCIe 5.0 PHY,進而以 32GT/s 的速度進行傳輸。ARB/MUX 在 CXL 鏈路層(CXL.io 和 CXL.cache/mem)發出的請求之間進行仲裁,并根據仲裁結果復用數據,仲裁結果使用加權循環仲裁,權重由主機設置。ARB/MUX 還處理鏈路層發出的功耗狀態轉換請求,向物理層創建實現有序降耗操作的單個請求。
CXL 通過固定寬度的 528 位微片傳輸數據,該微片由四個 16 字節時隙組成,并添加了兩個字節 CRC:(4 x 16 + 2 = 66 字節= 528 位)。插槽采用多種格式定義,可專用于 CXL.cache 協議或 CXL.mem 協議。片頭定義了插槽格式,并攜帶允許事務層將數據正確路由到預期協議的信息。
由于 CXL 使用 PCIe 5.0 PHY 和電氣元件,它可以有效地插入到任何可以通過 Flex Bus 使用 PCIe 5.0 的系統中。Flex Bus 是一個靈活的高速端口,可以靜態配置為支持 PCIe 或 CXL。圖 2 舉例顯示了 Flex Bus 鏈路。這種方法使 CXL 系統能夠利用 PCIe 重定時器;但是,目前 CXL 僅定義為直連 CPU 鏈路,因此無法利用 PCIe 交換機。隨著標準的逐步完善,交換功能可能會被添加到標準中;如果是這樣,則需要創建新的 CXL 交換機。
3、CXL 設備類型
CXL.io 協議用于初始化和鏈接,所以必須獲得所有 CXL 設備的支持,如果 CXL.io 協議發生故障,鏈接就無法運行。其他兩個協議的不同組合產生了總共三種被定義并受 CXL 標準支持的獨特 CXL 設備類型。
圖 3 顯示了三種已定義的 CXL 設備類型及其相應的協議、典型應用以及支持的存儲器訪問類型。
對于 2 型設備,CXL 定義了兩個一致性“偏置”,用于控制 CXL 對主機和設備連接存儲器之間的一致性數據的處理方式。偏置模式指主機偏置和設備偏置,并且操作模式可以根據需要發生改變,從而在鏈路操作期間優化給定任務的性能。
2 型設備(例如,加速器)處理提交給主機的工作時間及其后續完成之間的數據時,設備偏置模式用于確保設備可以直接訪問其設備連接的存儲器,而無需與主機的一致性引擎通信。因此,設備可保證主機沒有緩存線路。這為設備提供了最優的延遲性能,使得設備偏置成為加速器執行工作的主要操作模式。主機處于設備偏置模式時,主機仍然可以訪問設備連接的存儲器,但性能卻不是最優。
主機偏置模式優先考慮從主機到設備連接存儲器的一致性訪問。該模式通常在工作提交期間使用,此時數據會從主機寫入設備連接的存儲器,而且在主機將數據從設備連接的存儲器中導出后,可使用該模式完成工作。在主機偏置模式下,設備連接的存儲器對于設備而言就像主機連接的存儲器一樣,如果設備需要訪問,就通過一條發送到主機的請求進行處理。
可以使用軟件或硬件,通過軟件輔助和硬件自治這兩種受支持的模式管理機制來控制偏置模式。加速器或其他 2 型設備可以選擇偏置模式,如果兩種模式均未選擇,則系統默認為主機偏置模式,這樣就必須通過主機路由對設備連接存儲器進行所有訪問。偏置模式可以使用 4KB 頁面的顆粒度進行更改,并通過 2 型設備中執行的偏置表進行跟蹤。
CXL 標準的一個重要特征是一致性協議是不對稱的。Home 緩存代理僅停留在主機中。因此,主機控制存儲器的緩存,從而解決連接的 CXL 設備請求的給定地址的整個系統的一致性問題。這完全不同于正在使用的現有專有和公開的一致性協議,特別是那些用于 CPU 到 CPU 連接的協議,因為它們通常是對稱的,會使得所有互連設備都變得對等。
雖然這樣有一些優點,但是對稱的高速緩存一致性協議更加復雜,并且所有設備都必須處理由此產生的復雜性。具有不同架構的設備可以采用不同的方法來實現在微架構級別優化的一致性,而這一情況可能會為實現廣泛的行業采用增加難度。通過使用主機控制的非對稱方法,可以將不同的 CPU 和加速器輕松納入新興 CXL 生態系統。
4、CXL的未來
可以設想在具有內存一致性的大型系統中同時使用多個協議來處理 CPU 到 CPU、CPU 到連接設備以及更長距離的機箱到機箱要求。目前,CXL 致力于為服務器提供經過優化的解決方案。CXL 固有的不對稱性意味著它可能不適用于 CPU 到 CPU 或加速器到加速器的連接。
-
cpu
+關注
關注
68文章
10905瀏覽量
213034 -
協議
+關注
關注
2文章
606瀏覽量
39344 -
互聯技術
+關注
關注
0文章
13瀏覽量
8367
原文標題:一文讀懂CXL協議
文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術聯盟】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
內存擴展CXL加速發展,繁榮AI存儲
![內存擴展<b class='flag-5'>CXL</b>加速發展,繁榮AI存儲](https://file1.elecfans.com/web2/M00/03/06/wKgZoma_IHiAaHO3AAS8xx3aMnM285.png)
一文讀懂什么是「雷電4」
![<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>讀懂</b>什么是「雷電4」](https://file1.elecfans.com/web2/M00/06/E6/wKgaombg-IKAWw1TAAA95xPErIQ203.png)
SMART Modular世邁科技CXL內存擴充卡獲CXL聯盟認證
瀾起科技CXL?內存擴展控制器芯片通過CXL 2.0合規性測試
一文讀懂EAP認證協議:保障網絡安全的利器
![<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>讀懂</b>EAP認證<b class='flag-5'>協議</b>:保障網絡安全的利器](https://file1.elecfans.com/web3/M00/05/43/wKgZPGd-M-SAeIUCAAAIlTSxtxE462.jpg)
韓國無晶圓廠初創公司Panmnesia展示第一個支持CXL的AI集群
如何利用CXL協議實現高效能的計算架構
![如何利用<b class='flag-5'>CXL</b><b class='flag-5'>協議</b>實現高效能的計算架構](https://file1.elecfans.com/web2/M00/05/EA/wKgaombWYxSAfkqdAAiCImXXoCw138.jpg)
打造異構計算新標桿!國數集聯發布首款CXL混合資源池參考設計
![打造異構計算新標桿!國數集聯發布首款<b class='flag-5'>CXL</b>混合資源池參考設計](https://file1.elecfans.com//web2/M00/01/AD/wKgaomaxwHGASN8EAADEBPV28E8265.png)
國數集聯研發出首款CXL多級網絡交換機
電主軸:教您如何一文讀懂?|深圳恒興隆機電.
利用CXL技術重構基于RDMA的內存解耦合
![利用<b class='flag-5'>CXL</b>技術重構基于RDMA的內存解耦合](https://file1.elecfans.com/web2/M00/C2/06/wKgZomXf5-2AToOKAAAlpP6w5oc356.png)
評論