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

基于 CXL 3.1 結構端口的路由( 圖片來源:CXL聯盟,下同)
CXL 3.1 在底層進行了許多重大更改,主要是為了解決團隊構建更大的 CXL 系統(tǒng)和拓撲時發(fā)生的問題。

CXL 3.1 結構增強概述
CXL 3 帶來了基于端口的路由 (PBR) 等功能,這與基于層次結構的路由不同,后者更類似于 PCIe 樹形拓撲。這是促進更大的拓撲和任意通信所必需的。
CXL 3.1 的一項增強功能是支持使用全局集成內存 (GIM) 通過 CXL 結構進行主機到主機通信。

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

通過PBR交換機對加速器的CXL 3.1 Fabric直接 P2P Mem支持
還有針對基于端口的路由 CXL 交換機的 Fabric Manager API 定義。結構管理器最終可能會成為 CXL 生態(tài)系統(tǒng)的關鍵戰(zhàn)場,因為它需要跟蹤集群中發(fā)生的許多事情。

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

CXL 3.1 安全可信安全協(xié)議 TSP
因此,諸如機密計算之類的當今云虛擬機中的熱門話題需要擴展到服務器和連接到結構的設備的范圍。

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

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

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

CXL 3.1 內存增強
在《CXL 3.1 Specification Aims for Big Topologies》一文中,該作者表示,對于未來的發(fā)展,CXL 3.0/ CXL 3.1 就產品而言仍然遠遠不夠,因為該規(guī)范是為連接數千個CXL設備而設計的,而現狀是我們今天正在用數萬個加速器構建人工智能集群。在CXL 世界中,連接的CXL設備可能比當今的加速器更多,其認為CXL在未來或需要擴展。
封面圖片來源:拍信網