前幾天寫(xiě)了一個(gè)關(guān)于新協(xié)議技術(shù)的文章,大家反響不錯(cuò),那今天再寫(xiě)一個(gè)新協(xié)議。
協(xié)議技術(shù)的本質(zhì),其實(shí)是翻譯。舉一個(gè)極端情況,如果所有設(shè)備都說(shuō)同樣的「語(yǔ)言」,那就壓根不需要這么多復(fù)雜的協(xié)議了。
從這個(gè)角度來(lái)看,對(duì)協(xié)議的定義,其實(shí)是對(duì)話語(yǔ)權(quán)的定義。
之前文章里介紹的協(xié)議,更多應(yīng)用在我們?nèi)粘I钪校?strong>但其實(shí)真正「諸侯割據(jù)」的大戰(zhàn)場(chǎng),在數(shù)據(jù)中心。你聽(tīng)過(guò)的幾乎所有最先進(jìn)的技術(shù),比如AI訓(xùn)練、云計(jì)算、大數(shù)據(jù)分析等等,都發(fā)生(或首先發(fā)生)在數(shù)據(jù)中心里。
AI領(lǐng)域有算力、算法、數(shù)據(jù)三個(gè)要素,但它們本質(zhì)上都是對(duì)「數(shù)據(jù)」本身的處理:算力意味著數(shù)據(jù)處理性能更高、算法代表處理數(shù)據(jù)更加智能和高效,而數(shù)據(jù)其實(shí)指的是對(duì)更多更高質(zhì)量數(shù)據(jù)的需求。
所以還有這樣一句話:數(shù)據(jù)是新時(shí)代的石油。
然而,硬件又一次成功「拉胯」:雖然存儲(chǔ)數(shù)據(jù)的介質(zhì)有了進(jìn)步,但面對(duì)不斷增長(zhǎng)的海量數(shù)據(jù),內(nèi)存容量有限、存儲(chǔ)帶寬瓶頸、算存分離帶來(lái)的效率低下等問(wèn)題,就成為制約數(shù)據(jù)中心里系統(tǒng)性能提升的瓶頸。當(dāng)然,本質(zhì)上的原因,是因?yàn)閿?shù)據(jù)中心里巨頭太多,有的做計(jì)算、有的做存儲(chǔ)、有的做網(wǎng)絡(luò)、有的做應(yīng)用,大家在不同領(lǐng)域,由于各種各樣的原因很難好好協(xié)作。
在這個(gè)背景下,一個(gè)名叫CXL(Compute Express Link)的技術(shù)出現(xiàn)了。
和傳統(tǒng)的小修小補(bǔ)不同,CXL不是簡(jiǎn)單的加內(nèi)存條數(shù)量或升級(jí)接口帶寬,而是提供了一種跨CPU、內(nèi)存、存儲(chǔ)的新連接標(biāo)準(zhǔn)。這不僅讓服務(wù)器架構(gòu)發(fā)生了根本性變化,也為傳統(tǒng)存儲(chǔ)與計(jì)算資源的使用方式帶來(lái)了重構(gòu)機(jī)會(huì)。
CXL:集團(tuán)軍作戰(zhàn),想卷死誰(shuí)?
想理解CXL的核心價(jià)值,我們可以打個(gè)比方:在傳統(tǒng)的計(jì)算架構(gòu)里,CPU像是一位將軍,帶著自己麾下的一群士兵(內(nèi)存、存儲(chǔ))單打獨(dú)斗。而CXL的出現(xiàn),就像讓來(lái)自各個(gè)軍團(tuán)的所有將軍之間可以調(diào)兵遣將、共享糧草、統(tǒng)一調(diào)度,從而形成一支集團(tuán)軍。
這樣你不需要是韓信,帶兵多多益善;只要你是良將,就能靠CXL「對(duì)齊顆粒度,拉通上下游,形成組合拳」。
值得注意的是,CXL不是一個(gè)協(xié)議,而是一個(gè)協(xié)議家族,主要包含三個(gè)關(guān)鍵點(diǎn):
1. CXL.io:基于PCIe的I/O協(xié)議,用于設(shè)備發(fā)現(xiàn)、配置、管理和傳統(tǒng)的I/O操作,確保了與現(xiàn)有PCIe生態(tài)系統(tǒng)的兼容性。
2. CXL.cache:允許加速器等設(shè)備與CPU共享緩存,實(shí)現(xiàn)對(duì)CPU內(nèi)存的一致性訪問(wèn)。這對(duì)于需要低延遲訪問(wèn)共享數(shù)據(jù)的應(yīng)用至關(guān)重要,比如現(xiàn)在的各種AI訓(xùn)練和推理任務(wù)。
3. CXL.mem:允許CPU訪問(wèn)連接在CXL設(shè)備上的內(nèi)存,從而實(shí)現(xiàn)內(nèi)存的擴(kuò)展和池化。這是CXL最具革命性的部分,使得內(nèi)存不再僅僅局限于主板上的DIMM插槽,也是我們今天要說(shuō)的重點(diǎn)。
這意味著在基于CXL構(gòu)建的系統(tǒng)中,可以有一個(gè)“內(nèi)存池”,由多個(gè)CXL內(nèi)存設(shè)備構(gòu)成,不同CPU和加速器根據(jù)任務(wù)需求動(dòng)態(tài)調(diào)用,而不再局限于本地內(nèi)存。這種分布式共享內(nèi)存的架構(gòu),不僅極大地提升了資源利用率,也為AI等吞吐密集型任務(wù)提供了理想平臺(tái)。
從宏觀層面來(lái)看,CXL所推動(dòng)的是一個(gè)「軟硬解耦、統(tǒng)一抽象」的未來(lái),它將系統(tǒng)架構(gòu)拉向一個(gè)更加靈活、模塊化、資源池化的方向。而這正是下一代數(shù)據(jù)中心、云計(jì)算架構(gòu)的剛需。
不過(guò)有人會(huì)問(wèn)了,CXL到底是不是重復(fù)造輪子?
比如,NVMe已經(jīng)是一個(gè)非常成熟且高速的存儲(chǔ)接口標(biāo)準(zhǔn)。為什么還需要CXL、或者CXL能否取代NVMe?
答案是否定的。NVMe主要解決的是低延遲高并發(fā)的存儲(chǔ)訪問(wèn)問(wèn)題,而CXL則是要解決跨節(jié)點(diǎn)算力協(xié)同與內(nèi)存資源共享問(wèn)題。兩者在物理接口層(都是基于PCIe)可能相似,但在協(xié)議、架構(gòu)和目標(biāo)場(chǎng)景上則完全不同。
NVMe強(qiáng)調(diào)“更快地用SSD”,而CXL強(qiáng)調(diào)“更聰明地用內(nèi)存”。在未來(lái)的數(shù)據(jù)中心中,NVMe繼續(xù)擔(dān)任高速塊存儲(chǔ)的角色,而CXL將成為跨計(jì)算節(jié)點(diǎn)的“記憶網(wǎng)絡(luò)”。所以兩者并非你死我活,而是強(qiáng)強(qiáng)聯(lián)合。
新機(jī)會(huì),到底在哪里?
回到這篇文章的主題,那就是在這波CXL的浪潮中,大廠們看到了怎樣的機(jī)會(huì)?
例如,三星已大大加快了基于CXL解決方案的研發(fā)進(jìn)程。在2021年,他們推出了全球首款支持CXL的內(nèi)存原型,2022年推出了第二代并支持512GB內(nèi)存模塊,并在后續(xù)幾屆技術(shù)大會(huì)上持續(xù)披露新產(chǎn)品。
比如,CMM-D(CXL Memory Module – DRAM)本質(zhì)上是基于CXL標(biāo)準(zhǔn)封裝的DDR內(nèi)存擴(kuò)展模塊。CMM-D通過(guò)CXL接口連接到CPU,可以直接作為系統(tǒng)內(nèi)存使用,具有熱插拔、遠(yuǎn)程訪問(wèn)、跨節(jié)點(diǎn)共享等特性。相當(dāng)于在不改變主CPU內(nèi)存通道數(shù)量的前提下,實(shí)現(xiàn)內(nèi)存容量和帶寬的擴(kuò)展。比如,這些模塊可以直接插入支持CXL的服務(wù)器中,即時(shí)擴(kuò)展系統(tǒng)內(nèi)存,滿足AI/ML、內(nèi)存數(shù)據(jù)庫(kù)等應(yīng)用對(duì)大容量?jī)?nèi)存的需求。
此外,CMM-D原生支持CXL特有的內(nèi)存一致性,即CPU內(nèi)存和CXL設(shè)備內(nèi)存之間可以無(wú)縫共享相同的數(shù)據(jù)。從技術(shù)上看,這是因?yàn)镃XL主機(jī)有一個(gè)作為管理器的主代理,并使用CXL.cache和CXL.mem來(lái)一致地訪問(wèn)所連接的內(nèi)存,并保證主機(jī)和CXL設(shè)備能看到內(nèi)存位置的相同副本。
基于CXL的內(nèi)存池?cái)U(kuò)展
從各自為戰(zhàn),到聯(lián)合作戰(zhàn)
現(xiàn)代技術(shù)早就不是各個(gè)廠商單打獨(dú)斗就能闖出一片天的時(shí)候了,一個(gè)技術(shù)的成熟和破圈,離不開(kāi)整個(gè)產(chǎn)業(yè)鏈的協(xié)同努力。在CXL領(lǐng)域,各家CPU廠商、存儲(chǔ)廠商、操作系統(tǒng)廠商、服務(wù)器OEM等廠商都在一起合作,構(gòu)建數(shù)據(jù)中心的CXL生態(tài)。
比如,在CPU方面,英特爾、AMD這些數(shù)據(jù)中心CPU的巨頭廠商,都在擴(kuò)展自家的服務(wù)器CPU平臺(tái)以無(wú)縫兼容CXL內(nèi)存產(chǎn)品,并實(shí)現(xiàn)最優(yōu)性能。在擴(kuò)展控制器方面,瀾起科技將自家的CXL內(nèi)存擴(kuò)展控制器 (MXC) 與三星的CXL內(nèi)存模塊配合,為服務(wù)器提供高效的內(nèi)存擴(kuò)展能力。在操作系統(tǒng)和軟件層面,紅帽等OS大廠也在開(kāi)發(fā)和優(yōu)化支持CXL的軟件棧,包括在Linux內(nèi)核中添加對(duì)CXL設(shè)備發(fā)現(xiàn)、內(nèi)存管理、錯(cuò)誤處理等功能的支持,以及開(kāi)發(fā)相應(yīng)的管理工具和API,使應(yīng)用程序能夠充分利用CXL帶來(lái)的內(nèi)存擴(kuò)展和共享能力。
未來(lái)已來(lái)?
對(duì)協(xié)議的定義,其實(shí)就是對(duì)話語(yǔ)權(quán)的定義,但這絕對(duì)不是一蹴而就的過(guò)程。三星在CXL領(lǐng)域的投入就是一個(gè)很好的例子,不管是標(biāo)準(zhǔn)制定、產(chǎn)品研發(fā)、還是生態(tài)建設(shè),都需要長(zhǎng)期大量持續(xù)的投入。當(dāng)然也只有這樣,才能保證在新技術(shù)的浪潮中占領(lǐng)先機(jī)。
看到機(jī)會(huì)、解決困難的問(wèn)題,并長(zhǎng)期堅(jiān)持做下去,這或許是硬科技最吸引人的地方。
(注:本文不代表老石任職單位的觀點(diǎn)。)