同時,隨著人工智能和大數(shù)據(jù)的興起,使得異構(gòu)計算和多處理器并行工作的需求增多,而CXL作為下一代互連技術(shù)對于異構(gòu)計算和組合基礎(chǔ)設施,對于實現(xiàn)資源的有效利用至關(guān)重要。

上圖顯示的是過去十年里,CPU核數(shù)和內(nèi)存通道帶寬的變化趨勢。

自2012年以來,CPU的核數(shù)增加了近3倍,但每核通道帶寬增速明顯落后,傳統(tǒng)增加內(nèi)存帶寬的方法是:增加CPU內(nèi)存通道數(shù)和提高數(shù)據(jù)傳輸速率,以此來解決每核帶寬下降的挑戰(zhàn),但這一做法已經(jīng)到達了極限。

有鑒于此,三星將CXL視為解決內(nèi)存擴展挑戰(zhàn)的最有前景的技術(shù)。

在計算架構(gòu)中,無論是融合還是超融合架構(gòu),都具有預定義的資源配置,它限制了內(nèi)存和計算的獨立擴展,而CXL通過緩存一致性的特性,可以連接所有主機和設備,將內(nèi)存與計算進行解耦,而新的CXL3.0更是使得海量內(nèi)存資源池成為可能。

CXL的簡要介紹

CXL是由CXL聯(lián)盟開發(fā)的,建立在PCIe之上的一種高速低延遲的、連接CPU和設備的互連技術(shù)。CXL提供了主機CPU和連接設備之間的高效連接,CXL傳輸層由單個鏈路上的三個動態(tài)、多路復用子協(xié)議組成。

這些協(xié)議稱為CXL.io,CXL.cache和CXL.mem,當CXL設備連接到CXL主機時,通過CXL.io協(xié)議,對其進行發(fā)現(xiàn)、配置和管理,通過CXL.cache,CXL的設備能夠直接訪問處理器的內(nèi)存,而通過CXL.mem,CPU能夠訪問CXL設備的內(nèi)存。

CXL聯(lián)盟定義了三種不同類型的CXL設備:

類型1,CXL設備是緩存設備,通過CXL.cache存取主機內(nèi)存,并負責維護與主機內(nèi)存一致的本地緩存。

類型2的設備可以像類型1設備一樣直接存取主機連接的內(nèi)存,此外,類型2設備具有本地地址空間,主機CPU可以通過CXL.mem存取該地址空間。

類型3的設備是內(nèi)存擴展設備,允許主機CPU通過CXL.mem訪問一致性存取CXL的內(nèi)存緩存。

接下來重點看類型3的CXL設備,它包括內(nèi)存和內(nèi)存控制器,與類型1和類型2設備不同,類型3設備不可以修改內(nèi)存內(nèi)容。

類型3使不同類型的內(nèi)存顆粒能夠通過CXL連接到主機,并且,能讓CXL設備上的內(nèi)存映射到系統(tǒng)地址空間,使得CPU和設備看到相同的內(nèi)存數(shù)據(jù),也使得CXL內(nèi)存看起來就像主機的內(nèi)存。內(nèi)存一致性的優(yōu)勢在于,CXL主機和CXL設備可以共同處理數(shù)據(jù)。

類型3的內(nèi)存擴展設備可以幫助系統(tǒng)增加內(nèi)存容量和帶寬。上圖左側(cè)是一個系統(tǒng)有一個具有8個DDR通道的處理器,系統(tǒng)的總內(nèi)存容量是8TB,右邊的系統(tǒng)也有8個DDR通道,同時它還有4個CXL內(nèi)存鏈接,于是,系統(tǒng)總內(nèi)存容量到了12TB。

CXL可以不依賴DDR內(nèi)存通道數(shù)的增加和內(nèi)存速率的提升,來不斷增加內(nèi)存容量,擴展內(nèi)存帶寬,這是一種非常了不起的變化。

CXL的使用場景和價值

如上圖所示,當用戶通過CXL添加內(nèi)存容量,可以使得每臺服務器上配置較少的內(nèi)存,也能減少了所需的服務器的數(shù)量,最終,在系統(tǒng)層面節(jié)省成本。這對于需要高內(nèi)存容量的內(nèi)存數(shù)據(jù)庫和內(nèi)存計算應用程序特別有吸引力。

如上圖所示,當用戶通過CXL來擴展內(nèi)存帶寬,意味著可以提高內(nèi)存密集型應用程序的性能,如人工智能和流分析。CXL的帶寬擴展作用解決了帶寬和容量增長不平衡的問題,更好地滿足了CPU對內(nèi)存的需求。

上圖顯示的是分層和池化兩大應用場景。

在內(nèi)存分層方面,CXL可以使用多種內(nèi)存顆粒來提升內(nèi)存容量,然而,實際使用中,活躍的數(shù)據(jù)存放在DRAM里,CXL內(nèi)存負責存放這些不太活躍的數(shù)據(jù),最終,在不影響性能的前提下,實現(xiàn)更高的內(nèi)存使用效率。

在內(nèi)存池化方面,內(nèi)存資源池通過交換機連接服務器,通過提高內(nèi)存利用率來降低總體成本。內(nèi)存是數(shù)據(jù)中心里最后被分解的資源,將內(nèi)存與CPU分離,并且將內(nèi)存擴展到PB水平,可以更好地支持新興的數(shù)據(jù)密集型工作負載。

CXL1.0規(guī)范解決了節(jié)點級互連的問題以及處理器與其連接設備之間的互連。CXL2.0帶來了CXL交換機和內(nèi)存池化的功能,通過支持跨多個節(jié)點的內(nèi)存等資源池,將CXL提高到了機架級別。

CXL2.0還支持交換機功能,用于內(nèi)存擴展和池化,如上圖所示,可以通過CXL交換機進行內(nèi)存擴展,提升單臺服務器的內(nèi)存容量。右側(cè)則是有CXL交換機連接到內(nèi)存池,多個主機能存取數(shù)據(jù),通過動態(tài)分配和釋放內(nèi)存資源來提高整體系統(tǒng)效率。

CXL2.0規(guī)范中只能使用一個交換機,而CXL3.0更進一步,多個主機可以通過多個交換機來配置更復雜的架構(gòu)。

左圖展示的是內(nèi)存池化和共享的概念,右圖則是使用大量的交換機組成新的架構(gòu),多個主機加速器和內(nèi)存池組成的系統(tǒng)級互連,通過幾百個交換機實現(xiàn)整體的內(nèi)存異構(gòu)計算。

三星的CXL內(nèi)存擴展器解決方案

上圖是三星的CXL內(nèi)存開發(fā)生態(tài)系統(tǒng),三星于2021年5月發(fā)布了全球第一個類型3的CXL內(nèi)存擴展原型,它使用FPGA作為內(nèi)存控制器,128GB的DDR4內(nèi)存,×16的CXL鏈路寬度,外形規(guī)格是EDSFF(E3.S)2T的。

從2021年開始,三星與合作伙伴和客戶進行了多次測試。三星正在努力支持基于CXL內(nèi)存生態(tài)系統(tǒng),并認為2022年和2023年將是CXL帶來技術(shù)變革的關(guān)鍵年份。同時,三星會幫助客戶盡快適應CXL帶來的變化。

上圖展示的是三星內(nèi)存擴展器的產(chǎn)品圖,是業(yè)界首款基于AISC的CXL內(nèi)存模組,內(nèi)部有主控芯片,PCB板的一面貼了20個DDR5內(nèi)存模塊,另一側(cè)也是20個模塊,另外一部分是PMIC等。

三星的CXL內(nèi)存擴展器支持CXL2.0規(guī)范,EDSFF(E3.S)2T的外形規(guī)格,顆粒是DDR5,容量高達512GB,CXL鏈路寬度是X8的,支持PCIe5.0,帶寬是32GB/s,它還支持RAS等功能。

該產(chǎn)品從11月開始對外提供測試開發(fā),能使合作伙伴驗證CXL協(xié)議,進行一些測試,更好地了解性能情況。

配套開發(fā)軟件-SMDK

三星不但提供了硬件,同時也提供軟件,Scalable Memory Dvvelopment Kit——SMDK就是一款重要的開源軟件,它包含一組軟件工具和API來對接硬件和應用。它能讓本地DRAM內(nèi)存和CXL內(nèi)存融為一體,同時也可以對接各種CXL的異構(gòu)計算生態(tài)。

從圖中軟件堆??梢?,CXL Memory Zone支持優(yōu)化管理,從而可以使用具有不同特性的內(nèi)存。Intelligent tiering可根據(jù)應用對容量、帶寬和延遲需求不同,分配適當?shù)膬?nèi)存。

通過ComptibleAPI部分,系統(tǒng)開發(fā)者能夠輕松地將CXL內(nèi)存整合到高級系統(tǒng)中,而無需修改現(xiàn)有的應用環(huán)境。SMDK還提供了通過修改軟件應用程序來執(zhí)行高級優(yōu)化的選項,以充分利用底層內(nèi)存技術(shù)特性。

在三星看來,SMDK是推動CXL內(nèi)存行業(yè)向前發(fā)展的重要組成部分,三星很自豪能夠?qū)⑵渥鳛殚_源軟件發(fā)布,供行業(yè)使用。

實測:CXL方案的性能優(yōu)勢

從測試數(shù)據(jù)來看,在Redis內(nèi)存數(shù)據(jù)庫的測試中,一種方案是使用基于CXL內(nèi)存擴展器和SMDK,使用DDR5 32GB內(nèi)存作為主內(nèi)存,同時,使用CXL提供的64GB內(nèi)存,以此構(gòu)成一個Redis單節(jié)點,這個64GB的CXL內(nèi)存使用的就是三星的內(nèi)存模組。

作為對比的是傳統(tǒng)的三節(jié)點的Redis集群,每個節(jié)點都有32GB的DDR5內(nèi)存,節(jié)點間通過以太網(wǎng)進行連接。

測試結(jié)果中,使用128B、4KB和1MB的塊大小來測試,除了128B小文件以外,其它場景中,其實際帶寬表現(xiàn)前者都遠高于后者,其中,4KB數(shù)據(jù)塊的性能比后者大約提高了大概2.7倍。

結(jié)束語

每個CPU內(nèi)核所享有的內(nèi)存容量和內(nèi)存帶寬滯后于行業(yè)需求,傳統(tǒng)技術(shù)無法解決這一問題,CXL則可以很好地解決這一問題。

如今,三星正在引領(lǐng)基于CXL的內(nèi)存解決方案的發(fā)展潮流,既有硬件也提供了軟件,一些產(chǎn)品已經(jīng)交到了用戶,下一階段,三星希望更更多業(yè)內(nèi)合作伙伴一起合作,感謝大家的聆聽。

分享到

zhupb

相關(guān)推薦