top of page

CXL 全面解析:下一代伺服器架構的關鍵,從原理到記憶體池化與未來應用

  • 作家相片: Amiee
    Amiee
  • 4月27日
  • 讀畢需時 10 分鐘

隨著人工智慧(AI)、機器學習(ML)以及高效能運算(HPC)的蓬勃發展,我們正處於一個數據爆炸性成長的時代;然而,傳統伺服器架構在應對這股洪流時,逐漸顯露出瓶頸,其中最為關鍵的便是中央處理器(CPU)與記憶體、加速器之間的資料傳輸效率問題,也就是所謂的「記憶體高牆」(Memory Wall);Compute Express Link(CXL)作為一項劃時代的高速互連開放標準應運而生,它不僅承諾打破這道高牆,更旨在重塑未來資料中心與高效能運算的基礎架構。


無論您是渴望了解尖端科技發展的愛好者,抑或是需要深入掌握技術細節以應對未來挑戰的工程師、架構師,本文都將帶您從 CXL 的誕生背景、核心原理,一路探索到其關鍵技術規格演進、應用場景、挑戰以及未來展望;我們將力求兼顧廣度與深度,讓不同背景的讀者都能從中獲益,共同窺見 CXL 所描繪的運算新藍圖。



資料洪流下的記憶體高牆:CXL 的誕生背景


數十年來,處理器的運算速度大致遵循摩爾定律(Moore's Law)的預測,以驚人的速度提升;然而,記憶體的存取速度和頻寬成長相對緩慢,導致 CPU 核心常常處於閒置狀態,等待資料從記憶體或其他週邊裝置傳輸過來;這種處理器算力與資料供給能力之間日益擴大的鴻溝,便是「記憶體高牆」問題。


尤其在 AI/ML 這類需要處理龐大資料集的應用中,模型訓練和推論過程對記憶體容量和頻寬提出了前所未有的要求;傳統的 DDR 記憶體通道數量有限,且直接附加儲存(Direct-Attached Storage, DAS)與 CPU 之間透過 PCIe 介面連接,雖然速度不斷提升,但在記憶體語意(Memory Semantics)的支援上有所欠缺,無法實現低延遲的記憶體共享與快取一致性(Cache Coherency)。


此外,隨著 GPU、FPGA、ASIC 等各種專用加速器的普及,資料中心走向異質運算(Heterogeneous Computing)已是必然趨勢;如何在 CPU 與這些形形色色的加速器之間建立一個高效、低延遲且支援記憶體共享的互連通道,成為了迫切的需求。


正是在這樣的背景下,由 Intel、Microsoft、Google、HPE 等產業巨頭共同發起,並由 CXL 聯盟(CXL Consortium)負責維護和推廣的 CXL 標準應運而生;它旨在提供一個統一、高效、開放的互連解決方案,打破藩籬,釋放系統潛能。



CXL 核心概念:一條連接萬物的高速公路


您可以將 CXL 想像成一條專為現代資料中心設計的「超級高速公路」;傳統的道路(如 PCIe)雖然也能運輸貨物(資料),但 CXL 這條高速公路擁有更寬闊的車道(高頻寬)、更快的速限(低延遲),以及更智能的交通規則(記憶體語意與快取一致性)。

CXL 的核心目標是讓 CPU 能夠以更接近存取本機記憶體的速度和方式,來存取連接在 CXL 上的記憶體(Memory)和加速器(Accelerator);它巧妙地利用了成熟且廣泛使用的 PCIe 物理層(Physical Layer)作為基礎,確保了硬體上的相容性與成本效益,但在其上疊加了更先進的協定層,以實現三大關鍵功能。



CXL 核心原理深入解析:三大協定解密


CXL 的魔力在於其定義了三種可獨立運作或組合使用的子協定(Sub-protocol),它們共享相同的 CXL 物理層和鏈路層,但各自負責不同的任務,共同構建起 CXL 的強大功能:



  • CXL.io:奠基於 PCIe 的 I/O 互連

    • CXL.io 本質上就是 PCIe;它提供了標準的 I/O 功能,負責裝置的發現、設定、管理以及傳統的 DMA 資料傳輸;所有 CXL 裝置都必須支援 CXL.io,確保了與現有 PCIe 生態系統的向下相容性;您可以將其理解為 CXL 高速公路上的基礎建設和交通號誌系統,是所有通訊的基礎。


  • CXL.cache:實現處理器與裝置間的快取一致性

    • 這是 CXL 的一大亮點;CXL.cache 協定允許連接的 CXL 裝置(例如智慧網卡 SmartNIC 或 FPGA 加速卡)能夠直接、一致地存取並快取(Cache)處理器的記憶體;同時,處理器也能快取 CXL 裝置上的記憶體;這意味著 CPU 和加速器可以像存取自己的快取一樣,低延遲地共享資料,避免了傳統 PCIe 架構下繁瑣且耗時的資料拷貝過程;想像一下,高速公路上的車輛(資料)可以直接駛入彼此的專用停車場(快取),無需在中轉站卸貨再裝貨,大大提高了效率。


  • CXL.mem:讓 CPU 存取 CXL 附加記憶體

    • CXL.mem 協定允許 CPU 將連接在 CXL 上的記憶體(例如 CXL 記憶體擴充卡)視為其主記憶體的一部分進行存取;主機處理器可以使用標準的 Load/Store 指令來讀寫 CXL 記憶體,就像讀寫本地的 DDR DIMM 一樣,但透過 CXL 鏈路進行;這個協定使得記憶體容量可以輕易地超越主機板 DIMM 插槽的物理限制,並且實現了記憶體資源的解耦(Disaggregation);就像高速公路旁可以隨時增建大型停車場(CXL 記憶體),並讓主幹道上的車輛自由進出使用。


這三個協定可以根據裝置類型(Device Type)靈活組合;例如:


  • Type 1 裝置(加速器): 通常實作 CXL.io + CXL.cache,利用快取一致性與 CPU 高效協同工作;

  • Type 2 裝置(帶記憶體的加速器,如 GPU): 同時實作 CXL.io + CXL.cache + CXL.mem,既能與 CPU 快取一致,又能讓 CPU 直接存取其板載記憶體,自身也能存取 CPU 記憶體;

  • Type 3 裝置(記憶體擴充器/緩衝器): 僅實作 CXL.io + CXL.mem,專注於提供可被 CPU 直接存取的額外記憶體容量。



關鍵技術演進:從 CXL 1.1 到 3.1 的規格躍遷


CXL 標準自問世以來,一直處於快速的迭代發展中,以滿足不斷變化的市場需求:

  • CXL 1.1:奠定基礎

    • 基於 PCIe 5.0 的物理層,定義了 CXL.io、CXL.cache、CXL.mem 三大協定和三種裝置類型;主要實現了 CPU 與單一 CXL 裝置(記憶體或加速器)之間點對點的連接,初步解決了記憶體擴充和加速器互連的問題。


  • CXL 2.0:引入交換 (Switching) 與記憶體池化 (Memory Pooling)

    • 這是 CXL 發展的一個重要里程碑;CXL 2.0 維持基於 PCIe 5.0,但引入了 CXL 交換器(Switch)的概念;交換器允許多個主機(Host CPU)連接到多個 CXL 裝置,更重要的是,它實現了「記憶體池化」;多個 Type 3 記憶體裝置可以連接到交換器,形成一個共享的記憶體池;交換器可以將這個池中的記憶體資源動態地分配給不同的主機使用;這極大地提高了記憶體的利用率和系統配置的彈性,想像一下,原來每個主機獨佔的停車場(記憶體),現在可以被一個中央調度中心管理,按需分配給不同的主機,避免了資源閒置;CXL 2.0 還增強了安全性(如 IDE 加密)。


  • CXL 3.0/3.1:邁向 Fabric 架構、對等互連與共享記憶體

    • CXL 3.0 則基於更快的 PCIe 6.0 物理層,頻寬直接翻倍;它引入了更先進的 Fabric(網狀結構)能力,支援多層級交換(Multi-level Switching)和更複雜的拓撲結構;最重要的突破是實現了「對等互連」(Peer-to-Peer, P2P)和「共享記憶體」(Shared Memory);在 CXL 3.0 Fabric 中,連接的裝置(包括記憶體和加速器)不僅可以和主機通訊,裝置之間也可以直接通訊和共享記憶體,無需 CPU 的介入;這對於分散式運算和需要大量裝置協同工作的 AI/ML 應用至關重要;CXL 3.1 作為 3.0 的小幅增強版,進一步完善了 Fabric 管理和記憶體共享的功能,使其更具備可信賴度和可組合性(Composability)。



CXL 與傳統技術/不同版本比較分析


為了更清晰地展示 CXL 的優勢及其演進,我們整理了以下比較表格:


CXL vs. PCIe vs. NVLink/Infinity Fabric (簡要比較)

特性

PCIe (Gen5/6)

CXL (2.0/3.0)

NVLink / Infinity Fabric

主要用途

通用 I/O 互連

CPU-記憶體, CPU-加速器, 記憶體池化

GPU 間高速互連

記憶體語意

不支援

支援 (CXL.mem)

支援 (特定 GPU 架構)

快取一致性

不支援 (需軟體管理)

支援 (CXL.cache)

支援 (特定 GPU 架構)

標準化

開放標準 (PCI-SIG)

開放標準 (CXL Consortium)

廠商專有標準

生態系

非常廣泛

快速成長中

主要限於特定廠商

延遲特性

相對較高 (I/O 導向)

較低 (記憶體導向優化)

非常低 (GPU 優化)


CXL 各版本關鍵特性對比表

特性 / 版本

CXL 1.1 (基於 PCIe 5.0)

CXL 2.0 (基於 PCIe 5.0)

CXL 3.0/3.1 (基於 PCIe 6.0)

最大頻寬 (x16)

~64 GB/s

~64 GB/s

~128 GB/s

CXL 交換 (Switching)

不支援

支援 (單層級)

支援 (多層級 Fabric)

記憶體池化 (Pooling)

不支援

支援

增強支援

對等互連 (P2P)

不支援

不支援

支援

共享記憶體 (Shared)

不支援

支援 (主機-裝置)

支援 (全域 Fabric 共享)

主要應用

記憶體擴充, 加速器連接

記憶體池化, 伺服器解耦

Fabric 架構, 可組合系統, 分散式運算



CXL 的實作挑戰與生態系發展


儘管 CXL 前景廣闊,但在實際部署和推廣過程中仍面臨一些挑戰:


  • 延遲 (Latency) 的考量: 雖然 CXL.mem 的目標是提供接近本機 DDR 的存取體驗,但經過 CXL 鏈路和可能的交換器,其存取延遲仍然會高於直連的 DDR DIMM;因此,如何設計高效能的記憶體分層(Tiering)策略,將對延遲敏感的資料放置在更快的層級,是軟硬體設計需要共同解決的問題。


  • 軟體與作業系統支援: CXL 的許多高級功能,如記憶體池化、共享、熱插拔等,需要作業系統、虛擬化管理程式(Hypervisor)以及應用程式層面的感知和支援;雖然 Linux 核心等已經開始整合 CXL 功能,但整個軟體生態的成熟仍需時間。


  • 安全性與管理複雜度: 隨著資源的池化和共享,如何確保資料隔離、存取控制等安全性問題變得更加重要;同時,管理一個包含 CXL 交換器和 Fabric 的複雜系統,對監控、配置、除錯工具也提出了更高的要求。


  • 蓬勃發展的 CXL 生態系: 令人欣慰的是,CXL 生態系統正在快速建立;從 CPU 廠商(Intel、AMD)、記憶體大廠(Samsung、SK Hynix、Micron)、交換器/控制器晶片新創(Astera Labs、Rambus、Montage Technology),到伺服器 OEM/ODM 廠商,都已積極投入 CXL 相關產品的研發與推廣;CXL 聯盟的成員數量也在持續增加,顯示出業界對此標準的廣泛認同和投入。



CXL 的應用場景與市場潛力


CXL 的靈活性和強大功能使其在多個關鍵應用場景中具有巨大的潛力:


CXL 主要應用場景與效益

應用場景

描述

主要效益

記憶體擴充 (Expansion)

透過 CXL Type 3 裝置,突破主機板 DIMM 插槽數量限制,增加系統記憶體總容量;

滿足大記憶體應用需求 (如記憶體內資料庫),降低每 GB 記憶體成本;

記憶體池化 (Pooling)

使用 CXL 交換器將記憶體資源匯集成池,按需動態分配給不同伺服器;

提高記憶體利用率,減少資源浪費,提升系統配置彈性,降低總體擁有成本 (TCO);

記憶體分層 (Tiering)

結合不同速度/成本的記憶體 (DDR、CXL 記憶體、SCM),建立多層級記憶體架構;

兼顧應用程式對低延遲和高容量的需求,優化成本與效能平衡;

加速器與異質運算整合

提供 CPU 與 GPU、FPGA、SmartNIC 等加速器之間高效、低延遲、快取一致的互連;

提升異質運算效能,簡化程式設計模型,加速 AI/ML 和 HPC 工作負載;

市場研究機構普遍看好 CXL 的發展前景;隨著 CXL 2.0/3.0 產品的逐步成熟和量產,預計在未來幾年內,CXL 將在資料中心伺服器、AI/ML 叢集、雲端基礎設施等領域獲得廣泛應用,市場規模將達到數十億美元;它不僅影響硬體設計,也將推動軟體定義基礎設施和可組合式架構的發展。



未來展望:CXL 將如何塑造運算架構?


CXL 不僅僅是一個介面標準的升級,它更像是一把鑰匙,開啟了通往下一代運算架構的大門:


  • 可組合式基礎設施 (Composable Infrastructure) 的基石: CXL 的資源解耦和池化能力,特別是 CXL 3.0 的 Fabric 架構,使得運算、記憶體、儲存、網路資源可以被獨立擴展和組合;未來,資料中心管理者可以像組裝樂高積木一樣,根據應用需求,動態地組合所需的硬體資源,實現極致的彈性和效率;

  • 持續演進的 CXL 標準: CXL 的故事還遠未結束;隨著 PCIe 標準的持續演進(如 PCIe 7.0),未來的 CXL 版本(如 CXL 4.0 或更高)將帶來更高的頻寬和更低延遲;同時,標準也將持續在安全性、管理性、互通性等方面進行完善,以適應更廣泛的應用場景;

  • CXL 對 AI/ML 與 HPC 的深遠影響: 對於極度渴求記憶體頻寬和容量的 AI/ML 與 HPC 應用而言,CXL 將是關鍵的賦能技術;它不僅能緩解記憶體瓶頸,其快取一致性和共享記憶體特性,還能簡化分散式訓練和推論的複雜度,加速科學發現和智慧應用的落地。



結論


Compute Express Link (CXL) 無疑是近年來伺服器與資料中心領域最重要的技術革新之一;它透過統一的、基於 PCIe 的高速互連,以及創新的 CXL.io、CXL.cache、CXL.mem 協定,有效應對了日益嚴峻的記憶體高牆問題,並為異質運算的整合鋪平了道路;從 CXL 1.1 的點對點連接,到 CXL 2.0 的記憶體池化,再到 CXL 3.0/3.1 的 Fabric 架構與共享記憶體,CXL 的每一步演進都直指未來運算架構的核心需求:效率、彈性與可組合性。

對於技術愛好者而言,理解 CXL 有助於把握未來科技發展的脈動;對於工程師、架構師和決策者來說,深入掌握 CXL 的技術細節、應用潛力與生態發展,則是設計、部署和利用下一代高效能運算平台的關鍵;雖然 CXL 的普及仍面臨延遲、軟體支援和管理複雜度等挑戰,但其強大的功能、開放的標準和蓬勃發展的生態系,預示著它必將在未來的運算世界中扮演舉足輕重的角色,重塑我們處理和利用數據的方式。


若想更深入了解 CXL 規格細節,建議參考 CXL Consortium 官方網站 (https://www.computeexpresslink.org);針對特定廠商的 CXL 解決方案,可以關注 Intel、AMD、Samsung、SK Hynix、Micron 等公司的技術白皮書與產品發布。

Subscribe to AmiNext Newsletter

Thanks for submitting!

  • LinkedIn
  • Facebook

© 2024 by AmiNext 金融與科技筆記

bottom of page