CXL 1.0定義了三種使用場景,對應(yīng)三大類設(shè)備:
第一種主要的應(yīng)用場景是高性能計算里的網(wǎng)卡(PGAS NIC),它支持一些網(wǎng)卡的原子操作,它主要利用的協(xié)議就是CXL.io和CXL.cache。這類設(shè)備通常都沒有本地內(nèi)存,比較依賴主機(jī)的內(nèi)存。
第二種主要指的是帶有內(nèi)存的加速器,包括GPU、FPGA、ASIC等加速器,它使用的協(xié)議包括用來做鏈接的CXL.io,做cache一致性的CXL.cache,用來做內(nèi)存擴(kuò)展的CXL.memory。
第三種主要用作內(nèi)存的Buffer,做內(nèi)存的擴(kuò)展。它主要利用CXL.io和CXL.memory的協(xié)議。在這里,CPU除了可以用本地的DDR內(nèi)存,還可以通過CXL去訪問擴(kuò)展內(nèi)存,擴(kuò)展內(nèi)存可以是一個大的內(nèi)存池,可以共享給不同的CPU來用。
CXL 2.0于2020年11月發(fā)布,新增了對于CXL交換機(jī)的支持,從而可以用來構(gòu)建內(nèi)存池。CXL 2.0支持讓主機(jī)可以訪問透過交換機(jī)連接的遠(yuǎn)端內(nèi)存資源,它可以在一個機(jī)架內(nèi)通過一套CXL交換機(jī)構(gòu)建成一個網(wǎng)絡(luò),構(gòu)成內(nèi)存池。CXL 2.0獲得了來自計算機(jī)業(yè)界和用戶社區(qū)的積極反饋。
2022年,基于PCIe 6.0規(guī)范的CXL 3.0發(fā)布,與此前基于PCIe 5.0的CXL相比,不僅帶寬速率翻倍(延遲沒有提高),也新增了很多功能特性,最引人矚目的當(dāng)屬對于多級交換機(jī)的支持。
有了多級交換機(jī)的支持,CXL便可以更好地對資源進(jìn)行解耦和池化,做更多的資源池,比如CPU資源池、內(nèi)存資源池、網(wǎng)卡資源池和加速器資源池等,交換機(jī)之間可以構(gòu)建各種網(wǎng)絡(luò)拓?fù)洹?/p>
CXL支持最多4096個節(jié)點,這意味著它不但在一個機(jī)柜內(nèi)實現(xiàn)計算資源和存儲資源的池化和解耦,而且,可以在多個機(jī)柜之間建立更大的資源池,如此一來,對于云計算服務(wù)商的資源管理效率和成本優(yōu)化都會帶來很大幫助。
從2022年開始到現(xiàn)在,市場上包括三星、美光都推出了基于CXL的內(nèi)存擴(kuò)展器產(chǎn)品,而隨著英特爾第四代至強(qiáng)可擴(kuò)展處理器和AMD新一代霄龍?zhí)幚砥鞯陌l(fā)布,主流的處理器平臺都開始支持CXL,CXL的落地便有了硬件基礎(chǔ)。(注:目前,AMD支持Type3設(shè)備,英特爾支持Type1和Type2設(shè)備)
我們也注意到,市場上還有軟件解決方案,比如來自MemVerge的大內(nèi)存軟件方案,該軟件可以負(fù)責(zé)管理CXL連接的內(nèi)存資源,讓服務(wù)器集群在業(yè)務(wù)平穩(wěn)期保有少量的內(nèi)存,在業(yè)務(wù)高峰期動態(tài)加入額外的內(nèi)存資源,從而提高內(nèi)存的使用效率,它可以直接幫助超大規(guī)模數(shù)據(jù)中心節(jié)省成本
在現(xiàn)代數(shù)據(jù)中心,工作負(fù)載的需求正在迅速改變。為了處理大數(shù)據(jù)、人工智能、機(jī)器學(xué)習(xí)等復(fù)雜的任務(wù),數(shù)據(jù)中心需要更強(qiáng)大、更高效的計算能力。CXL 通過提供一種高性能、低延遲的互連技術(shù),可以幫助數(shù)據(jù)中心更有效地利用計算資源,滿足新的需求。