CXL 3.1(CXL 3.1)
Compute Express Link最新規格。メモリ拡張/共有の柔軟性を強化
CXL 3.1の概要と次世代コンピューティングにおける役割
CXL 3.1(Compute Express Link 3.1)は、CPUとデバイス間、あるいはデバイス間での高速な通信とメモリ共有を実現するためのオープン業界標準規格の最新バージョンです。基本的にはPCI Express (PCIe) の物理層を利用していますが、その上に独自のプロトコルを載せることで、従来のPCIeでは不可能だった「メモリの一貫性(コヒーレンス)」を維持したままのデータ転送を可能にしています。
現代のデータセンターやAIサーバーにおいて、最大のボトルネックとなっているのは「メモリの壁(Memory Wall)」です。CPUやGPUの演算速度が飛躍的に向上する一方で、メモリ容量の拡張性とアクセス速度の向上が追いつかず、演算器がデータ待ち状態でアイドルになる時間が長くなっています。CXL 3.1はこの問題を根本から解決するために設計されており、特に「メモリプーリング」と「ファブリック機能」の強化に重点が置かれています。
CXL 3.1の最大の目的は、サーバー内のメモリを単なる「個別のパーツ」から、ネットワークのように柔軟に割り当て可能な「共有リソース」へと進化させることです。これにより、あるサーバーでメモリが不足し、別のサーバーでメモリが余っている場合に、物理的な差し替えなしに動的にリソースを配分することが可能になります。
CXL 3.1の技術的アーキテクチャと3つのプロトコル
CXL 3.1を理解するためには、その基盤となる3つの主要プロトコルを理解する必要があります。これらは用途に応じて使い分けられ、あるいは同時に動作します。
1. CXL.io
PCIeと同等の機能を持つベースプロトコルです。デバイスの発見、構成、割り込み管理、および非コヒーレントなI/O操作を担います。実質的にPCIe 5.0やPCIe 6.0の仕組みをそのまま利用しており、互換性を確保しています。
2. CXL.cache
ホスト(CPU)がデバイス側のメモリをキャッシュすることを可能にするプロトコルです。これにより、デバイス側で処理を行う際に、CPU側のメモリへ頻繁にアクセスしてレイテンシを発生させることなく、高速にデータを処理できます。
3. CXL.mem
ホスト(CPU)がデバイス側のメモリを、あたかも自分自身のメインメモリ(ローカルメモリ)であるかのように扱うためのプロトコルです。これにより、DDR5などの標準的なメモリスロット以外に、CXL対応の拡張メモリカードを搭載して容量を劇的に増やすことができます。
CXL 3.1における「ファブリック」の進化
CXL 3.0および3.1で導入された最も重要な変更点は、「CXL Fabric」の導入です。これまでのCXL 1.1や2.0では、基本的に「1対1」または「1対多(ツリー構造)」の接続でしたが、CXL 3.1ではメッシュ構造やリーフ・スパイン構造のような複雑なネットワーク構成が可能になりました。
これにより、最大4,096個のノードを相互接続できるスケーラビリティを実現しています。また、ポートベースのルーティングが導入されたことで、パケットスイッチを介してメモリリソースを動的に切り替えることができ、真の意味での「メモリ・コンポーズド・インフラストラクチャ(Composable Infrastructure)」が実現します。
実装製品とハードウェアスペックの具体例
CXL 3.1およびその前身規格をサポートするハードウェアは、主にハイエンドのサーバー向けCPUとエンタープライズ向けメモリモジュールに集中しています。
対応CPUとプラットフォーム
CXLの機能を利用するには、CPU側がCXLコントローラーを内蔵している必要があります。
- Intel Xeon Platinum 8480+ (Sapphire Rapids): CXL 1.1/2.0をサポートし、メモリ拡張の基礎を築きました。
- AMD EPYC 9654 (Genoa): 同様にCXL 1.1をサポートし、PCIe 5.0ベースの高速通信を実現しています。
- 次世代Xeon/EPYC (2025年-2026年モデル): CXL 3.1のファブリック機能をフル活用したチップセットが投入される予定であり、これによりノード間メモリ共有が一般化します。
CXLメモリ拡張モジュール
物理的なメモリ増設を実現するデバイスが登場しています。
- Samsung CXL Memory Expander: CXL 2.0ベースの製品から始まっており、128GBなどの大容量モジュールを展開しています。
- Micron CXL DRAM: 低レイテンシなメモリ拡張ソリューションを提供し、サーバーの総メモリ容量を数TB単位で拡張することを可能にします。
- Marvell XPIC: CXLコントローラーチップを提供しており、これによりサードパーティ製メモリメーカーがCXL対応デバイスを設計できるようになります。
具体的な数値スペック一覧
CXL 3.1および関連エコシステムで重要となる数値スペックを以下にまとめます。
| 項目 | スペック/数値 | 備考 |
|---|---|---|
| 物理層ベース | PCIe 5.0 / 6.0 | CXL 3.1はPCIe 6.0の機能を活用可能 |
| 転送速度 (PCIe 5.0) | 32GT/s | レーンあたりの転送速度 |
| 転送速度 (PCIe 6.0) | 64GT/s | PAM4変調による高速化 |
| メモリモジュール容量 | 128GB $\sim$ 256GB | 単一CXLモジュールあたりの想定容量 |
| メモリ規格 | DDR5-4800 / 5600 | CXLデバイス内部で利用されるメモリ規格 |
| 製造プロセス | 5nm / 3nm | 最新のCXLコントローラーの採用プロセス |
| CPU TDP | 350W $\sim$ 400W | CXL対応ハイエンドCPUの消費電力目安 |
| 接続可能ノード数 | 最大 4,096 ノード | CXL 3.x ファブリックによる最大拡張数 |
| アクセスレイテンシ | < 100ns (追加分) | ローカルメモリに対する追加遅延の目標値 |
| 推定導入コスト | 10,000ドル $\sim$ (サーバー単位) | エンタープライズ向け構成の概算 |
CXL 3.1がもたらす革新的なメリット
CXL 3.1の導入により、従来のサーバー設計では不可能だった以下の機能が実現します。
- メモリの動的割り当て(Dynamic Capacity Devices): 物理的に搭載しているメモリをすべて消費するのではなく、必要な分だけを仮想的に割り当て、不要になったらプールに戻すことが可能です。これにより、メモリの利用効率が劇的に向上します。
- 共有メモリ空間の構築: 複数のホスト(CPU)が同一のメモリ領域を同時に参照できるため、巨大なデータセット(LLMのパラメータなど)をコピーすることなく、複数のプロセッサで効率的に処理できます。
- TCO(総所有コスト)の削減: メモリ不足を解消するためにサーバーを丸ごと増設するのではなく、CXLメモリプールから容量を割り当てるだけで済むため、ハードウェアコストと電力消費を抑えられます。
- ストレージのメモリ化: CXL.memを通じて、高速なNVMe SSDや次世代ストレージをメモリ空間にマッピングすることで、ストレージに近い速度で大容量データにアクセスできます。
具体的な活用シーン
- 大規模言語モデル (LLM) の推論: 数千億のパラメータを持つモデルをGPUメモリ(HBM3等)だけに載せるのはコスト的に不可能です。CXL 3.1を利用して、メインメモリやCXL拡張メモリにモデルを配置し、高速にアクセスすることで、推論コストを大幅に下げられます。
- インメモリデータベース (In-Memory DB): SAP HANAのような大容量メモリを必要とするアプリケーションにおいて、単一サーバーの物理的なスロット限界を超えてメモリを拡張できます。
- 仮想化環境の最適化: VM(仮想マシン)ごとにメモリを固定割り当てするのではなく、プールから動的に供給することで、メモリの断片化を防ぎます。
2025年から2026年にかけての展望と課題
CXL 3.1は、2025年から2026年にかけてデータセンターの標準的なアーキテクチャになると予想されています。特に、AIブームに伴う「メモリ飢餓」の状態にある業界にとって、この規格の普及は待望の救世主となります。
2025年のトレンド
2025年には、CXL 3.1対応のスイッチおよびファブリックマネージャーが本格的に市場投入されるでしょう。これにより、単なる「メモリ増設カード」の時代から、「メモリ・ファブリック」の時代へと移行します。具体的には、ラック単位でメモリを共有する「ラックスケールコンピューティング」の実装が進むと考えられます。
2026年の展望
2026年までには、次世代のCPU(Intelの次世代プラットフォームやAMDの次世代EPYC)において、CXL 3.1が標準的に統合され、OSレベルでのサポート(Linuxカーネル等での動的メモリ管理)が完全に最適化される見込みです。これにより、ソフトウェアエンジニアは物理的なメモリ配置を意識せず、抽象化されたメモリプールを自由に利用できるようになります。
普及に向けた課題
一方で、いくつかのハードルも存在します。
- レイテンシの壁: CXL経由のアクセスは、CPU直結のDDR5メモリよりもわずかに遅くなります。この数ナノ秒から数十ナノ秒の差を、ソフトウェア側でどのように隠蔽するかが重要です。
- エコシステムの標準化: 異なるベンダー(Samsung, Micron, Intel, AMDなど)の間で、ファブリック管理ソフトウェアの完全な互換性を確保する必要があります。
- 電力消費: CXLコントローラーやスイッチ自体の消費電力が増加するため、冷却設計の見直しが必要です。
まとめとチェックリスト
CXL 3.1は、単なるインターフェースの高速化ではなく、「コンピューティングの構造そのものを変える」規格です。メモリをCPUの所有物から、データセンター全体の共有リソースへと解放することで、AI時代の計算基盤を支える重要なインフラとなります。
CXL 3.1 導入検討時のチェックポイント
- CPUの対応バージョン: 利用するCPUがCXL 1.1/2.0/3.xのどのバージョンをサポートしているか。
- PCIe世代の整合性: PCIe 5.0または6.0対応のメインボードおよびライザーカードを使用しているか。
- メモリプーリングの必要性: 単なる容量増設で十分か、あるいは動的なリソース割り当て(ファブリック機能)が必要か。
- ソフトウェアスタック: OSやハイパーバイザがCXLのホットプラグやメモリプーリングをサポートしているか。
- 電源と冷却: CXL拡張モジュール追加による電源容量の不足や、局所的な熱溜まりが発生しないか。
- レイテンシ許容度: アプリケーションが、ローカルメモリよりわずかに遅いCXLメモリへのアクセスを許容できるか。
- 将来の拡張性: 2025年以降に導入されるCXL 3.1ファブリックスイッチへの移行パスが確保されているか。
- TCO計算: サーバー台数を増やすコストと、CXLメモリプールを導入するコストの比較ができているか。
FAQ
Q1: CXL 3.1は、普通のPC自作ユーザーにとっても関係がある技術ですか?
A1: 短期的には、主にエンタープライズサーバーやAIワークステーション向けの技術であるため、一般的なゲーミングPCなどの自作ユーザーに直接的な影響はありません。しかし、将来的にコンシューマー向けCPUにCXL的なメモリ拡張機能が降りてくれば、「メモリ不足ならカードを1枚追加するだけで1TBまで増やせる」といった世界が来る可能性があります。
Q2: CXLと通常のPCIeメモリ拡張(例:CXLを使わないメモリカード)は何が違うのですか?
A2: 最大の違いは「コヒーレンス(一貫性)」です。通常のPCIeデバイスをメモリとして使う場合、CPUはデータをコピーしてやり取りする必要があります。しかしCXLは、CPUが直接そのメモリを「自分のメモリ」として読み書きでき、かつキャッシュの内容を常に最新に保つ仕組みがあるため、圧倒的に高速で効率的な動作が可能です。
Q3: CXL 3.1を導入すれば、メモリ速度(MHz)は向上しますか?
A3: CXLは主に「容量の拡張」と「共有の柔軟性」を目的としており、メモリセル自体の動作クロック(MHz)を上げるものではありません。むしろ、コントローラーを介するため、極めてわずかにレイテンシが増加します。しかし、巨大なデータをメモリ上に保持できるため、ディスクI/O(SSD等)へのアクセス回数を減らすことができ、システム全体の処理速度は劇的に向上します。