伺服器記憶體互連共享技術: CXL技術入門

2023-07-04


何謂CXL?

Intel CXL 標準的原意: 作為 CPU 與 Accelerator 加速器(如 FPGA / GPU 顯示卡)之間的互聯通信。一直以來, CPU 都是透過主機板上的 PCIe插槽及PCIe協議(Protocol)與顯示卡溝通,但當Intel聯合阿里巴巴、Cisco、Dell EMC、Facebook、Google、HPE、華為及微軟組成強大陣容的聯盟後,就發表了CXL的開放標準,以解決目前PCIe協議於CPU與顯示卡之間的高延遲(Latency)及頻寬不足的問題。

 

Compute Express Link(CXL)是處理器與處理器之間的超高速互聯新標準。雖然現階段構思僅供數據中心的伺服器使用,但如果發展理想的話,業界推斷有機會應用於未來的 Intel Xe 架構獨立顯示卡,使多張顯示卡(Multi-GPU)可真正共用到記憶體資源。

 


就好比數據中心的伺服器和 Switch 用 LAN 線或光纖線互聯,CXL 將會是 CPU 與 GPU 的新一代互聯技術。Source:Wccftech

 

CXL 規範的發展歷程

CXL技術發展的歷史可以追溯到2019年3月,在Intel主導下,號召阿里巴巴集團、Cisco、Dell、Facebook(Meta)、Google、HPE、華為、微軟等廠商,成立了CXL聯盟(CXL Consortium),共同發展與推廣這個高速介面新標準。接下來,又有更多廠商參與這個陣營,以目前CXL聯盟董事會(Board of Directors)而言,除了前述9家創始成員,還有AMD、Arm、IBM、美光與Nvidia;以貢獻者(Contributors)身分參與CXL聯盟的廠商,則有Ericsson、富士通、新華三、Hitachi、浪潮、Kioxia、聯想、Oracle、高通、Seagate、SK hynix、VMware、WD等,超過60家,幾乎囊括當前主要的處理器、伺服器、網通、儲存供應商。

 

 

 

CXL規範迄今一共發展了3個世代,一共4個主要版本,包括1.0版、1.1版、2.0版、3.0版。

1. CXL 1.0/1.1規範: 只允許主機CPU與周邊裝置一對一直連。運用彈性受到較大的限制。

2. CXL 2.0: 允許主機與周邊裝置間組成多對多連接的交換網路,大幅提高了CXL裝置連接數量與彈性。而且,每個CXL 2.0周邊裝置,還能切割為多個邏輯裝置(Logical Devices),藉此將自身記憶體的不同區域(memory region)動態分派給最多16個主機CPU存取,大幅改善CPU與周邊裝置間的連接彈性,CXL 2.0也新增完整性與資料加密機制(Integrity and Data Encryption,IDE)改善了安全性。

3. 最新的CXL 3.0: 則進一步提供多層式交換連接,並支援網格式(Mesh)或環狀(Ring)等非樹狀的交換連接架構,CPU端更靈活的周邊裝置連接能力,以及改進的多重存取能力,可以組成更複雜、龐大,也更彈性的CXL連接環境。

 

CXL的傳輸通道 :

1. CXL 1.x與CXL 2.0的實體傳輸鏈路,都是基於PCIe 5.0,一般是使用x16的傳輸通道鏈結規格,也就是32GT/s x16,約等於單向63GB/s或雙向126GB/s的傳輸頻寬。但CXL也能支援使用x8或x4傳輸通道的分支(bifurcation)連接,也能在降級(Degraded)模式下,使用x2或x1的傳輸通道。

2. CXL 3.0的實體傳輸鏈路,則改用PCIe 6.0,相同傳輸通道鏈結下的頻寬,較CXL 1.x/2.0提高一倍。

 

 

CXL 基本概念

基本上,CXL規範是由3個獨立的協定組成:CXL.io,CXL.cache,以及CXLmem(即CXL.memory)。
CXL.io: 提供底層傳輸通道與裝置的管理,以PCIe 5.0為基礎,結合一些改進的功能而成。
CXL.cache: 提供周邊設備存取主機CPU記憶體的功能。
CXL.mem: 則提供主機CPU以一致性快取方式,存取周邊裝置記憶體的功能,包括:揮發性與非揮發性的記憶體。整體而言,3種協定可各自獨立運作,也可相互搭配、組合運作。
CXL的底層是建立在PCIe 5.0傳輸通道上,利用CXL.io、CXL.cache與CXL.mem等3項協定,讓主機CPU與周邊裝置可以互相存取彼此的DRAM記憶體,從而實現記憶體互連與共享的目的。

 

 

CXL的3種周邊應用形態

Type 1:適用於自身沒有獨立記憶體的周邊裝置,利用CXL協定將主機CPU的記憶體分享給周邊裝置使用。

Type 2:適用於自身含有高效能記憶體的周邊裝置,利用CXL協定讓主機CPU與周邊裝置相互存取彼此的記憶體,在兩者間動態調整記憶體資源配置

Type 3:適用於內含DRAM或SCM記憶體的記憶體擴充卡,利用CXL協定讓主機CPU存取擴充卡上的記憶體資源,從而提高主機CPU的記憶體容量與頻寬

 

 

CXL 可望成為主要的規格

不同的處理器記憶體互連技術,一開始的著眼點有很大差異。例如,IBM主導的CAPI/OpenCAPI,最初是為了讓CPU與AFU(加速功能單元)共享記憶體;CXL與CCIX的目的,則是異質處理器晶片互連(CPU、ASIC、FPGA);至於Gen-Z,則是網狀(Fabrics)連接架構的遠端記憶體存取。

但任何處理器互連技術要在x86伺服器領域發揮作用,顯然都少不了Intel的參與及支持,這也讓Gen-Z、OpenCAPI、CCIX這些沒有Intel參與的技術,在推廣與應用上,難有顯著進展。雖然CAPI/OpenCAPI已用在IBM Power平臺,但Power平臺的市場影響力有限,不足以成為驅動CAPI/OpenCAPI進一步發展與普及的力量。事實上,任何伺服器相關的技術架構,若不能應用到主流的x86平臺,勢必難以成為主流規格。於是到了最終,仍是由Intel主導的CXL,成為這個領域主導性的規格。

Gen-Z與CXL聯盟在2021年11月簽署意向書,Gen-Z聯盟決定將規範與資產轉移給CXL,隨後從2022年1月開始解散業務。

到了2022年8月,OpenCAPI聯盟也宣布將規格與資產轉移給CXL聯盟。至於CCIX方面,由於許多成員早已轉向CXL(如AMD、Arm、華為等),所以,實際上也難已有太大發展。因此,從目前看來,CXL一統處理器記憶體互連技術,應該是大勢已定。

 

 

目前4th 至未來 7th Gen Intel Xeon Server 產品CXL解決方案機會

 

 

 

 

支援CXL 技術平台與處理器

Xeon Scalable – 4th Gen Eagle Stream : Sapphire Rapids (2023Q1量產)

Intel® Xeon® Platinum Processors
Intel® Xeon® Gold Processors
Intel® Xeon® Silver Processors
Intel® Xeon® Bronze Processors

 

5th Gen Eagle Stream : Emeralds Rapids (預計2023Q4量產)

 

6th Gen Birch Stream : Granite Rapids (預計2024Q2量產)

 

結論

期望此篇的完整內容資訊說明能夠幫助大家更具體的認識CXL的高速傳輸技術, 同時Intel Xeon Server 提供產品支援全新解決方案, 如果需要更多相關技術資訊和相關的應用領域問題, 可進一步洽詢我們直接取得進一步聯繫協助

 

資料出處:

https://www.ithome.com.tw/tech/153366

https://www.pcmarket.com.hk/cxl%E6%94%AF%E6%8F%B4cpu%E8%88%87gpu%E5%85%B1%E4%BA%AB%E8%A8%98%E6%86%B6%E9%AB%94-intel-xe%E9%A1%AF%E7%A4%BA%E5%8D%A1%E6%88%96%E5%8B%9Dnvidia-nvlink/

https://www.intel.com/content/www/tw/zh/products/docs/processors/xeon-accelerated/4th-gen-xeon-scalable-processors.html

https://www.intel.com.tw/content/www/tw/zh/newsroom/news/intel-launches-agilex-7-fpgas-r-tile-fpga-pcie-5-cxl-capabilities.html?wapkw=CXL&elq_cid=1950191_ts1686045567653&erpm_id=3212395_ts1686045567653

 

*若想了解更多資訊或有任何疑問,歡迎聯繫以下窗口 :
CBGIntelFAE@synnex.com.tw
mstech@synnex.com.tw
Synnex_6N@synnex.com.tw