なぜ今、RDMAが再び注目されるのか
AIクラスタが数十万GPU規模に拡大するにつれ、ネットワークはもはや周辺要素ではなく性能のクリティカルパスとなりました。All-reduceやall-to-allといったcollective演算は数千のアクセラレータを同期させ、最も遅い転送がジョブ全体のペースを決定します。推論においても、分散したモデルシャード間の低遅延通信がそのままユーザー応答時間に直結します。
問題は、従来のRoCEv2が「ネットワークは絶対にパケットを落とさない」という前提の上に構築されている点です。PFC(Priority Flow Control)で無損失を強制し、順序保証をスイッチに依存しています。しかしGPUが数十万規模に増え、データセンターが地域をまたぐようになると、この前提自体がスケーラビリティの足枷になります。Multiplaneトポロジで性能を引き出すパケットスプレーも、PFCとは相性が悪いのが実情です。
MetaがOCP(Open Compute Project)に寄贈したMetaRoCEは、この前提そのものを覆します。核心的な洞察は一行に集約されます。
ファブリックはパケットを見るが、NICは意図を見る。
インテリジェンスをスイッチに集中させるのではなく、エンドポイント(NIC)へ移そうという設計です。本記事ではMetaRoCEの設計原理、RoCEv2との実測比較、そして日本のインフラ環境における意味を整理します。根拠資料はMeta Engineeringブログ原文で確認できます。

MetaRoCEの核心メカニズム5点
1. ネイティブ順序不同受信 (Native Out-of-Order Delivery)
MetaRoCEはパケットを複数パスに散布するため、順序が入れ替わるのが正常です。すべてのパケットが自身の宛先情報を保持し、到着した瞬間に最終メモリ位置へ直接書き込みます。並べ替えバッファが不要なため、head-of-line blockingも発生しません。
# 概念比較
RoCEv2: [P1][P2][P3] → 並べ替えバッファ → 順序通り処理 (P2欠落時はP3待機)
MetaRoCE: [P1]→mem, [P3]→mem, [P2]→mem (到着次第、即座に書き込み)
2. ネイティブマルチパス (Native Multipathing)
各コネクションは複数のファーストクラスパスを持ち、パケット単位でスプレーします。パスごとに固有のUDPソースポートをECMPエントロピーとして使用するため、NICはいつでもトラフィックを健全な経路へ移動できます。パス単位でウィンドウとRTT推定値を管理するため、輻輳と障害を区別できます。ホットなリンク1本がコネクション全体を止めることはありません。
3. 損失を前提とした設計 (Loss Tolerance by Design)
PFCもpause frameも使用しません。パスごとに独自の順序番号を維持するため、256ビットSACKビットベクタのギャップは並べ替えではなく損失の証拠として解釈されます。ギャップを検出した瞬間、そのパスで失われたパケットのみを再送します。
4. 双方向の輻輳制御 (Congestion Control From Both Sides)
送信側主導のECNベースAIMDと、受信側主導のfair-share rate hintを組み合わせます。受信側は各ACKで、その送信側に割り当てたインバウンド帯域の割合を返すため、送信側は速度を探索せずに直接正解へ近づけます。Incastは1〜2 RTTで解消されます。
5. トポロジ非依存 (Topology Independence)
MetaRoCEがファブリックに要求するのはECNマーキングとECMPの2点のみです。パケットトリミング、インネットワークテレメトリ、クレジットベースフロー制御、スイッチ側スプレーは不要です。Fat-tree、multiplane、deep-buffer、shallow-bufferのいずれでも同一のトランスポートが動作します。
6. スケールにおける統合コネクション (Unified Connections at Scale)
従来のRDMAでは並列性を高めるためにQPを数十本開く必要がありました。MetaRoCEは1本のコネクションが上位では複数の独立した順序ストリーム(communicator/collective単位)、下位では複数のパスを、単一の輻輳制御器の下で管理します。コネクション状態がワークロードの並列性に応じて無制限に増えることはありません。
既存のRDMA Verbs APIおよびソフトウェアスタックは修正なしでそのまま動作します。Multiplane対応などの拡張機能のみ、extension APIで提供されます。

RoCEv2 vs MetaRoCE 比較表
| 項目 | RoCEv2 | MetaRoCE |
|---|---|---|
| 無損失前提 | PFCで無損失を強制 | 損失許容、PFC不要 |
| 順序処理 | スイッチ/並べ替えバッファ依存 | 順序不同受信、並べ替えバッファなし |
| マルチパス | 限定的 (PFCと相反) | ネイティブ、パケット単位スプレー |
| 輻輳制御 | 送信側主導 ECN/AIMD | 送信側 + 受信側fair-share hint |
| 順序保証の主体 | ファブリック | エンドポイント(NIC) |
| ファブリック要件 | PFC、順序保証、ベンダー機能 | ECN + ECMP のみ |
| 1%損失時のスループット | 急激に低下 | 約86%維持 |
| 10%損失時 | 事実上崩壊 | 有用な帯域を維持 (graceful) |
| QPスケーラビリティ | ノードペアあたり数十本必要 | 単一コネクションに複数ストリーム |
| アプリケーション修正 | - | 不要 (Verbs API互換) |
実測データ (AMD Pensando NIC、64ノードAMD GPUクラスタ)
MetaはAMDと協力してPensando programmable NICにMetaRoCEを実装し、RCCL collectiveで直接比較測定を行いました。
- All-reduce / All-to-all: MetaRoCEがRoCEv2比で一貫して高いスループット、低いflow completion time
- 1%パケット損失: RoCEv2は性能が崩壊するが、MetaRoCEは約86%のスループットを維持
- 10%の極端な損失: 依然として有用な帯域を提供、崩壊せず緩やかに収束
- Multiplane拡張性: 4-plane / 8-plane、最大4,000同時コネクションでスループットがplane数に線形比例
- Plane障害シミュレーション: アプリケーション介入や運用者操作なしで自律復旧
本技術の限界と注意点
率直に言えば、MetaRoCEは万能ではありません。
- NIC依存性: インテリジェンスがエンドポイントへ移動したため、NICが賢くなければ恩恵はありません。Programmable NIC(例: AMD Pensando)や高性能fixed-function NICが前提です。
- Scale-across未完成: データセンター内部(scale-out)は成熟していますが、数千km離れた建物間(scale-across)はまだ研究段階です。長距離共有リンクの公平性問題が残っています。
- Storage/KV-cache対応: ネットワーク速度とリクエストサイズがまちまちな環境で、受信側主導rate hintの精度を維持することが次の課題です。
- エコシステム成熟度: OCP仕様とリファレンス実装(libsoftmetaroce)は公開されましたが、商用スイッチ/NICベンダーの採用速度は別問題です。
次のステップ学習方向
- **OCP ESUN(Ethernet Scalable Unified Network)**イニシアチブのドキュメントを先に読むことをお勧めします。MetaRoCEがどこに位置づけられるか全体像が掴めます。
- RDMA Verbs APIの基礎を固めておくと、MetaRoCE導入時にアプリケーション変更が不要という利点の大きさが実感できます。
- AIMD、ECN、DCQCNといった輻輳制御の基本概念を整理しておくと、本記事の4番目の項目がより深く理解できます。
- 2026年10月のOCP Global SummitでDPDK最適化リファレンス実装とcomplianceフレームワークが公開予定です。そのタイミングでlibsoftmetaroceを実際に動かしてみることをお勧めします。

日本の開発エコシステムにおける適用文脈
国内のAIインフラは、特に大手クラウドや通信キャリア系のデータセンターにおいて、依然としてRoCEv2 + PFC構成が事実上の標準となっています。PFCチューニングのノウハウが特定ベンダーや特定エンジニアに集中しているケースも少なくありません。MetaRoCEが投げかけるメッセージは明確です。**「PFCチューニングで無損失を模倣する時代は終わりつつある」**ということです。
ただし、日本国内で導入を検討する際は2点を先に確認してください。第一に、保有するNICがprogrammable系か(またはベンダーがMetaRoCE実装ロードマップを持っているか)。第二に、既存のRDMA Verbsベース学習フレームワークがextension APIなしでも正常動作するかです。幸いアプリケーション層の修正は不要というのが公式見解であり、PoCの参入障壁自体は低いと言えます。
まとめ
MetaRoCEの真の価値は「より速い」ことではなく、**「損失を前提に設計してもより速い」**という逆説にあります。理想的な条件下で最高性能を出すのは難しくありません。難しいのは条件が悪化したときに優雅に耐えることであり、MetaRoCEはその点を正面から狙っています。
AIインフラを扱う開発者であれば、このプロトコルが仕様として公開された今は、学習曲線を先に上げておく絶好のタイミングです。