作者:鵬程
數(shù)據(jù)處理的增加、虛擬化的廣泛使用以及內(nèi)存中計(jì)算的增加,使得服務(wù)器對(duì)CPU附加內(nèi)存的需求呈指數(shù)級(jí)增長(zhǎng)。人工智能、機(jī)器學(xué)習(xí)、大數(shù)據(jù)和分析等現(xiàn)代工作負(fù)載加劇了數(shù)據(jù)中心管理人員面臨的內(nèi)存挑戰(zhàn)。訓(xùn)練大型語(yǔ)言模型(LLM),如GPT-4、Llama 2和PaLM 2需要大的內(nèi)存容量和計(jì)算能力。
隨著處理器核數(shù)的不斷增加,實(shí)現(xiàn)更快、更復(fù)雜的計(jì)算,就需要更多的內(nèi)存。CXL內(nèi)存可以提供所需的擴(kuò)展內(nèi)存容量。隨著下半年首批支持 CXL 2.0 的服務(wù)器 CPU 問世,CXL 有望正式進(jìn)入商業(yè)化階段。
?01、什么是CXL?
所謂CXL,也就是Compute Express Link。作為一種開放標(biāo)準(zhǔn)的高速互聯(lián)協(xié)議,CXL的推出主要是要解決計(jì)算器件和內(nèi)存之間的互聯(lián)問題,主要是為了改善處理器與加速器、內(nèi)存擴(kuò)展設(shè)備等之間的通信。
從技術(shù)上看,CXL是通過現(xiàn)有的PCIe(Peripheral Component Interconnect Express)物理層傳輸信號(hào),但在協(xié)議層面上引入了新的特性和改進(jìn),以顯著提升系統(tǒng)中處理器、加速器和內(nèi)存設(shè)備之間的數(shù)據(jù)交換效率和一致性,使得資源共享具有更低的延遲,減少了軟件堆棧的復(fù)雜性,并降低了整體系統(tǒng)成本,為高性能計(jì)算和大規(guī)模數(shù)據(jù)處理提供了更為強(qiáng)大的支持。
CXL技術(shù)的背景可以追溯到PCIe (Peripheral Component Interconnect Express) 技術(shù),PCIe是用于連接計(jì)算機(jī)內(nèi)部組件的一種標(biāo)準(zhǔn)接口技術(shù)。PCIe設(shè)備可以發(fā)起一個(gè)DMA來訪問內(nèi)存,只要知道目標(biāo)物理地址即可。
CXL支持三種協(xié)議,分別是CXL.io、CXL.cache和CXL.memory。其中CXL.io主要用于傳統(tǒng)的I/O操作,與PCIe類似;CXL.cache和CXL.memory則提供了緩存一致性和內(nèi)存訪問能力,使得CPU與加速器或內(nèi)存擴(kuò)展設(shè)備之間能夠共享和一致性地訪問內(nèi)存。這對(duì)于加速器(如GPU、FPGA)而言尤為重要,因?yàn)樗鼈兛梢愿行У卦L問系統(tǒng)內(nèi)存,而不必通過緩慢的I/O通道。
在CXL之前就有以IBM牽頭的OpenCAPI,ARM為代表支持的CCIX,AMD等支持的GenZ和Nvidia自行提出的Nvlink等等多種協(xié)議。雖然PCIe已經(jīng)有了很多改進(jìn),但其難以滿足現(xiàn)代計(jì)算機(jī)處理器和加速器之間的高帶寬、低延遲通信需求。于是,CXL技術(shù)應(yīng)運(yùn)而生。
2019年3月,CXL的技術(shù)聯(lián)盟成立,全球頭部的CPU廠家與服務(wù)器廠家都參與其中。聯(lián)盟成立之初便推出了CXL1.0協(xié)議標(biāo)準(zhǔn),英特爾的Sapphire Rapids處理器和AMD EPYC Genoa處理器均支持該技術(shù)。半年時(shí)間后發(fā)布了CXL1.1協(xié)議標(biāo)準(zhǔn),后續(xù)首批落地的產(chǎn)品都是基于CXL1.1的標(biāo)準(zhǔn)。
2020年10月,聯(lián)盟發(fā)布了CXL2.0協(xié)議標(biāo)準(zhǔn)。CXL 2.0規(guī)范主要增加了內(nèi)存池的支持,以最大限度地提高內(nèi)存利用率,并且提供了對(duì)持久性內(nèi)存的標(biāo)準(zhǔn)化管理,允許與DDR同時(shí)運(yùn)行,從而可以釋放DDR用于其他用途。并且CXL 2.0規(guī)范也向后兼容CXL 1.1和CXL 1.0。在內(nèi)存池方面,CXL 2.0支持切換以啟用內(nèi)存池。使用CXL 2.0交換機(jī),主機(jī)可以訪問池中的一個(gè)或多個(gè)設(shè)備。盡管主機(jī)必須支持CXL 2.0才能利用此功能,但內(nèi)存設(shè)備可以是支持CXL 1.0、1.1和2.0的硬件的組合。在1.0/1.1中,設(shè)備被限制為一次只能由一臺(tái)主機(jī)訪問的單個(gè)邏輯設(shè)備。然而,一個(gè)2.0級(jí)別的設(shè)備可以被劃分為多個(gè)邏輯設(shè)備,允許多達(dá)16臺(tái)主機(jī)同時(shí)訪問內(nèi)存的不同部分。通過轉(zhuǎn)向CXL 2.0直連架構(gòu),數(shù)據(jù)中心還可以獲得主內(nèi)存擴(kuò)展的性能優(yōu)勢(shì),以及池內(nèi)存的效率和總體擁有成本(TCO)優(yōu)勢(shì)。
2022年8月,聯(lián)盟發(fā)布了CXL3.0協(xié)議標(biāo)準(zhǔn),增加了fabric的概念,支持多個(gè)Switch之間更高維度的互聯(lián),可以應(yīng)用到更高的體系架構(gòu)中,實(shí)現(xiàn)進(jìn)一步內(nèi)存和帶寬的擴(kuò)展。
CXL技術(shù)被視為下一個(gè)高頻寬內(nèi)存技術(shù),它通過建立高帶寬連接,使CPU、GPU和其他加速器之間能夠高速通信,從而實(shí)現(xiàn)更快速、更靈活的數(shù)據(jù)處理。CXL技術(shù)的發(fā)展預(yù)計(jì)將進(jìn)一步提升服務(wù)器效率,在AI時(shí)代DRAM的受益程度不亞于GPU。隨著數(shù)據(jù)量與計(jì)算需求的急劇增加,傳統(tǒng)內(nèi)存架構(gòu)已難以滿足現(xiàn)代應(yīng)用的需求,CXL的引入為實(shí)現(xiàn)更高的存儲(chǔ)帶寬與更低的延遲提供了可能。
到目前為止,CXL技術(shù)聯(lián)盟擁有超過200多家成員,CPU廠家、服務(wù)器廠家、存儲(chǔ)器廠家陸續(xù)加入,整個(gè)生態(tài)在飛速發(fā)展階段,各種各樣的產(chǎn)品已經(jīng)落地應(yīng)用。
?02、2024年巨頭加速布局CXL 2.0
在此情況下,為了在AI浪潮中,拔得頭籌。巨頭也開始爭(zhēng)相布局CXL 2.0技術(shù)。
2023年初,英特爾發(fā)布了支持CXL1.1協(xié)議的SPR CPU,接著又發(fā)布了另外一款基于CXL1.1協(xié)議的EMR CPU。今年三季度,英特爾發(fā)布了兩款支持CXL2.0協(xié)議的CPU, Granite Rapids和Sierra Forest(已更名為“至強(qiáng)6”),CXL通道數(shù)從SPR和EMR的32個(gè)增加到64個(gè)。至強(qiáng)6是英特爾第一代支持CXL 2.0規(guī)范的處理器,可商用部署。在至強(qiáng)6平臺(tái)上,CXL 2.0的一種用法是CXL內(nèi)存和DDR內(nèi)存交織,從而擴(kuò)大容量,實(shí)現(xiàn)并發(fā)訪問,提高總峰值帶寬。
AMD也是2023年發(fā)布了支持CXL1.1協(xié)議的Genoa CPU,今年二季度發(fā)布了支持CXL2.0協(xié)議的第五代EPYC處理器,其家族代號(hào)為“Turin”。
與此同時(shí),存儲(chǔ)巨頭也在加速布局CXL。今年九月,SK海力士宣布,公司已將用于優(yōu)化CXL(Compute Express Link)存儲(chǔ)器運(yùn)行的自研軟件異構(gòu)存儲(chǔ)器軟件開發(fā)套件(HMSDK)的主要功能成功搭載于全球最大的開源操作系統(tǒng)Linux上。這一進(jìn)展標(biāo)志著SK海力士在軟件競(jìng)爭(zhēng)力方面也獲得了廣泛認(rèn)可,有助于推動(dòng)CXL技術(shù)在數(shù)據(jù)中心和服務(wù)器系統(tǒng)中的應(yīng)用。SK海力士HMSDK在不修改現(xiàn)有應(yīng)用程序的情況下,將內(nèi)存封裝的帶寬提高了30%以上。它通過基于現(xiàn)有內(nèi)存和擴(kuò)展的CXL內(nèi)存之間的帶寬有選擇地分配內(nèi)存來實(shí)現(xiàn)這一點(diǎn)。此外,該軟件通過基于訪問頻率的優(yōu)化,將頻繁訪問的數(shù)據(jù)重新定位到更快的內(nèi)存中,從而使性能比傳統(tǒng)系統(tǒng)提高了12%以上。SK海力士正在與客戶一起驗(yàn)證96 GB和128 GB容量的CXL 2.0內(nèi)存。該公司計(jì)劃在今年年底開始大規(guī)模生產(chǎn)。
除了SK海力士,三星電子也積極投入CXL研發(fā),2021年5月就推出了基于DDR5技術(shù)支持CXL互聯(lián)標(biāo)準(zhǔn)的內(nèi)存模塊,并隨后發(fā)布了首款支持CXL內(nèi)存平臺(tái)設(shè)計(jì)的開源軟件解決方案。今年1月,三星宣布與開源軟件商Red Hat合作,在Red Hat Enterprise Linux (RHEL) 9.3操作系統(tǒng)中,首次成功驗(yàn)證了CXL在真實(shí)用戶環(huán)境中的運(yùn)行,包括內(nèi)存識(shí)別、讀取和寫入操作。6月,隨著實(shí)際應(yīng)用研究進(jìn)入最后階段,三星宣布已建立由Red Hat認(rèn)證的CXL基礎(chǔ)設(shè)施。7 月 ,三星電子內(nèi)存部門新業(yè)務(wù)規(guī)劃團(tuán)隊(duì)負(fù)責(zé)人 Choi Jang Seok 表示,三星將在年底開始量產(chǎn)符合 CXL 2.0 協(xié)議的 256GB CMM-D 2.0 模塊。10月份,三星展示了其在CXL技術(shù)方面的進(jìn)展,其計(jì)劃在2024年底前量產(chǎn)符合CXL 2.0協(xié)議的256GB CMM-D,且同聯(lián)想一道完成了業(yè)界首個(gè) 128GB CMM-D CXL 內(nèi)存模塊聯(lián)合驗(yàn)證。受測(cè) CMM-D 模塊搭載三星電子 12nm 級(jí) 32Gb DDR5 DRAM 顆粒與瀾起科技的新一代 CXL 控制器,相較以往產(chǎn)品帶寬提升 10%,延遲降低 20%,在支持 CXL 的聯(lián)想服務(wù)器上成功進(jìn)行了測(cè)試。除 CMM-D 外,三星電子還規(guī)劃了多個(gè)類型的 CXL 存儲(chǔ)產(chǎn)品,包含配備多個(gè) CMM-D 模塊的 CMM-B 內(nèi)存盒模組、同時(shí)搭載 DRAM 內(nèi)存和 NAND 閃存顆粒的 CMM-H 混合存儲(chǔ)模組。
?03、CXL 3.1也來了
自2019年首次發(fā)布以來,CXL在過去幾年里已經(jīng)演進(jìn)到了CXL 3.1標(biāo)準(zhǔn)。在適用范圍方面,也從一開始的僅支持有限功能,增加到對(duì)橫向擴(kuò)展 CXL 進(jìn)行了額外的結(jié)構(gòu)改進(jìn)、新的可信執(zhí)行環(huán)境增強(qiáng)以及內(nèi)存擴(kuò)展器的改進(jìn)。
CXL 3.0響應(yīng)了設(shè)備供應(yīng)商的需求,將比CXL 1.X版本提升了帶寬,并將一些原本復(fù)雜的標(biāo)準(zhǔn)設(shè)計(jì)簡(jiǎn)單化,確保易用性。這是2020年CXL 2.0標(biāo)準(zhǔn)引入內(nèi)存池和CXL開關(guān)功能之后較大的改動(dòng),CXL 3.0將側(cè)重于物理和邏輯層面的升級(jí),在物理層面,CXL將每通道吞吐量提升了一倍,達(dá)到64GT/s。在邏輯層面,CXL 3.0擴(kuò)招了標(biāo)準(zhǔn)邏輯能力,允許更復(fù)雜的連接拓?fù)?,以及一組CXL設(shè)備內(nèi)可以靈活實(shí)現(xiàn)內(nèi)存共享和內(nèi)存訪問。相對(duì)于CXL 1.X和CXL 2.0建立在PCIe 5.0之上,CXL 3.0與PCIe 6.0規(guī)范進(jìn)行合并,這也使得CXL 3.0成為標(biāo)準(zhǔn)建立以來第一次物理層更新。
CXL 3.1是對(duì)CXL 3.0版本的漸進(jìn)性的更新,新規(guī)范對(duì)橫向擴(kuò)展 CXL 進(jìn)行了額外的結(jié)構(gòu)改進(jìn)、新的可信執(zhí)行環(huán)境 ehnahcments 以及對(duì)內(nèi)存擴(kuò)展器的改進(jìn)。
如今,眾多廠商正在布局CXL3.0和3.1。
最近,SK海力士和一家韓國(guó)上市IC設(shè)計(jì)公司簽訂了一份311億韓元規(guī)模的CXL(Compute Express Link)高速互聯(lián)存儲(chǔ)器控制器設(shè)計(jì)合約,期限至2026年6月30日??紤]研發(fā)所需時(shí)間,預(yù)計(jì)CXL3.0或3.1芯片將通過臺(tái)積電5納米制程量產(chǎn)。
今年11月,AMD 發(fā)布第二代 Versal Premium 系列自適應(yīng) SoC 平臺(tái)。這也是FPGA 行業(yè)首款在硬 IP 中采用 CXL3.1 與 PCIe Gen6 并支持 LPDDR5 存儲(chǔ)器的器件,實(shí)現(xiàn)了業(yè)界領(lǐng)先的高帶寬主機(jī) CPU 與加速器的連接。與CXL 2.0相比,能夠?qū)崿F(xiàn)兩倍的帶寬,并且可以利用NUMA輕松與現(xiàn)有的軟件集成。第二代 AMD Versal Premium 系列開發(fā)工具預(yù)計(jì)將于 2025 年第二季度提供,隨后于 2026 年初提供芯片樣片。預(yù)計(jì)將于 2026 年下半年開始量產(chǎn)出貨。
三星電子內(nèi)存部門新業(yè)務(wù)規(guī)劃團(tuán)隊(duì)負(fù)責(zé)人 Choi Jang Seok稱:“當(dāng) CXL 3.1 和池化(可在多個(gè)主機(jī)間共享 CXL 內(nèi)存資源)技術(shù)得到支持后,CXL 市場(chǎng)將在 2028 年左右全面開花?!?/p>