ZeroLoom

CXL(Compute Express Link)の仕様メモ

October 4, 2024
2 min read
Table of Contents

概要


  • もともと Intel が IAL(Intel Accelerator Link) という名称で社内開発していた独自リンク規格を改称の上、一般に公開したもの
  • CXL は PCIe の物理的・電気的インターフェイス上に構築されている
  • CXL は PCIe をベースとした高性能なインターコネクト規格で、CPU、メモリ、GPUなど異なるデバイス間での低レイテンシーなデータ転送を可能にするもの
  • CXL-Opt は CXL 規格を活用して、GPU が外部メモリ(DRAM や SSD)を直接利用できるようする(メモリの容量を拡張する)技術 - コントローラ IP
  • CXL-Opt は GPU のメモリ拡張をサポートするためのハードウェア制御技術であり、Panmnesia 社が提供している新しいメモリ管理技術
  • PCIe ベースのブロック入出力プロトコル(CXL.io)、システムメモリ(CXL.cache)およびデバイスメモリ(CXL.mem)にアクセスするための新しいキャッシュコヒーレントプロトコルから構成される
  • CXL 対応のインターコネクトボードは、デバイス間の物理的な接続(パス)を提供する
  • CXL 対応のインターコネクトボードは GPU から DRAM にアクセスさせることはできるが、VRAM としては認識していないので拡張とは言えない

プロトコルについて


  • CXL の標準では、3種類の独立したプロトコルが定義されている
  • CXL.cache と CXL.mem プロトコルは、CXL.io プロトコルリンクとトランザクションレイヤーとは別の共通のリンク/トランザクションレイヤーで動作する
  • これらのプロトコル/レイヤーは、Arbitration and Multiplexing(ARB/MUX)ブロックによって多重化されてから、4つの16バイトデータ slots と2バイトの巡回冗長検査(CRC)値からなる固定幅 528 ビット(66バイト)のフロー制御ユニット(Flow Control Unit、FLIT)ブロックを使用して標準のPCIe 5.0 PHYで転送される
  • CXL FLIT は、PCIe 標準のトランザクション層パケット(TLP)とデータリンク層パケット(DLLP)データを可変フレームサイズ形式でカプセル化する

CXL.io

  • いくつかの拡張機能を備えた PCIe 5.0 に基づいており、コンフィギュレーション、リンクの初期化と管理、デバイスの検出と列挙、割り込み、DMA、非コヒーレントなロード/ストアを使用したレジスタ I/O アクセスを提供する

CXL.cache

  • 周辺機器が低遅延のリクエスト/レスポンスインターフェイスでホスト CPU メモリにコヒーレントにアクセス・キャッシュできるようにする

CXL.mem

  • ホスト CPU が、揮発性(RAM)ストレージと永続的な不揮発性(フラッシュメモリ)ストレージ両方のロード/ストアコマンドを使用して、キャッシュされたデバイスメモリにコヒーレントにアクセスできるようにする

CXL ベースの製品について


Micron - Micron memory expansion module using CXL

  • CXL を採用した Micron のメモリ拡張モジュール

Micron - CXL™規格を採用したデータセンター向けメモリ容量

Astera Labs - CXL Smart Memory Controllers

  • CXL ベースのメモリに対して最適化されたメモリコントローラー
  • Aurora A1000 はメモリコントローラーを搭載したメモリ拡張のためのモジュール?
  • 推論向けに最適化されている?
  • Micron 製のメモリとも互換性がある?

Astera Labs - Leo CXL® Smart Memory Controllers Astera Labs - Astera Labs’ AI Inferencing Demo with Leo CXL® Smart Memory Controllers Wins FMS Best of Show Award Micron - Astera Labs and Micron enabling best-in-class CXL solutions

参考文献