CXLメモリプーリング入門——サーバーのメモリを「共有プール」にする技術は、AI時代のデータセンターをどう変えるのか
はじめに——「メモリの増設が追いつかない」という現場の悩み
AIデータセンターを構築・運用する技術者なら、一度はこんな壁にぶつかります。「GPUはまだ余っているのに、メモリが足りない」。
大規模言語モデル(LLM)の推論処理では、一度に扱えるコンテキスト長(トークン数)が急拡大しています。GPT-4の時代には32Kトークンだったのが、現在では100万トークン級のコンテキストを扱うモデルも登場しています。問題は、この文脈を保持するために必要になる「KVキャッシュ」と呼ばれる中間データです。その容量は層数・ヘッド構成・バッチサイズなど条件により大きく変わりますが、長大コンテキストの推論ではモデル規模に応じて数十GB以上に達することもあります。
ところが、メモリを増やす選択肢はどちらも一長一短です。
- HBM(High Bandwidth Memory):超高速・超高帯域幅ですが、1スタックあたりの容量が限られ(代表的な製品で数10GB程度)、GB単価も高額です
- DDR5 DIMM:安価で大容量ですが、増設できる本数はマザーボードのDIMMスロット(通常4〜8本)で頭打ちになります
この「量的な限界」を突破する技術として注目されているのが、CXL(Compute Express Link)によるメモリ拡張・メモリプーリングです。
本記事では、CXLの仕組みから、HBM/DDR5との役割分担、そして「あなたのワークロードにCXLが向くかどうか」を判断するチェックリストまでを解説します。
CXLとは何か——「PCIeの上に乗ったメモリバス」の基本
CXLを一言で表すなら、「PCIeの物理配線を使って、CPUが外付けデバイスのメモリにDRAMと同じようにアクセスできるようにするインターコネクト規格」です。
PCIe(PCI Express)は、GPUやSSDをCPUに接続するための高速拡張バスです。CXLはPCIe Gen 5以降の物理層をそのまま流用しながら、メモリアクセス専用のプロトコルを追加で定義します。重要なのは、OSやアプリケーションからはCXLメモリが通常のDRAMと同じメモリアドレス空間に見えるという点です。OSがCXLメモリを認識・管理できる構成では、NUMAやメモリポリシーを通じて通常のメモリと同様に利用できます(ただし性能特性は後述の通り異なります)。
3つのプロトコル
CXLは3つのプロトコルの組み合わせで動作します。
| プロトコル | 役割 | 主な用途 |
|---|---|---|
| CXL.io | PCIeと同等の標準I/O | デバイス認識・設定・管理 |
| CXL.cache | アクセラレータがホストCPUのメモリをコヒーレントに参照 | CPU↔GPU間のデータ共有 |
| CXL.mem | CPUが外部デバイスのメモリを直接アクセス | メモリ拡張・メモリプーリング |
「CXLメモリ」として話題になるのは、主にCXL.memを使ったType 3デバイスです。
Type 1 / Type 2 / Type 3の違い
| タイプ | 使用プロトコル | 代表デバイス | 主な用途 |
|---|---|---|---|
| Type 1 | .io + .cache | Smart NIC、FPGA | CPUメモリへのコヒーレントアクセス |
| Type 2 | .io + .cache + .mem | AI/MLアクセラレータ | 独自メモリとCPUメモリのコヒーレント共有 |
| Type 3 | .io + .mem | CXLメモリモジュール(CMM) | メモリ容量の拡張・プーリング |
AIデータセンターで主役になるのはType 3です。DRAMを搭載したCXLメモリモジュールをPCIe/CXLスロットに差し込むことで、マザーボードのDDR5スロット数に縛られずにメモリを増設できます。Samsungの「CXL CMM-D」、SK hynixの「CXL AIC」、Micronの「CZ122」などが代表製品です。
graph TD;
subgraph サーバー;
CPU[CPU]---DRAM[DDR5 DRAM];
end
CPU-->|PCIe Gen5 / CXL| SW[CXLスイッチ];
SW-->CMM1[CXLメモリ Type3];
SW-->CMM2[CXLメモリ Type3];
CPU-->|PCIe| GPU[GPU + HBM];
図のポイントは、CXLメモリがPCIe経由で接続されていながら、CPUからはメモリアドレス空間の一部として見える点です。
メモリプーリングとは何か——「メモリの仮想化」が変える運用
CXL 2.0が実現した「メモリの共有」
CXLの世代は、機能面で大きく3つの段階に分かれます。
| バージョン | ベースPCIe | 主要な追加機能 |
|---|---|---|
| CXL 1.0/1.1(2019-20年) | Gen 4 | 基本プロトコルの定義 |
| CXL 2.0(2020年) | Gen 5 | メモリスイッチングとプーリング(MLD) |
| CXL 3.0(2022年) | Gen 6 | ファブリック化・マルチホップ |
| CXL 3.1(2023年) | Gen 6 | セキュリティ強化・QoS改善 |
※各世代の帯域幅はベースPCIeのデータレートで決まり、構成(レーン数・片方向/双方向)や実効値で大きく変わるため、ここでは数値の記載を割愛します。詳細はCXL Consortiumの仕様書を参照してください。
中でもCXL 2.0で導入されたメモリスイッチング/プーリングが、サーバー運用のあり方を変えるキーとなる機能です。CXLスイッチを介して大容量のCXLメモリプールを構築し、複数のホストサーバーから接続できます。CXL 2.0ではMLD(Multi-Logical Device)と呼ばれる機能で、1つのメモリデバイスを複数のホスト向けに論理的に分割して割り当てられます。構成の再構成は可能ですが、ホストが稼働中に任意のメモリを自由に借りる・返すといった汎用的な動的再配置は、OSやハイパーバイザーの対応も含めて実装依存の領域です。
graph TD;
S1[サーバーA]-->|CXL| SW[CXLスイッチ];
S2[サーバーB]-->|CXL| SW;
S3[サーバーC]-->|CXL| SW;
SW-->P[CXLメモリプール 1TB〜];
従来はサーバーごとに「ピーク需要」に合わせてメモリを搭載する必要がありました。その結果、普段は遊んでいるメモリを大量に抱えることになります。メモリプーリングの構成では、メモリをホスト間で割り当て直すことで遊びを削減し、データセンター全体のメモリ調達量を抑えながらピーク需要に対応する運用が可能になります。
対応プラットフォームの現在地
2026年時点で、主要なサーバーCPUがCXL 2.0に対応しています。
- AMD EPYC 9005シリーズ(Turin)
- Intel Xeon 6(Granite Rapids)
スイッチ/コントローラ側では、Astera Labsの「Leo」シリーズやMarvellのCXLコントローラ「LMXT」などが、複数ホストの接続とメモリプール構成を可能にします。2026年はCXL 2.0量産品が本格普及する移行期であり、主要クラウドでの採用も始まっています。
独自比較表——HBM / DDR5 / CXL Type 3の定量比較
3種類のメモリを「速度・コスト・容量」の観点で整理します。以下は一般的な傾向を示す目安であり、製品・世代・構成・市場時点によって数値は変わることに注意してください。
| 項目 | HBM | DDR5(RDIMM) | CXL Type 3 |
|---|---|---|---|
| 帯域幅 | 超高速(GPUパッケージ内で最大級) | 高速 | DDR5よりやや劣る程度 |
| 遅延 | 最小クラス | 低遅延 | DDR5比で大きめ(PCIe経由のため) |
| 容量の伸びしろ | 1スタック数10GBで制約大 | スロット数で制約 | TB級の拡張が可能 |
| GB単価 | 高価 | 手頃 | DDR5同等〜やや高い(目安) |
| スケーラビリティ | GPUパッケージ依存 | DIMMスロット数依存 | スイッチ/ファブリック構成次第で大規模化 |
| 主な強み | 超高帯域幅 | 低遅延・バランス | 大容量・コスト効率・共有 |
注目すべきは「CXLメモリの遅延はローカルDDR5より大きい(PCIeリンク経由のため構造的なオーバーヘッドがある)」という点です。
つまりCXLは「速さ」の技術ではなく「量と柔軟性」の技術です。設計指針としては「帯域幅が重要でないが容量が必要なデータの置き場所」として使うのが最適です。逆に、GPUがアクセスするアクティブなテンソルのようなホットデータをCXLに置くと、演算器がストールして性能を大きく落とします。
AI推論での3層メモリアーキテクチャ——KVキャッシュ問題とCXL
HBM / DDR5 / CXLの使い分け
2026年のAIデータセンターでは、3種類のメモリを「温度」で使い分ける3層構造が標準的なアーキテクチャになりつつあります。
| 層 | メモリ種別 | 保存するデータ | 理由 |
|---|---|---|---|
| 第1層(ホット) | HBM | アクティブな推論テンソル・アテンション行列 | 超高帯域幅が必須。遅れるとGPUがストール |
| 第2層(ウォーム) | DDR5(ホストCPU側) | 推論待機分のモデル重み・短いコンテキストのKVキャッシュ | 帯域幅より低遅延・低コストを優先 |
| 第3層(コールド) | CXLメモリ | 長大なKVキャッシュ・埋め込みテーブル・レイヤーオフロード | 容量優先。帯域幅・遅延は妥協できる用途 |
KVキャッシュがCXLと好相性な理由
具体例で考えてみましょう。GPUのHBM容量はモデル重みで大部分が埋まります。例えばLlama 3 70Bクラスのモデル重みはBF16で約140GB必要ですが、代表的なAI GPU 1基のHBM容量はそれに迫る水準です。推論バッファを考えれば、長大コンテキストのKVキャッシュに使える残りは限られてしまいます。
ここでCXLメモリをKVキャッシュのオフロード先として使うと、HBMの容量制約を緩和しながらGPUの演算性能を活かせる可能性があります。さらに興味深いのは、コンテキストの後半部分ほどKVキャッシュの更新頻度が下がる(一度計算されたトークンのKVは固定される)という特性です。つまり、遅延の大きいCXLに置いても性能への影響が小さいデータが、KVキャッシュには多く含まれます。遅延の壁があるCXLと、更新頻度の下がるコールドなKVキャッシュは、まさに補完関係にあるのです。
これは、本サイトが以前解説した「LLM推論の見えないメモリ問題を解くvToken」(KVキャッシュ仮想化)とも密接に関わるテーマです。KVキャッシュの再利用可能性と配置先の自由度をどう高めるかは、今後の推論インフラ設計の核心になります。
実導入の判断チェックリスト——CXLが向くケース・向かないケース
CXLは万能ではありません。遅延と帯域幅という構造的な制約を理解した上で、ワークロードとの適合を判断する必要があります。
CXLが向くケース ✅
- [ ] 帯域幅が重要でないが容量が必要なデータを扱う(KVキャッシュ、埋め込みテーブル、大規模インデックス等、遅延や帯域をある程度許容できるデータ)
- [ ] メモリ使用量のピークが時間帯・サーバー間でばらつく
- メモリの割当をプール化して再編することで遊びを削減できる
- [ ] DDR5スロットが物理的に増やせない既存サーバーの拡張
- PCIeスロットがあればCXLメモリで容量を追加できる
- [ ] 複数サーバーでメモリを柔軟に再配置したい
- CXLスイッチによる動的なメモリ割当変更
CXLが向かないケース ❌
- [ ] GPUがアクセスするホットデータ(アクティブなテンソル)
- HBMの帯域幅が必要。CXLではGPUがストールする
- [ ] 低遅延が最重要のワークロード
- CXLメモリの遅延はローカルDDR5より大きいため、レイテンシ敏感な処理にはDDR5を使う設計が基本です。
- [ ] 異なるベンダー機器混在のファブリック構成
- CXL 3.0ファブリックの相互運用性はまだ発展途上。同一ベンダー内構成が現実的
残る3つの課題
- 遅延の壁は構造的:PCIe経由である以上、現世代で大幅改善は期待できません
- ソフトウェアスタックの成熟度:Linuxカーネルのtiered memory管理は整備が進んだものの、「どのデータをCXLに置くか」を自動最適化するミドルウェアは発展途上です
- エコシステムの統一:CXL 3.0ファブリックの異ベンダー相互運用テストはまだ不足しています
よくある質問(FAQ)
Q: CXLメモリはDDR5の代替になりますか?
なりません。ローカルDDR5より遅延が大きいため、CXLは「DDR5でも届かない容量と柔軟性を補う第3のメモリ層」として位置づけられます。ホットデータはDDR5/HBM、コールドデータをCXL、という使い分けが基本です。
Q: メモリプーリングで何台のサーバーがメモリを共有できますか?
CXL 2.0ではスイッチ経由で複数ホストの接続と、MLDによるホストごとの領域割当が可能です。CXL 3.0ではファブリック化・マルチホップにより、より大規模な共有構成が仕様上サポートされます。ただし現時点では同一ベンダー機器内での本格運用が現実的です。
Q: CXL対応に必要なハードウェア構成は?
①CXL対応CPU(AMD EPYC 9005シリーズ、Intel Xeon 6など)、②CXL Type 3メモリモジュール(Samsung CMM-D、SK hynix CXL AIC、Micron CZ122など)、③プーリングする場合はCXLスイッチ(Astera Labs Leoなど)が必要です。
まとめ——今日から検討する3つのアクション
CXLメモリプーリングは、HBMの代替でもDDR5の後継でもなく、メモリを「サーバー単位の資産」から「データセンター全体で共有・再配置できるリソース」に変える技術です。CXL 2.0対応製品の普及が進みつつあり、今後テラバイト規模のメモリプール実用化への期待が高まっています。
今日から始めるアクション:
- ワークロードのメモリアクセス特性を棚卸しする —— どのデータが「ホット」でどのデータが「コールド」かを分類する
- CXL 2.0対応プラットフォームを調査する —— 次回のサーバー入れ替えでEPYC 9005 / Xeon 6世代を選択肢に入れる
- メモリプーリングのROIを試算する —— サーバー群のメモリ稼働率を測定し、プール化による削減見込みを見積もる
参考文献
- semi-connect.net「CXLメモリ完全解説2026──仕組み・HBM/DDR5との役割分担」 https://semi-connect.net/cxl-memory-compute-express-link-complete-guide/
- CXL Consortium「CXL Specification 3.1」(2023年)
- Penguin Solutions「CXL Memory 101 – Expansion, Pooling, and Sharing」 https://www.penguinsolutions.com/en-us/resources/blog/what-is-cxl-memory-expansion
- Supercomputing News「Beyond HBM: CXL Memory Pooling vs Processing-Near-Memory」 https://www.supercomputing.news/emerging/cxl-memory-pooling-vs-processing-near-memory-hbm4
- TradingKey「CXL vs. HBM: Why Samsung, SK Hynix, and Micron are Racing for the Next AI Data Center Frontier」 https://www.tradingkey.com/analysis/stocks/us-stocks/261834990-samsung-sk-hynix-micron-hbm-cxl-pangea-v2-ai-data-center-tradingkey