讓共用記憶體儲存池逐步成為現實的 CXL 詳解
去年底 AMD 傲然發表第四代 EPYC 處理器 Genoa,將 x86 伺服器處理器核心數推到 96 個。今年第一季,經過漫長期盼,英特爾終於推出第四代 Xeon-SP Sapphire Rapids。由於兩大巨頭都支援 CXL(Compute Express Link)1.1 版,使「CXL」術語曝光度逐漸攀升。
最初以 Intel AL(Accelerator Link)為名開發的 CXL 代表資料中心領域高速、開放且高效率的互連標準。主要目標是確立支援快速記憶體資料共享的互連架構,尤其 CPU 與加速器、CPU 與記憶體、其他高性能計算元件的互動。因「不患寡而患不均」,所以「獨樂樂不如眾樂樂」。
▲ 從只有兩個 DDR 記憶體通道的 SoC,演化到有額外 CXL「外接」記憶體的未來 SoC,間接預言了個人電腦平台的未來。
CXL 主要解決哪些問題?
CXL 致力解決兩大核心難題:「記憶體頻寬」和「記憶體利用率」。
▲ 受限於容量訊號腳位空間,無論記憶體還是 I/O,早遠遠跟不上 CPU 核心的成長幅度,單一 CPU 核心分配到的頻寬也節節下滑。
「記憶體頻寬」主要原因是記憶體頻寬由記憶體通道數決定。但物理腳位限制,當處理器核心數持續增加,記憶體頻寬增長速度卻無法跟上。
這代表新型且擁有更多核心的處理器每個核心能獲得的記憶體頻寬漸漸降低,相似問題也出現在 GPU,瓶頸限制運算能力最大發揮度。高階處理器普遍配備更大、多層次快取記憶體,且有些如英特爾使用 HBM 和 AMD 的 3D V-Cache 等創新技術,但這些方法仍有極限。
大型資料中心記憶體閒置比想像嚴重許多。DRAM 已成為雲端服務提供商資料中心的一大支出項目。以微軟為例,曾透露 DRAM 占 Azure 資料中心伺服器近一半成本,代表數十億美元投資。
▲ 根據微軟 Azure 的研究,得到以下結論:a. 調度更多 CPU 核心,「記憶體擱淺」(Memory Stranding)顯著增加。b. 記憶體擱淺會隨著時間過去變化,並廣泛影響大量伺服器。c. 約由 32 個 CPU 腳座組成的小型記憶體池(Memory Pool)足以減少整體記憶體容量需求。d. 部署虛擬機會造成大量「冷」(閒置)記憶體容量。
有趣的是,許多大型資料中心都面臨伺服器記憶體利用率偏低問題。2022 年 5 月全美計算機科學排名首位的卡內基美隆大學與微軟共同發表論文〈First-generation Memory Disaggregation for Cloud Platforms〉,即使微軟 Azure 資料中心所有 CPU 核心都分給虛擬機器(VM,Virtual Machine),還是有高達 25% 的 DRAM 容量未使用。更令人震驚的是,Google 資料中心 DRAM 利用率甚至僅 40%,彷彿數億美元為單位的鈔票整捆整捆丟進海裡。
值得注意的是,現在資料中心不只伺服器,隨著 GPU 和 SmartNIC 等專用加速卡廣泛使用,這些裝置也有大量 DRAM,加劇記憶體利用效率的麻煩。分散各地的記憶體,如多階層快取記憶體、分散式實體記憶體(NUMA)和外部加速器(Accelerator),急需彼此快取資料一致性(Cache Coherence)協定,更讓問題延燒如火燒摩天樓嚴重。故出現一種需求:如何更均衡分配和使用記憶體資源,也是 CXL(其他類似技術)誕生的主要動機。
簡而言之,CXL 技術出現旨在解決以下幾個核心問題:
記憶體資源瓶頸:隨著運算需求增加,單一伺服器記憶體資源往往成為限制。
記憶體利用效率不足:多伺服器環境與搭配加速卡的記憶體資源分散,導致部分記憶體未充分使用。
資料傳輸效率問題:大量資料移動會拖慢整體效能。
CPU 與加速器之間的高效連結需求:現代運算經常涉及 CPU 與 GPU 或其他加速器間大量資料交換。
「後發先至」的 CXL 是唯一產業標準嗎?
其實 CXL 出現前就有許多互連技術,大多數都建基於普遍採用的高速互連標準 PCI Express(PCIe)。然 CXL 特別為資料中心和高性能計算的特殊需求問世,因此某些特定場景展現出不可比擬的優勢。儘管過去市場有其他處理器互連技術,但考慮到英特爾的巨大影響力、CXL 聯盟的策略與技術前瞻性,CXL 已成為領導標準,連死對頭 AMD 和 Nvidia 都不得不共襄盛舉。
▲ 英特爾推動 CXL 前,業界已有多種目標相似技術,如 Gen-Z、CCIX 和 OpenCAPI。
如 CXL、Gen-Z、CCIX(Cache Coherent Interconnect for accelerators)和 OpenCAPI(Coherence Attach Processor Interface)協定,都是為了滿足資料中心效能提升的新創方案。即便這些協定都有快取記憶體資料一致性(Coherence)特質,但各自有獨特設計目的和重大特性。
以下四者重點比較:
▲ IBM Power9 最終款 AIO(Advanced I/O)處理器採 OpenCAPI(Open Coherent Accelerator Processor Interface)定義的開放式記憶體介面(OMI,Open Memory Interface),有高達 650GB/s 記憶體理論頻寬。
歷經多年發展總算浮現成果的 CXL
近年為了解決主機 CPU 記憶體傳輸通道和頻寬增長瓶頸,市場出現許多處理器記憶體互連共享技術。這些技術出發點各異,但最終追求共同目標:將所有記憶體集結成一個供所有運算單元使用的共享資源池。
▲ CXL 與 Gen-Z 的「合作」,所謂「投降輸一半」大概就是這麼一回事。
CXL 技術較晚出現,但迅速成為市場焦點。其他技術如 Gen-Z 和 OpenCAPI 的成員,近期也陸續選擇「夜奔敵營」加入 CXL 陣營,使 CXL 確立主導地位。
2020 年 4 月 2 日:Compute Express Link(CXL)與 Gen-Z 聯盟攜手簽署合作備忘錄(MOU),旨在促成兩種技術順暢互通。CXL 主導晶片緊密互連,Gen-Z 則專注機架內短程網路連接。
2021 年 1 月:宣布 Compute Express Link 與 Gen-Z 聯盟互通性初步研究成果。
2021 年 11 月 10 日:Gen-Z 規範及資產整合至 CXL,齊心協力發展單一的產業標準。此外,有 70% 的 Gen-Z 成員成為 CXL 聯盟的一部分。
2022 年 8 月 1 日:OpenCAPI 規範及資產成功整合至 CXL 聯盟。CXL 聯盟匯集多家專注快取記憶體一致性互連技術的領先企業,有 OpenCAPI(IBM)、Gen-Z(HPE)、CCIX(Xilinx),其他技術巨擘有 InfiniBand / RoCE 的 Mellanox、Infinity Fabric 的 AMD、Omni-Path 及 QuickPath / Ultra Path 的英特爾,NVLink / NVSwitch 的 Nvidia。
2019 年 3 月:英特爾率先發起並集結科技巨頭,包括阿里巴巴集團、Cisco、Dell、Meta、Google 等,共同成立 CXL 聯盟,旨在推動 CXL 這新興標準。之後聯盟不斷壯大,成立後 18 個月,就匯聚超過 120 家業界領先處理器、伺服器、網通和儲存供應商,8 月更累積到超過 250 家。
▲ 不分領域,能想到的業界巨頭都是 CXL 會員,還包含遭美國政府制裁的那間。
記憶體共享是解決記憶體資源擱淺問題的關鍵,CXL 記憶體快取一致性允許處理器和加速器共享記憶體資源,隨著時間推進,CXL 規範也持續進化,從最初 1.0 版發展到當前的 3.0 版。其連接能力從簡單的一對一連接,進步至對應更靈活的多對多、與多層交換連接模式。藉由最新的CXL技術,多個主機可以共享連接到多個下游設備的記憶體,且這些記憶體能夠根據不同應用的需求,在各主機間靈活分配。
▲ 從 2019 年 3 月到 2022 年 8 月,CXL 總計出現了四個版本。
▲ CXL 2.0 開始支援裝置間的交換連接,在 CXL 3.0 可實現更加複雜的多層網狀拓樸。
以下是CXL各版本的主要特點:
▲ CXL 2.0 新增記憶體池和單層交換結構,CXL 3.0 進而追加倍增的頻寬與多層交換架構。
CXL 技術以 PCIe 5.0 為基礎,整合 CXL.io(底層傳輸通道與裝置管理)、CXL.cache(周邊裝置存取主機 CPU 記憶體)和 CXL.mem(主機 CPU 以維持快取一致性,存取周邊裝置的記憶體)三種協定,讓主機 CPU 與周邊裝置能順暢共享記憶體資源。
▲ 三種 CXL 協定組成的三種裝置應用型態,以記憶體擴充卡(Memory Buffer)為主的 Type 3 最普及。
CXL 定義三種周邊裝置應用形態:Type 1(CPU 與周邊裝置進行記憶體共享)、Type 2(CPU 與周邊裝置建立雙向的記憶體共享連接)和 Type 3(周邊裝置主動提供記憶體資源給 CPU),適用不同周邊裝置和應用需求。
CXL 有哪些主流產品類型?
CXL 主流產品類型有以下幾種:
CXL 記憶體擴充模組:DRAM 記憶體和 CXL 控制器共同構成 PCIe 裝置,旨在增強記憶體容量和提供更高的頻寬性能。
記憶體池:將多台伺服器的記憶體整合連接,打造一個龐大且具備動態分配功能的記憶體資源池。
加速卡:透過 CXL 技術來達成高速資料傳輸的專用加速卡,例如 GPU 或 FPGA 卡。
互連控制器和交換器:專為控制和指引 CXL 通訊設計的硬體控制器裝置。
跨界的 CXL 記憶體產品:三星 Memory-Semantic SSD(整合 PCIe 5.0 SSD 及 CXL 記憶體擴展功能的高效能裝置)、三星運算型記憶體方案(CXL-PNM,整合運算單元 CXL 記憶體擴充模組)、SK 海力士運算型記憶體方案(CMS,PCIe 板卡內建豐富記憶體和靈活可程式運算模組)。
▲ SK 海力士 CMS(Computation Memory Solution),PCIe 板卡搭載容量 512GB 記憶體,可為 CXL 擴展記憶體,可程式化運算單元則在記憶體端完成部分運算工作,卸載 CPU 工作,並減少 CPU 和記憶體間資料往返。
自 2019 年 3 月 CXL 聯盟公布 CXL 1.0 版規範以來,多家廠商迅速響應並推出支援 CXL 產品。雖然一開始 CPU 平台稍嫌遲緩,但到 2023 年,市場將見到更多搭載 PCIe 5.0 及 CXL 的伺服器處理器平台。
CXL 記憶體與擴充卡發展:
▲ 三星 CXL-PNM(Processing-Near-Memory)記憶體擴充卡有兩種形式:運算單元集中放在 CXL 控制器,或分散到記憶體顆粒。
何時可看到「按需共享」的 CXL 記憶體池?
目前 CXL 記憶體擴充模組應用逐步成熟。有五至六家領先廠商推出 CXL 記憶體擴充模組產品。現有伺服器只支援 CXL 1.1,這確實限制應用靈活性,但模組已能成功連接和運作。
▲ 看似如夢似幻的記憶體池,在 CXL 加持下,逐漸成為現實,此圖為 IntelliProp 使用 CXL 交換器和 CXL Fabric 網路卡,創建構成網路化的共享記憶體池。
對更靈活完善的 CXL 記憶體擴充模組使用,我們需要期待支援 CXL 2.0 的新一代伺服器處理器平台。同樣地,CXL 記憶體池全面普及也預期 2024 年,隨著支援 CXL 2.0 的下一代伺服器處理器推出,方能達成。綜觀全局,CXL 完整、實際應用將在 2024 年達到巨大突破階段。
▲ 英特爾從第六世代 Xeon-SP Granite Rapids 和 Sierra Forest 開始支援 CXL 2.0,「平面記憶體模式」(Flat Memory Model)可以本地和遠端 CXL 個別 50% 比例(意指可透過 CXL 倍增記憶體容量),讓軟體完全管理整個記憶體定址空間。
「彈性共享」的 CXL 記憶體池逐步亮相,隨著技術日趨完善和更多成功案例,幾年內我們有望見證更多先進 CXL 記憶體池方案。這些創新技術將賦予資料中心實現動態調配和高效共享記憶體資源的能力,以更精準滿足各式各樣運算需求。
CXL:資料中心邁向資源全面池化的下一步
當從更高角度審視資料中心技術轉變,會發現既自然又引人注目的趨勢:整體走向「資源全面整合」大方向。
▲ 從單機的記憶體擴展,直到所有運算單元都透過 CXL 交換機,共享由分散在各處的記憶體所組成的「記憶體池」,CXL 都帶來了可行性。
首先,透過一系列虛擬化(Virtualization)和容器(Container)技術,資料中心眾多伺服器綜合成巨大但靈活的「運算資源集群」。
接著,儲存的虛擬化和軟體定義儲存(SDS,Software-Defined Storage),將資料儲存從底層硬體抽象出來,使多個獨立儲存資源視為一體,並統一管理。
同時,軟體定義網路(SDN,Software-Defined Network)和網路功能虛擬化(NFV,Network Function Virtualization)重新定義網路流量管理,集中控制和最佳化網路流量,為管理者提供全局控制能力,使整個網路成為可靈活調整的編程體系,快速適應各種業務需求,大幅降低硬體採購成本。
▲ CXL 即將讓「非聚合式」的資料中心成為伸手可及的現實,進而將伺服器機架「解耦」為獨立運算、記憶體與 I/O 機箱,彼此透過 CXL 互連,再結合軟體定義軟路,讓所有資源可任意動態配置的資料中心,不再只是紙上談兵的夢想。
現在,CXL 等先進記憶體互連技術,打破「記憶體孤島」限制,不僅推動「記憶體整體共享」理念,更將記憶體從特定計算單元解放。技術演進使各式各樣加速器和 CPU 能平等共享資源,為未來異質運算(Heterogeneous Computing)場景鋪設道路。
▲ CXL 利用資料中心中普遍有的 PCI Express 為其實體層。借助 CXL,可實現新記憶體層,彌合直連記憶體和 SSD 間的差距,不讓 CPU 等待 SSD,釋放多核心處理器的強大效能。
但歷史教訓多次證明,太複雜且昂貴的技術,往往等不到大量普及的那天,況且看在「靠越近,走越快」大原則份上,身為化外之民的 CXL 擴展記憶體與記憶體池,也難免有更長存取延遲,以及潛在的資安風險,帶來規劃階層式記憶體的挑戰。CXL 能否成為大型資料中心不可或缺的關鍵環節──或許也包含個人電腦(去年底 AMD 就公開談論將 CXL 引進消費級 CPU),就讓我們拭目以待。
(首圖來源:shutterstock)
留言 1