存儲成本不斷增加,以及更為現實的計算和帶寬失衡困境,使得英特爾二十年前開創的PCI-e(PCI Express)技術逐漸乏力,我們越來越期待一種以內存為中心的、富有變革性的新技術出現,基于PCI-e協議的CXL技術便在此環境下出世。
2019年,英特爾推出了CXL技術,短短幾年時間,CXL便成為業界公認的先進設備互連標準,其最為強勁的競爭對手Gen-Z、OpenCAPI都紛紛退出了競爭,并將Gen-Z協議、OpenCAPI協議轉讓給CXL。 這種業界矚目的技術究竟有何來頭?以及現在業界火熱的內存池、內存共享等概念又是什么? 以下將分成上下兩篇,和大家一起深度了解CXL技術。
本文要點:
CXL是一個全新的得到業界認同的互聯技術標準,其正帶著服務器架構迎來革命性的轉變。
CXL可以有效解決內存墻和IO墻的瓶頸。
目前,PCI-e技術是當下CXL技術的底層基礎,會較早進行迭代升級。CXL可視為PCI-e技術的再提高版本,并且,CXL延伸了更多變革性的功能。
CXL2.0內存的池化(Pooling)功能較好的實現了以內存為中心的構想,CXL3.0則實現Memory sharing(內存共享)和內存訪問,在硬件上實現了多機共同訪問同樣內存地址的能力。
01CXL為何物?
CXL全稱為Compute Express Link,作為一種全新的互聯技術標準,其能夠讓CPU與GPU、FPGA或其他加速器之間實現高速高效的互聯,從而滿足高性能異構計算的要求,并且其維護CPU內存空間和連接設備內存之間的一致性。總體而言,其優勢高度概括在極高兼容性和內存一致性兩方面上。
CXL技術之所以值得期待,是因為它提出了一種有效解決當下業界頗為頭疼的內存墻和IO墻問題的方式。 △常見的存儲系統架構及存儲墻(全球半導體觀察制圖)
內存墻和IO墻現象來源于當前計算架構中的多級存儲。如圖所示,當前的主流計算系統所使用的數據處理方案,依賴于數據存儲與數據處理分離的體系結構(馮諾依曼架構),為了滿足速度和容量的需求,現代計算系統通常采取高速緩存(SRAM)、主存(DRAM)、外部存儲(NAND Flash)的三級存儲結構。
每當應用開始工作時,就需要不斷地在內存中來回傳輸信息,這在時間和精力上都有著較大的性能消耗。越靠近運算單元的存儲器速度越快,但受功耗、散熱、芯片面積的制約,其相應的容量也越小。如SRAM響應時間通常在納秒級,DRAM則一般為100納秒量級,NAND Flash更是高達100微秒級,當數據在這三級存儲間傳輸時,后級的響應時間及傳輸帶寬都將拖累整體的性能,形成“存儲墻”。
IO墻則產生于外部存儲中,因為數據量過于龐大,內存里放不下就需要借助外部存儲,并用網絡IO來訪問數據。IO方式的訪問會使得訪問速度下降幾個數量級,嚴重拖累著整體性能,這即是IO墻。
現代處理器性能的不斷提升,而內存與算力之間的技術發展差距卻不斷增大。業界數據顯示,在過去的20多年中,處理器的性能以每年大約55%速度快速提升,而內存性能的提升速度則只有每年10%左右。并且,當代內存容量擴展面臨著摩爾定律的壓力,速度在逐年減緩的同時,帶來的則是成本的愈發高昂。隨著大數據AI/ML等應用爆發,以上問題已經成為制約計算系統性能的主要因素。
02從CXL1到CXL3,
內存池和內存共享的奇妙構想
作為一項嶄新的技術,CXL發展非常可謂非常迅速,過去四年時間CXL已經發表了1.0/1.1、2.0、3.0三個不同的版本,并且它有著非常清晰的技術發展路線圖,業界也對它的未來充滿期待。
△圖片來源:CXL聯盟
CXL1.1直球式連接,帶來容量和帶寬的拓展
在2019年,CXL的第一個版本CXL1.0/1.1誕生,其直面內存墻和IO墻瓶頸的直球式打法給業界留下了深刻的印象。CXL1.1起初解決的問題還只是單機設備的問題,主要是對一臺服務器里的內存容量和帶寬進行擴展(Memory Expansion)。
CXL在創立之初便支持三種協議,分別是CXL.io,CXL.cache,CXL.mem。CXL.io是PCIe5.0的增強版本,運行在PCIe總線的物理層上,CXL.cache用于一致的主機緩存訪問,CXL.mem則用于主機內存訪問。正如CXL1.0和1.1標準中定義的那樣,這三種方法構成了連接主機和設備的新方法的基礎。
創新來講,CXL引入了Flex Bus端口,可以靈活的根據鏈路層協商決定是采用PCIE協議還是CXL協議。
這讓我們更好的理解CXL和PCI-e的關系,正因為CXL較高的兼容性,更容易被現有支持PCI-e端口的處理器(絕大部分的通用CPU、GPU 和 FPGA)所接納,因此,英特爾將CXL視為在PCIe物理層之上運行的一種可選協議,也就是說PCI-e的互聯協議沒有被完全拋棄,并且英特爾還計劃在第六代PCI-e標準上大力推進CXL的采用。
從CXL1.0/1.1、PCIe5.0、CXL2.0以及PCIe6.0CXL3.0的發展軌跡,我們也可以清晰看出CXL和PCI-e的關系。PCI-e技術作為CXL技術的底層基礎,會更早進行迭代升級。CXL可視為PCI-e技術的再提高版本,并且,CXL延伸了更多變革性的功能。 從CXL2.0開始,該技術就超出了單機的范疇,并衍生出了內存池的概念。
CXL2.0內存池帶來的變革
鑒于CXL標準誕生并不久,目前,CXL2.0是市場最為關注的焦點。
在CXL1.0和1.1的基礎上,2.0版本增加了熱插拔(Hot Plug)、安全升級、持久內存(Persistent Memory)、Telemetry和RAS的支持,但最為重要的功能,還是可以改變服務器業界生態構型的Switching,以及它帶來的加速卡(AI、ML和Smart NIC)和內存的池化(Pooling)。
關于設備的Pooling(池化),業界也曾進行過許多的構想與技術嘗試,想要將各類資源或是數據放入一個共享的池子按需提取,如FaceBook致力于分離(disaggregate)和池化(pool)內存,IBM的CAPI和OpenCAPI、英偉達的NVLink和NVSwitch、AMD的Infinity Fabric、賽靈思的CCIX,以及HPE和戴爾提供支持Gen-Z。因為各種各樣的原因,上述技術并沒有很好的發展開來。直到CXL2.0的池化操作變成現實,業界再次燃起希望。
CXL1.1還只限于單一Node,是一種CPU到CPU,或者CPU到PCIe設備的cache一致性互聯。2.0技術加入了一層(Single Level)的Switch(想一想PCIe的Switch),實現了多個設備連接到一個root port上,為后面的池化打下了技術基礎。
△圖片來源:CXL聯盟
上圖的H1到H4到Hn指的是一個個不同的主機(Host),也就是一個個服務器(Server),它可以通過CXL Switch連接多個設備,底下的D1、D2、D3、D4指的是不同的內存,也是通過CXL Switch連到上層的主機里。圖中不同的顏色代表設備的擁有者,如D1屬于H2,D2和D3屬于H1。SLD一個設備只能被分配到一個Hos上。
在這套框架之下,它使得Memory Polling(內存池)成為可能,你可以跨系統設備實現共享內存池,這就增加了很多的靈活性。比如,如果有機器內存不夠時,就可以靈活地在這個池子里尋找內存空間;如果這臺機器不需要這些內存了還可以隨時還回來。也就是說越靠近CPU的存儲器(如DRAM)將被用來處理更為亟需的工作,這無疑將大大提高內存的使用率,或者降低內存的使用成本。
CXL3.0共享內存時代的到來
CXL 3.0是在2022年8月份發布的新標準,其在許多方面都進行了較大的革新,首先,CXL3.0建立在PCI-Express 6.0之上(CXL1.0/1.1和2.0版本建立在PCIe5.0之上),其帶寬提升了兩倍,并且其將一些復雜的標準設計簡單化,確保了易用性。
△圖片來源:CXL聯盟
最為關鍵的革新還在于物理和邏輯層面的升級,在物理層面,CXL3.0將每通道吞吐量提升了一倍,達到64GT/s。邏輯層面上,CXL3.0擴招了標準邏輯能力,允許更復雜的連接拓撲,以及一組CXL設備內可以靈活實現Memory sharing(內存共享)和內存訪問。比如,它可以使得多個Switch互相連接,可以使得上百個服務器互聯并共享內存。
Memory sharing是非常大的一個亮點,這種能力突破了某一個物理內存只能屬于某一臺服務器的限制,在硬件上實現了多機共同訪問同樣內存地址的能力。可以說,CXL的內存一致性得到很大的增強,因為此前的CXL2.0只能通過軟件實現Memory sharing。
CXL來勢洶洶,在CXL技術推出的那一年,CXL聯盟也隨之成立,由英特爾牽頭,聯合阿里巴巴、戴爾EMC、Facebook(Meta)、谷歌、HPE、華為和微軟共同建立,隨后AMD、Arm加入其中。
近兩年,CXL聯盟擴展出超過165個成員,幾乎涵蓋了所有主要的CPU、GPU、內存、存儲和網絡設備制造商。而在技術上,2022年,Gen-Z聯盟、Open CAPI聯盟均確認將所有技術規格和資產轉讓給CXL,確保CXL作為行業標準向前推進,對于業界而言,這是一個非常偉大的選擇。
03從存儲變革看CXL的未來意義
以內存為中心的構想由來已久,CXL對于未來的變革目前還無法想象,但是上世紀90年代,存儲也經歷了一場類似的變革,這或許可以幫助我們更好的理解它。
上世紀90年代之前,存儲指的就是硬盤,由IBM研發的350 RAMAC的誕生標志著人類正式進入了硬盤時代。90年代初期,一個叫做Fiber Channel的網絡出現,它使存儲從服務器里獨立出來,變成一個與計算分離的、可以獨立擴展與管理的系統,這就是人們熟知的SAN系統。
隨后的存儲市場更是出現了各式各樣的網絡共享存儲,這場技術革命,使得存儲從一個簡單的器件行業變成了一個軟件和系統行業,并隨著誕生了“存儲軟件”概念。
1995年,集合了軟件和硬件的SAN系統開始出現,2000年左右,第一代NAS開始落地。不止的SAN系統,在這段技術革命中,也涌現了一大批成功的領導者公司,包括EMC、NetApp、Veritas、PureStorage等等,存儲軟件和系統迅速成長壯大為一個龐大的市場。
現在的內存和30年前的硬盤存儲極為相似。
現在的內存還只是服務器里的一個設備,隨著CXL的出現,內存可以和計算進行分離,就像90年代存儲和計算分離一般,這意味著,內存也有望獨立成為一個嶄新的系統,并賦予更多的功能。
或許是看到了CXL潛力,2022年8月24日,JEDEC固態技術協會和Compute Express Link(CXL)聯盟宣布簽署合作備忘錄開展合作,該協議表明將形成一個聯合工作組,以提供一個促進信息、要求、建議和請求的交流和共享的論壇,目的是這種信息交流將有助于每個組織制定的標準相互增強。
業界表示,與具有380個引腳的DDR5接口提供32GB/s帶寬相比,CXL內存控制器可以提供相同或更高的帶寬,利用x8或x16CXL通道分別提供32GB/s或64GB/s帶寬。CXL串行連接存儲器可用于緩解當今解決方案的帶寬限制。總體來看,CXL與JEDEC在DDR方面的合作將給內存行業帶來新的轉機。
此外,據TrendForce集邦咨詢此前研判,CXL(Compute Express Link)原是希望能夠整合各種xPU之間的性能,進而優化AI與HPC所需要的硬件成本,并突破原先的硬件限制。
CXL的支援仍是以CPU為源頭去考慮,但由于可支援CXL功能的服務器CPU Intel Sapphire Rapids與AMD Genoa現階段僅支援至CXL 1.1規格,而該規格可先實現的產品則是CXL存儲器擴充(CXL Memory Expander)。
因此,TrendForce認為,在各種CXL相關產品內,CXL存儲器擴充將成為前驅產品,其產品也與DRAM最為相關。
04結語
CXL時代將會很快到來,業界消息顯示,2024年上半年,CXL1.1和CXL2.0可能會有落地產品,CXL3.0的落地還需要更長時間。現階段,相關的合作伙伴也在找相應的廠商對一些工程樣品搭建環境進行開發測試。
目前,各大企業動態頻頻,《大內存時代,振奮人心的CXL技術》下篇將會對業界大廠在CXL上的布局以及CXL技術現存的一些短板進行闡述。
審核編輯:劉清
-
DRAM
+關注
關注
40文章
2332瀏覽量
183911 -
存儲器
+關注
關注
38文章
7530瀏覽量
164403 -
NIC
+關注
關注
0文章
23瀏覽量
12475 -
PCI-e
+關注
關注
0文章
11瀏覽量
6276
原文標題:大內存時代振奮人心的CXL技術(上)
文章出處:【微信號:算力基建,微信公眾號:算力基建】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
在FPGA上設計PCI-e Gen2.0和PCI-e Gen3.0有什么不同
解決臺式機PCI-E 1X不夠難題 :樂擴PCI-E 1X轉2口PCI-E 1X擴展卡
RapidIO與PCI-E哪個更適合通信
PCI PCI-X PCI-E介紹 精選資料分享
一窺CXL協議
PCI-e總線FPGA開發板資料說明
淺談顯卡PCI/AGP/PCI-E接口的區別
Intel的核顯真的占用了CPU的4根PCI-E通道嗎
![Intel的核顯真的占用了CPU的4根<b class='flag-5'>PCI-E</b>通道嗎](https://file.elecfans.com/web1/M00/AE/5E/o4YBAF3Yl_qAFQQOAAALrjIIEvY284.png)
pci-e插槽的規格有哪些 各個版本的pci-e的規范區別
![<b class='flag-5'>pci-e</b>插槽的規格有哪些 各個版本的<b class='flag-5'>pci-e</b>的規范區別](https://file1.elecfans.com/web2/M00/8F/76/wKgaomTNsZmAQ9_KAAATDJ1IR8c548.jpg)
評論