読み方 : シーエックスエル
CXL【Compute Express Link】
CXLとは?

従来、CPUとGPUやFPGAといったアクセラレータを組み合わせたシステムでは、装置間でデータをやりとりする際にメモリ間のコピーが発生し、処理の遅延や効率低下を招いていた。CXLでは接続された複数の装置が同一のメモリ空間を共有できる仕組みを提供する。これにより、データの無駄なコピーを省き、レイテンシを低く抑えながら処理を進められる。
CXLが定める通信プロトコルは三種類ある。汎用的なI/Oを担う「CXL.io」、周辺装置(アクセラレータ)がホスト(CPU)のメモリをキャッシュする「CXL.cache」、ホストが周辺装置のメモリを直接操作する「CXL.mem」である。用途に応じてこれらを組み合わせることで、装置ごとに分断されていたメモリ資源を柔軟に割り当てる構成が実現できる。
メモリの拡張・共有機能も提供され、マザーボード上のスロット数という物理的な制約を超えてCXL対応のメモリモジュールを外部から追加接続することが可能になる。複数のサーバがCXLスイッチを介してメモリプールを共有するアーキテクチャも想定されており、特定のサーバでメモリが不足する一方で別のサーバでは余剰が生じるといったリソースの偏りを解消できる。
CXLの利用が想定される主な分野に、機械学習や科学技術計算、大規模データベース処理など、膨大なメモリを要する大規模な計算環境がある。仕様は継続的に更新されており、2022年公開のCXL 3.0では帯域幅の向上と複雑なネットワークトポロジーへの対応が図られた。主要な半導体メーカーやサーバメーカーが対応製品の開発を進め、次世代データセンター基盤の接続技術として採用が広がりつつある。