2019年,英特爾推出了CXL技術(shù),短短幾年時(shí)間,CXL便成為業(yè)界公認(rèn)的先進(jìn)設(shè)備互連標(biāo)準(zhǔn),其最為強(qiáng)勁的競(jìng)爭(zhēng)對(duì)手Gen-Z、OpenCAPI都紛紛退出了競(jìng)爭(zhēng),并將Gen-Z協(xié)議、OpenCAPI協(xié)議轉(zhuǎn)讓給CXL。
目前業(yè)界對(duì)于CXL的熟識(shí)程度遠(yuǎn)遠(yuǎn)不及PCI-e、HBM等新型存儲(chǔ)技術(shù),主要是因?yàn)槟壳癙CIe還有其適用性,而歸根結(jié)底是因?yàn)樵摷夹g(shù)發(fā)展過于新、發(fā)展過于迅速。CXL全稱Compute Express Link,是一個(gè)全新的得到業(yè)界認(rèn)同的互聯(lián)技術(shù)標(biāo)準(zhǔn),其可以有效解決內(nèi)存墻和IO墻的瓶頸。PCI-e技術(shù)是CXL技術(shù)的底層基礎(chǔ),CXL則可視為PCI-e技術(shù)的再提高版本,并且,CXL延伸了更多變革性的功能。
2019年至今,CXL已經(jīng)發(fā)表了1.0/1.1、2.0、3.0/3.1五個(gè)不同的版本,CXL2.0內(nèi)存的池化(Pooling)功能較好的實(shí)現(xiàn)了以內(nèi)存為中心的構(gòu)想;CXL3.0則實(shí)現(xiàn)Memory sharing(內(nèi)存共享)和內(nèi)存訪問,在硬件上實(shí)現(xiàn)了多機(jī)共同訪問同樣內(nèi)存地址的能力;而CXL3.1,則具備開啟更多對(duì)等通信通道的能力,實(shí)現(xiàn)了對(duì)內(nèi)存和存儲(chǔ)的獨(dú)立分離,形成獨(dú)立的模塊。并且新規(guī)范將支持目前仍在研發(fā)中的DDR6內(nèi)存。
并且對(duì)于未來(lái),CXL有著非常清晰的技術(shù)發(fā)展路線圖,業(yè)界也對(duì)它的未來(lái)充滿期待。關(guān)于CXL技術(shù)為何物,讀者可以看《大內(nèi)存時(shí)代振奮人心的CXL技術(shù)(上)》、《大內(nèi)存時(shí)代振奮人心的CXL技術(shù)(下)》,本文將對(duì)最新的CXL 3.1進(jìn)行補(bǔ)充。
11月末,CXL 3.1新版本正式發(fā)布。本次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)。
CXL 3.0于2022年8月推出,CXL 2.0則于2020年推出??傮w來(lái)看,CXL 3.1的推出速度更快了,也更為適配當(dāng)前AI浪潮等數(shù)據(jù)中心的海量存儲(chǔ)及運(yùn)算需求。這次更新不僅提供了更為迅捷、更為安全的計(jì)算環(huán)境,同時(shí)也為將數(shù)據(jù)中心打造成規(guī)模宏大的服務(wù)器奠定了更加牢固的技術(shù)基礎(chǔ)。
國(guó)外專業(yè)評(píng)測(cè)網(wǎng)站ServeTheHome發(fā)表的《CXL 3.1 Specification Aims for Big Topologies》中,對(duì)CXL 3.1技術(shù)進(jìn)行了解析。

基于 CXL 3.1 結(jié)構(gòu)端口的路由( 圖片來(lái)源:CXL聯(lián)盟,下同)
CXL 3.1 在底層進(jìn)行了許多重大更改,主要是為了解決團(tuán)隊(duì)構(gòu)建更大的 CXL 系統(tǒng)和拓?fù)鋾r(shí)發(fā)生的問題。

CXL 3.1 結(jié)構(gòu)增強(qiáng)概述
CXL 3 帶來(lái)了基于端口的路由 (PBR) 等功能,這與基于層次結(jié)構(gòu)的路由不同,后者更類似于 PCIe 樹形拓?fù)洹_@是促進(jìn)更大的拓?fù)浜腿我馔ㄐ潘匦璧摹?/p>
CXL 3.1 的一項(xiàng)增強(qiáng)功能是支持使用全局集成內(nèi)存 (GIM) 通過 CXL 結(jié)構(gòu)進(jìn)行主機(jī)到主機(jī)通信。

CXL 3.1 Fabric 主機(jī)托管全局集成內(nèi)存
另一大問題是通過CXL對(duì) .mem 內(nèi)存事務(wù)的直接P2P支持。所有關(guān)于GPU內(nèi)存容量的討論都是AI的限制因素,這將是一種可以將CXL內(nèi)存和加速器添加到CXL交換機(jī)上并讓加速器直接使用Type-3 CXL內(nèi)存擴(kuò)展設(shè)備的用例類型。

通過PBR交換機(jī)對(duì)加速器的CXL 3.1 Fabric直接 P2P Mem支持
還有針對(duì)基于端口的路由 CXL 交換機(jī)的 Fabric Manager API 定義。結(jié)構(gòu)管理器最終可能會(huì)成為 CXL 生態(tài)系統(tǒng)的關(guān)鍵戰(zhàn)場(chǎng),因?yàn)樗枰櫦褐邪l(fā)生的許多事情。

CXL 3.1 結(jié)構(gòu)管理器 API
CXL 3.1 可信安全協(xié)議 (TSP) 是處理平臺(tái)安全性的下一步。想象一下,云提供商擁有多租戶虛擬機(jī)共享通過 CXL 連接的設(shè)備。

CXL 3.1 安全可信安全協(xié)議 TSP
因此,諸如機(jī)密計(jì)算之類的當(dāng)今云虛擬機(jī)中的熱門話題需要擴(kuò)展到服務(wù)器和連接到結(jié)構(gòu)的設(shè)備的范圍。

CXL 3.1 TSP 的安全要素
CXL 附加內(nèi)存還獲得了許多 RAS 功能以及元數(shù)據(jù)的附加位。同樣,隨著拓?fù)渥兊迷絹?lái)越大以確保可靠性,這一點(diǎn)很重要。
CXL技術(shù)的應(yīng)用場(chǎng)景非常廣泛,其中包括數(shù)據(jù)中心、人工智能和處理器互聯(lián)等領(lǐng)域。而在數(shù)據(jù)中心領(lǐng)域,嚴(yán)重的內(nèi)存問題一直是業(yè)界十分頭疼的問題。當(dāng)下存儲(chǔ)成本不斷增加,以及更為現(xiàn)實(shí)的計(jì)算和帶寬失衡現(xiàn)狀使得我們愈加關(guān)注內(nèi)存問題的解決上。
CXL 的主要優(yōu)點(diǎn)是它允許對(duì)直接連接到不同端點(diǎn)的內(nèi)存進(jìn)行加載/存儲(chǔ),如此前所述,CXL2.0版本推出了三個(gè)十分重要的新功能,分別是可以改變服務(wù)器業(yè)界生態(tài)構(gòu)型的Switching,以及它帶來(lái)的加速卡(AI、ML和Smart NIC)和內(nèi)存的池化(Pooling)。

CXL2.0 Switching及內(nèi)存的池化
如上所述,它使得Memory Polling(內(nèi)存池)成為可能,你可以跨系統(tǒng)設(shè)備實(shí)現(xiàn)共享內(nèi)存池,這就增加了很多的靈活性。比如,如果有機(jī)器內(nèi)存不夠時(shí),就可以靈活地在這個(gè)池子里尋找內(nèi)存空間;如果這臺(tái)機(jī)器不需要這些內(nèi)存了還可以隨時(shí)還回來(lái)。也就是說(shuō)越靠近CPU的存儲(chǔ)器(如DRAM)將被用來(lái)處理更為亟需的工作,這無(wú)疑將大大提高內(nèi)存的使用率,或者降低內(nèi)存的使用成本。
而CXL 3.0又在物理和邏輯層面進(jìn)行了升級(jí),在物理層面,CXL3.0將每通道吞吐量提升了一倍,達(dá)到64GT/s。邏輯層面上,CXL3.0擴(kuò)招了標(biāo)準(zhǔn)邏輯能力,允許更復(fù)雜的連接拓?fù)洌约耙唤MCXL設(shè)備內(nèi)可以靈活實(shí)現(xiàn)Memory sharing(內(nèi)存共享)和內(nèi)存訪問。比如,它可以使得多個(gè)Switch互相連接,可以使得上百個(gè)服務(wù)器互聯(lián)并共享內(nèi)存。

CXL3.0 Memory sharing
Memory sharing是非常大的一個(gè)亮點(diǎn),這種能力突破了某一個(gè)物理內(nèi)存只能屬于某一臺(tái)服務(wù)器的限制,在硬件上實(shí)現(xiàn)了多機(jī)共同訪問同樣內(nèi)存地址的能力??梢哉f(shuō),CXL的內(nèi)存一致性得到很大的增強(qiáng),因?yàn)榇饲暗腃XL2.0只能通過軟件實(shí)現(xiàn)Memory sharing。
到了最新的CXL 3.1新規(guī)范,據(jù)悉,其將支持目前仍在研發(fā)中的DDR6內(nèi)存。目前,JEDEC對(duì)DDR6并沒有進(jìn)行詳細(xì)的討論。
CXL 3.1 協(xié)議可以開放更多點(diǎn)對(duì)點(diǎn)通信,將內(nèi)存和存儲(chǔ)分解到單獨(dú)的盒子中。通過傳統(tǒng)網(wǎng)絡(luò)和互連技術(shù)進(jìn)行分解已經(jīng)討論了十年,但 CXL 提供了提供廣泛的計(jì)算資源所需的可擴(kuò)展性。
其一,CXL 3.1 規(guī)范提供了支持新型內(nèi)存的機(jī)會(huì),并且還可以更有效地將數(shù)據(jù)重新路由到內(nèi)存和加速器。
一項(xiàng)重要的進(jìn)步涉及將結(jié)構(gòu)上的內(nèi)存資源集中在一個(gè)全局地址下。該功能稱為全局集成內(nèi)存,對(duì)于在內(nèi)存和其他資源之間建立更快的連接非常重要。
加速器還能夠直接與內(nèi)存資源通信。基于端口的路由的新功能有助于更快地訪問內(nèi)存資源。

CXL 3.1 內(nèi)存增強(qiáng)
在《CXL 3.1 Specification Aims for Big Topologies》一文中,該作者表示,對(duì)于未來(lái)的發(fā)展,CXL 3.0/ CXL 3.1 就產(chǎn)品而言仍然遠(yuǎn)遠(yuǎn)不夠,因?yàn)樵撘?guī)范是為連接數(shù)千個(gè)CXL設(shè)備而設(shè)計(jì)的,而現(xiàn)狀是我們今天正在用數(shù)萬(wàn)個(gè)加速器構(gòu)建人工智能集群。在CXL 世界中,連接的CXL設(shè)備可能比當(dāng)今的加速器更多,其認(rèn)為CXL在未來(lái)或需要擴(kuò)展。
封面圖片來(lái)源:拍信網(wǎng)