インテル、CXLインターコネクトの「内容」と「理由」、NVLinkへの回答を明らかに



CXL, short for Compute Express Link, is an ambitious new interconnect technology for removable high-bandwidth devices, such as GPU-based compute accelerators, in a data-center environment. It is designed to overcome many of the technical limitations of PCI-Express, the least of which is bandwidth. Intel sensed that its upcoming family of scalable compute accelerators under the Xe band need a specialized interconnect, which Intel wants to push as the next industry standard. The development of CXL is also triggered by compute accelerator majors NVIDIA and AMD already having similar interconnects of their own, NVLink and InfinityFabric, respectively. At a dedicated event dubbed 'Interconnect Day 2019,' Intel put out a technical presentation that spelled out the nuts and bolts of CXL.

Intelは、業界がCXLを必要とする理由と、PCI-Express(PCIe)がそのユースケースに適さない理由を説明することから始めました。クライアントセグメントデバイスには、PCIeが最適です。クライアントセグメントマシンにはデバイスが多すぎず、メモリが大きすぎず、アプリケーションは非常に大きなメモリフットプリントを持たず、複数のマシンにまたがらないからです。複数の帯域幅を大量に消費するデバイスや膨大な共有メモリプールを扱う場合、PCIeはデータセンターで大きな障害を起こします。最大の欠点は、デバイスごとに分離されたメモリプールと非効率的なアクセスメカニズムです。リソース共有はほとんど不可能です。問題に対処する2つのGPUアクセラレータなど、複数のデバイス間でオペランドとデータを共有することは非常に非効率的です。そして最後に、多くの遅延があります。遅延は、複数の物理マシンにまたがる共有メモリプールの最大の敵です。 CXLは、PCIeの最も優れた部分である物理層の単純さと適応性を捨てることなく、これらの問題の多くを克服するように設計されています。 CXLはPCIe物理層を使用し、レーンごと、方向ごとに32 Gbpsの未加工の紙上の帯域幅を持ち、PCIe gen 5.0規格に適合しています。リンク層は、すべての秘密のソースです。インテルは、上記の欠点を克服するために設計された、PCIeのプロトコルに代わる新しいハンドシェイク、オートネゴシエーション、およびトランザクションプロトコルに取り組みました。 PCI-SIGですでに標準化されているPCIe gen 5.0により、IntelはPCIe gen 6.0でCXL IPをSIGに共有できます。言い換えれば、Intelは、CXLがPCIeを長引かせないことを認めており、PCI-SIGがgen 6.0を標準化できるまで(そうでない場合は2021〜22年頃)、CXLが必要です。 CXLトランザクションレイヤーは、単一のリンクで同時に実行される3つの多重化されたサブプロトコルで構成されます。それらは、CXL.io、CXL.cache、およびCXL.memoryです。 CXL.ioは、デバイス検出、リンクネゴシエーション、割り込み、レジストリアクセスなどを処理します。これらは基本的に、マシンをデ��イスで動作させるタスクです。 CXL.cacheは、ローカルプロセッサのメモリへのデバイスのアクセスを処理します。 CXL.memoryは、非ローカルメモリ(別のプロセッサまたは別のマシンによって制御されるメモリ)へのプロセッサのアクセスを処理します。
Intelは、グラフィックカード、GPUコンピューティングアクセラレータ、高密度コンピューティングカードなど、メモリを備えたアクセラレータで始まるCXLのユースケースをリストしました。 3つのCXLトランザクションレイヤープロトコルはすべて、このようなデバイスに関連しています。次に、FPGAとNICがあります。ネットワークスタックはNICのローカルプロセッサによって処理されるため、CXL.ioとCXL.cacheはここで関連します。最後に、非常に重要なメモリバッファがあります。これらのデバイスは「NASであるがDRAMスティックを備えている」と想像できます。将来のデータセンターは、数千の物理マシンとアクセラレーター間で共有される膨大なメモリプールで構成されます。 CXL.memoryとCXL.cacheは関連しています。 CXLリンク層をPCIeよりも高速にするのは、その最適化されたスタック(CPUの処理負荷)です。 CXLスタックは、設計目標として低遅延を維持しながらゼロから構築されます。
Source: Serve the Home