指數級數據增長促使半導體行業(yè)開始進行突破性的架構轉變,以從根本上改變數據中心的性能、效率和成本。
服務器架構在過去幾十年來基本保持不變,現(xiàn)在,他們正朝著解決 AI/ML 應用程序生成的 yottabytes 數據邁出革命性的一步。具體來說,數據中心正在從每臺服務器都有專用處理和內存以及網絡設備和加速器的模型轉變?yōu)橹悄芷ヅ滟Y源和工作負載的分解“池”范式。
這種方法為數據中心提供了廣泛的好處,包括更高的性能、更高的效率和更低的總擁有成本 (TCO)。盡管分解(或機架級架構)和通用接口的概念已經流傳了一段時間,但業(yè)界正在果斷地將 Compute Express Link (CXL) 融合為處理器、內存和加速器的緩存一致性互連。事實上,帶有 CXL 接口的新服務器架構和設計很快就會進入市場。
什么是Compute Express Link?
Compute Express Link (CXL) 是一種開放標準的行業(yè)支持的緩存一致性互連,用于處理器、內存擴展和加速器的鏈接。從本質上講,CXL 技術維護 CPU 內存空間和連接設備上的內存之間的內存一致性。這可以實現(xiàn)資源共享(或池化)以獲得更高的性能,降低軟件堆棧的復雜性,并降低整體系統(tǒng)成本。CXL 聯(lián)盟已經確定了可從新互連中受益的三類主要設備:
類型 1 設備:智能 NIC 等加速器通常缺乏本地內存。但是,它們可以利用 CXL.io 協(xié)議和 CXL.cache 與主機處理器的 DDR 內存進行通信。
類型 2 設備: GPU、ASIC 和 FPGA 都配備了 DDR 或 HBM 內存,并且可以使用 CXL.memory 協(xié)議以及 CXL.io 和 CXL.cache,使主機處理器的內存本地可用于加速器——并且加速器的內存在本地可供 CPU 使用。它們還位于同一個緩存一致域中,有助于提升異構工作負載。
類型 3 設備: CXL.io 和 CXL.memory 協(xié)議可用于內存擴展和池化。例如,連接到 CXL 總線的緩沖區(qū)可用于實現(xiàn) DRAM 容量擴展、增加內存帶寬或添加持久內存,而不會丟失 DRAM 插槽。在現(xiàn)實世界中,這意味著以前取代 DRAM 的高速、低延遲存儲設備可以用支持 CXL 的設備代替它。這些可能包括各種形式因素的非易失性技術,例如附加卡、U.2 和 EDSFF。
CXL 協(xié)議和標準
Compute Express Link (CXL) 標準通過三種協(xié)議支持各種用例,當中包括:CXL.io、CXL.cache 和 CXL.memory。
CXL.io:該協(xié)議在功能上等同于 PCIe 5.0 協(xié)議,并利用了 PCIe 的廣泛行業(yè)采用和熟悉程度。作為基礎通信協(xié)議,CXL.io 用途廣泛,可解決廣泛的用例。
CXL.cache:該協(xié)議專為更具體的應用程序而設計,使加速器能夠有效地訪問和緩存主機內存以優(yōu)化性能。
CXL.memory:該協(xié)議使主機(例如處理器)能夠使用加載/存儲命令訪問設備連接的內存。
這三種協(xié)議共同促進了計算設備(例如 CPU 主機和 AI 加速器)之間內存資源的一致共享。從本質上講,這通過啟用共享內存的通信來簡化編程。
Compute Express Link 與 PCIe 5:
這兩者有何關聯(lián)?
CXL 2.0 建立在PCIe 5.0的物理和電氣接口之上,其協(xié)議建立一致性、簡化軟件堆棧并保持與現(xiàn)有標準的兼容性。
具體來說,CXL 利用 PCIe 5 功能,允許備用協(xié)議使用物理 PCIe 層。當啟用 CXL 的加速器插入 x16 插槽時,設備以默認的 PCI Express 1.0 傳輸速率 (2.5 GT/s) 與主機處理器的端口協(xié)商。Compute Express Link 事務協(xié)議僅在雙方都支持 CXL 時激活。否則,它們將作為 PCIe 設備運行。
根據VentureBeat 的Chris Angelini 的說法,CXL 和 PCIe 5 的對齊意味著這兩種設備類別都可以以 32 GT/s(每秒千兆傳輸)或高達 64 GB/s 的速度通過 16 通道鏈路在每個方向上傳輸數據。
Angelini 還指出,CXL 的性能需求很可能成為采用 PCIe 6.0 的驅動因素。
CXL 的特點和優(yōu)勢
簡化和改進低延遲連接和內存一致性可顯著提高計算性能和效率,同時降低 TCO。
此外,CXL 內存擴展功能可實現(xiàn)超出當今服務器中緊密綁定的 DIMM 插槽的額外容量和帶寬。CXL 可以通過連接 CXL 的設備向 CPU 主機處理器添加更多內存。當與持久內存配對時,低延遲 CXL 鏈接允許 CPU 主機結合 DRAM 內存使用此額外內存。大容量工作負載的性能取決于大內存容量,例如 AI。
考慮到這些是大多數企業(yè)和數據中心運營商正在投資的工作負載類型,CXL 的優(yōu)勢顯而易見。
CXL 2.0 規(guī)范:有什么新變化?
Compute express link (cxl):內存池圖 – Rambus
?。?)內存池
CXL 2.0 支持切換以啟用內存池。使用 CXL 2.0 交換機,主機可以訪問池中的一個或多個設備。盡管主機必須啟用 CXL 2.0 才能利用此功能,但內存設備可以是啟用 CXL 1.0、1.1 和 2.0 的硬件的混合。在 1.0/1.1 中,設備被限制為一次只能由一臺主機訪問的單個邏輯設備。但是,2.0 級別的設備可以分區(qū)為多個邏輯設備,最多允許 16 臺主機同時訪問內存的不同部分。
例如,主機 1 (H1) 可以使用設備 1 (D1) 中一半的內存和設備 2 (D2) 中四分之一的內存,以使其工作負載的內存需求與內存池中的可用容量精確匹配。 設備 D1 和 D2 中的剩余容量可供一臺或多臺其他主機使用,最多可達 16 臺。設備 D3 和 D4(分別啟用 CXL 1.0 和 1.1)一次只能由一臺主機使用。
(2)交換
通過遷移到 CXL 2.0 直連架構,數據中心可以獲得主內存擴展的性能優(yōu)勢,以及池化內存的效率和總體擁有成本 (TCO) 優(yōu)勢。
假設所有主機和設備都支持 CXL 2.0,“交換”通過 CXL 內存池芯片中的交叉開關合并到內存設備中。這可以保持較低的延遲,但需要更強大的芯片,因為它現(xiàn)在負責由交換機執(zhí)行的控制平面功能。
通過低延遲直接連接,連接的內存設備可以使用 DDR DRAM 來擴展主機主內存。這可以在非常靈活的基礎上完成,因為主機能夠根據需要訪問任意數量的設備的全部或部分容量來處理特定工作負載。
(3)“按需”記憶范式
類似于拼車,CXL 2.0 根據“需要”為主機分配內存,從而提供更高的內存利用率和效率。該架構提供了為標稱工作負載(而不是最壞情況)配置服務器主內存的選項,能夠在需要高容量工作負載時訪問池,并為 TCO 提供進一步的好處。
最終,CXL 內存池模型可以支持向服務器分解和可組合性的根本轉變。在這種范式中,計算、內存和存儲的離散單元可以按需組合,以有效滿足任何工作負載的需求。
(4)完整性和數據加密 (IDE)
分解(或分離服務器架構的組件)會增加攻擊面。這正是 CXL 包含安全設計方法的原因。具體來說,所有三個 CXL 協(xié)議都通過提供機密性、完整性和重放保護的完整性和數據加密 (IDE) 來保護。IDE 在 CXL 主機和設備芯片中實例化的硬件級安全協(xié)議引擎中實現(xiàn),以滿足 CXL 的高速數據速率要求,而不會引入額外的延遲。
應該注意的是,CXL 芯片和系統(tǒng)本身需要防止篡改和網絡攻擊的保護措施。在 CXL 芯片中實現(xiàn)的硬件信任根可以為安全啟動和安全固件下載的安全性和支持要求提供此基礎。
為了推動CXL的發(fā)展,行業(yè)企業(yè)成立了一個CXL 聯(lián)盟。這是一個開放的行業(yè)標準組織,旨在開發(fā)技術規(guī)范,以促進新興使用模型的突破性性能,同時支持數據中心加速器和其他高速增強的開放生態(tài)系統(tǒng)。