CXLはCPUと外付けメモリをつなぐ新しい業界標準の規格です。AIサーバーでは「メモリが足りない」問題が深刻になっており、CXLを使うと通常のDRAMを大量に追加できます。速度より容量が目的で、速くて少ないHBMと遅くて大容量のCXL DRAMが補い合う設計です。
構造で言うと(投資家向け)も見る
CXLはPCIe Gen 5物理層ベースの標準規格。2019年Intel主導でCXL Consortiumを設立。CXL.io・CXL.cache・CXL.memの3サブプロトコルでデバイス発見・キャッシュコヒーレンシ・ダイレクトメモリアクセスを担う。2023年のSapphire RapidsでCXL 1.1が初実装。Samsung CMM-D/CMM-H・SK hynix・Micronが量産。AIのKVキャッシュ肥大(長文脈処理)でメモリウォールが顕在化し、CXL 2.0/3.0のメモリプール機能がサーバー設計を変える。
なぜAIの推論でGPUメモリが溢れるのか
大規模言語モデル(LLM)を動かすには、まずモデルの重みをメモリに展開する必要がある。たとえばパラメーター数700億の「70Bモデル」をFP16(16ビット浮動小数点)で動かすと、重みだけで約140GBのメモリを消費する。
ところが現状のGPUに搭載されたの容量には上限がある。NVIDIA H100は80GB、H200でも141GBだ。これに加えて、時には「KVキャッシュ」と呼ばれる過去のトークンの計算結果を記録する領域が文脈の長さに比例して膨らむ。長い文脈を扱うモデルではKVキャッシュだけで数十GBを占め、合計で100GBを超えることも珍しくなくなった。
GPUの中にメモリを増やすことができれば解決するが、は製造コストが高く、物理的な積層数にも上限がある。そこで「CPUのメモリバスにつながった大容量のDRAMを、GPUが必要なときだけ使えないか」という発想から生まれたのがCXLである。
CXLとは何か——IntelとGoogle・Meta・Armが設立した業界規格
CXL(Compute Express Link)は、2019年にIntelが中心となり、Google・Meta・Arm・Samsung・Microsoftなど大手テック企業が参加して設立したCXL Consortiumが策定した接続規格だ。信号のやり取りには標準拡張スロットの最新世代であるPCIe Gen 5をそのまま流用しているため、送受信回路を新たに設計する必要がなく、既存のPCIeのエコシステムを活用できる点が特徴である。
CXLが解こうとしている問題は「メモリウォール」——CPUの演算速度の向上に対して、メモリ帯域幅と容量の拡大が追いつかなくなる構造的な限界だ。CPUソケットに直接挿せるメモリスロット数は物理的に制限されているため、どんなにDRAMが安くなっても1サーバーあたりの容量を増やすのに限界があった。CXLはPCIeスロット経由で外付けメモリを追加できる仕組みを提供することで、この制約を外す。
3つのサブプロトコルが担う役割——CXL.io・CXL.cache・CXL.mem
CXL規格には3つのサブプロトコルが定義されており、デバイスの用途に応じて組み合わせて使う。
- CXL.io:デバイスの発見・初期化・設定といった基本のやり取りを担う。すべてのCXLデバイスで必須のプロトコルである。
- CXL.cache:CPUとデバイスが互いの手元に置いたデータを食い違いなく共有するためのプロトコル。CPU側のデータに直接アクセスする必要がある演算デバイスなどで使われる。
- CXL.mem:CPUがデバイス側に搭載されたメモリに直接アクセスするためのプロトコル。CXLメモリ拡張の中心となる機能で、外付けDRAMをサーバーのメモリ空間の一部として扱えるようにする。
CXLメモリ拡張モジュール(CXL DRAMカード)は主にCXL.memを使って動作する。CPUからは「追加のメモリ領域」として見え、OSやアプリケーションが透過的に使用できる設計になっている。
CXL 1.xから3.0への進化——単体増設からメモリプールへ
| バージョン | 公開年 | 主な追加機能 |
|---|---|---|
| CXL 1.0 | 2019 | CXL.io・CXL.cache・CXL.memの基本定義 |
| CXL 1.1 | 2020 | エラー報告・デバッグ機能の強化 |
| CXL 2.0 | 2021 | スイッチング機能の追加(複数ホストで1つのメモリを共有可能に) |
| CXL 3.0 | 2022 | 多段接続(マルチホップファブリック)・P2Pメモリアクセス |
CXL 1.xは「1台のサーバーに1つのCXLデバイスを足す」使い方に留まっていた。CXL 2.0でスイッチが追加されたことで、複数のサーバーが1つの大容量メモリプールを共有できるようになった。あるサーバーはメモリをたくさん使い、別のサーバーは少ししか使っていないという状況でも、プール全体を効率的に配分できる。CXL 3.0はさらに多段接続をサポートし、規模でのメモリ管理基盤を整えた。
Intel第4世代Xeon(Sapphire Rapids・2023年1月)とAMD第4世代EPYC(Genoa・2022年11月)が、CXL 1.1に対応した最初の主要サーバーCPUとして量産された。
HBMとCXLはどう棲み分けるのか——速度か容量か
とCXL DRAMの特性は対照的だ。
HBM3は3.35 TB/s、HBM3Eは4.8 TB/sという圧倒的な帯域幅を誇るが、容量はH100で80GB、H200でも141GBが上限だ。DRAMをチップ貫通の電極で縦に積む特殊な工法が必要なため、製造コストが高く供給量も限られる。
対してCXL DRAMの帯域幅は約50〜100 GB/sと1桁以上小さい。しかしサーバーで広く使われる通常のDRAM(DDR5)をベースに製造できるため低コストで大容量化しやすく、1サーバーあたり数TB規模の増設も視野に入る。
棲み分けの原則は「高速な計算とアクティブなデータはHBMで、大量の参照・待機データはCXL DRAMで」だ。KVキャッシュの頻繁にアクセスされる部分はHBM上に置き、古い文脈や参照頻度の低いデータをCXL DRAMに退避させるソフトウェア最適化が開発されている。
誰がCXLメモリを製品化しているか——Samsung・SK hynix・Micron
CXL モジュールの量産は2023年から本格化し、主要DRAMメーカー3社が参入している。
Samsungは通常のDRAMベースのCMM-DとHBMベースのCMM-Hの2系統を展開する。CMM-Dは容量128GB以上・帯域約50 GB/sを提供し、大容量かつ低コストなメモリ拡張を狙う。SK hynixはHBMの技術知見を活かしたCMM-H(高帯域幅・大容量を両立)を投入している。MicronもDDR5ベースのCXLメモリモジュールを展開し、AIサーバー向けのメモリ多様化を進めている。
この記事のまとめ
- AIの長文脈推論ではモデルの重みとKVキャッシュを合わせると100GBを超えるメモリが必要になり、HBMの容量上限が制約になっている。
- CXLはPCIe Gen 5物理層をベースにした標準規格で、2019年にIntelを中心とするCXL Consortiumが提唱した。
- 3サブプロトコル(CXL.io・CXL.cache・CXL.mem)が役割を分担し、CXL.memがCPUと外付けメモリの直接アクセスを担う。
- CXL 2.0でメモリプール(複数サーバーで容量を共有)、CXL 3.0でマルチホップファブリックが追加された。
- Samsung(CMM-D/CMM-H)・SK hynix・Micronが量産を開始し、2023年発売のSapphire Rapids/Genoaが最初の対応CPUとなった。
この記事のまとめ
- CXLは2019年IntelがPCIe Gen 5物理層をベースに提唱し、CXL Consortiumが策定するメモリ拡張規格。
- 3サブプロトコル(CXL.io・CXL.cache・CXL.mem)が役割を分担し、CXL.memがCPU-外付けメモリ間の直接アクセスを担う。
- CXL 2.0でメモリプール(複数サーバーで容量共有)、CXL 3.0でマルチホップファブリックが追加された。
- HBMとの棲み分けは「速度はHBM・大容量はCXL DRAM」で、AIのKVキャッシュ肥大化問題への解として注目される。
- Samsung(CMM-D/CMM-H)・SK hynix(CMM-H)・Micronが2023年から量産を開始。
よくある質問(FAQ)
Q.CXLとHBMはどちらが速いですか?+
HBMが帯域幅では圧倒的に速い。HBM3は3.35 TB/s、HBM3Eは4.8 TB/sに達するのに対し、CXL DRAMは約50〜100 GB/sにとどまる。CXLの強みは容量の大きさにあり、1サーバーあたり数TB規模の増設が可能な点でHBMを補う位置づけです。
Q.CXLはどの世代のサーバーCPUから対応していますか?+
Intel第4世代Xeon(Sapphire Rapids・2023年1月発売)とAMD第4世代EPYC(Genoa・2022年11月発売)が、CXL 1.1を実装した最初の主要サーバーCPUです。以降のサーバー世代では順次CXL 2.0対応が進んでいます。
Q.CXLとNVLinkは何が違いますか?+
NVLinkはNVIDIA GPU同士をつなぐGPU間の独自インターコネクトです。CXLはCPUとメモリ・デバイス間を接続するベンダー横断の標準規格で、PCIe Gen 5物理層をベースにDRAMメーカーやサーバーメーカー各社が実装できる点が根本的に異なります。
用語集
- HBM/ High Bandwidth Memory
- DRAMを積み重ねて広帯域にした高性能メモリ。AI半導体とセットで使われる。
- DRAM/ Dynamic Random Access Memory
- 電源を切ると消える、高速な作業用メモリ。CPUやGPUが計算中のデータを一時的に置く。
- 推論(インファレンス)/ inference
- 学習済みのAIを実際に使って答えを出す処理。質問に答える・文章を生成するなど、利用時の計算がこれにあたる。
- データセンター/ data center
- 大量のサーバーをまとめて置き、24時間動かし続ける施設。クラウドやAIの計算はここで行われる。
参考資料・引用元
- Compute Express Link (CXL) Specification業界団体CXL Consortium(2022-11)— 使用箇所: CXL規格の一次情報。CXL 3.0仕様(2022年11月公開)。CXL.io・CXL.cache・CXL.memの3サブプロトコル、1.0(2019)/1.1(2020)/2.0(2021)/3.0(2022)の世代と機能を定義(要確認・CXL Consortium公式)https://www.computeexpresslink.org/download-the-specification
- Compute Express Link (CXL) Technology — Overview一次情報Intel Corporation(2023)— 使用箇所: IntelがCXL Consortiumを主導して2019年に提唱した背景、PCIe Gen 5物理層ベース、3サブプロトコルの役割と設計目的の技術説明(要確認・Intel公式)https://www.intel.com/content/www/us/en/developer/topic-technology/compute-express-link/overview.html
- Samsung CXL Memory Expander (CMM-D / CMM-H) — Product Overview一次情報Samsung Semiconductor(2023)— 使用箇所: SamsungのCXLメモリ拡張モジュール CMM-D(DDR5ベース・容量128GB〜・帯域約50 GB/s)とCMM-H(HBMベース・高帯域幅)の仕様と位置づけ(要確認・Samsung公式)https://semiconductor.samsung.com/us/us-support/tools-resources/samsung-and-cxl/
- 4th Gen Intel Xeon Scalable Processors — CXL 1.1 Support一次情報Intel Corporation(2023-01)— 使用箇所: Intel第4世代Xeon(Sapphire Rapids・2023年1月発売)がCXL 1.1を実装した最初の主要サーバーCPU。PCIe Gen 5と共にCXL 1.1ポートを実装(要確認・Intel公式)https://www.intel.com/content/www/us/en/products/docs/processors/xeon-scalable/4th-gen-xeon-scalable-performance-brief.html
この記事をシェア
次に読む
コメント
GitHub アカウントでログインしてコメントできます。