← 最新の論文
🤖 AI

OpenURMA: A Clean-Room Open Implementation of the Unified Bus Protocol

本論文は、Huawei の Unified Bus プロトコルの最初のクリーンルームオープンソース実装である OpenURMA を紹介し、RTL、SystemC、gem5 シミュレーションを通じて、アプリケーションごとの状態をトランスポート状態から分離することが、従来の RoCEv2 ベースラインと比較して 64 バイトのリモートフェッチ遅延を 4.37 倍削減し、スループットを 2.80 倍向上させることを実証する。

原著者: Bojie Li

公開日 2026-05-28
📖 1 分で読めます☕ さくっと読める

原著者: Bojie Li

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

以下は、論文「OpenURMA: A Clean-Room Open Implementation of the Unified Bus Protocol」を、平易な言葉と日常的な比喩を用いて解説したものです。

大きな問題:「周辺機器」のボトルネック

現代のデータセンターを、何千人もの従業員(アプリケーション)が瞬時に互いに通信する巨大なオフィスビルだと想像してください。

現在、彼らが通信する標準的な方法は以下の通りです:

  1. 周辺機器の問題: ネットワークカード(NIC)は、コンピュータに接続されたプリンターやマウスのような周辺機器として扱われています。それは主要な頭脳(CPU)の「外側」に位置しています。
  2. キューシステム: メッセージを送るために、従業員はメモ(「作業要求」)を書き、ネットワークカードの受信箱(「ドアベル」)まで持って行き、待たなければなりません。その後、ネットワークカードがそれを受け取り、処理し、「完了」のメモを受信箱に戻します。
  3. 交通渋滞: ネットワークカードが「外側」にあるため、送信と確認のために、たった 1 つのメモでも、混雑した高速道路(PCIe バス)を 4 回も横断しなければなりません。
  4. メモリ危機: ネットワークカードは、互いに通信しているすべての従業員ペアごとに、個別のファイルフォルダーを保持する必要があります。1,000 人の従業員がそれぞれ 1,000 人と通信する場合、カードは 100 万個のフォルダーを必要とします。これは机のスペース(オンチップメモリ)が不足し、ファイルを取りに地下室の書棚(ホスト RAM)へ走り出す必要が生じます。これにより、システム全体が極端に遅くなります。

結果: インターネットケーブル(「回線」)が非常に高速であっても、ネットワークカードの接続と構成方法のせいで、システム全体が渋滞に巻き込まれた状態になります。


解決策:華為(ファーウェイ)のユニファイドバス(UB)

華為(ファーウェイ)は、この問題を解決するために、アセンド 950 チップ内で**ユニファイドバス(UB)**と呼ばれる新しい設計を提案しました。彼らは古いシステムを単に修正したのではなく、交通規則そのものを変更しました。

1. オフィスをビルの内部へ移動させる
UB は、ネットワークカードをビルの外にある周辺機器とするのではなく、メインの廊下(オンチップバス)上にネットワークコントローラーをビルの内部に配置します。

  • 比喩: ロビーまで歩いて手紙を投函する代わりに、今や机のすぐ隣にいる同僚に手渡すことができます。高速道路を 4 回横断する必要はなく、一歩踏み出すだけで済みます。

2. ファイルシステムの分割
古いシステムは、会話するすべてのペアに対して 1 つの巨大なフォルダーを保持していました。UB はこれを分割します:

  • Jetty: 会話の「あなた側」のための小さなカード。
  • TP チャンネル: 「相手側」のための共有カード。
  • 比喩: 人数が増えるにつれてサイズが爆発的に増える、すべてのペアに固有のフォルダーを必要とする代わりに、自分用のカードと会話相手のための共有カードだけで済みます。フォルダーの総数は、爆発的(乗法的)に増えるのではなく、緩やかに(加法的に)増加します。これにより、ネットワークカードの机のスペースが溢れるのを防ぎます。

3. 「ロード/ストア」ショートカット
コントローラーがビルの内部にあるため、CPU はプログラム内の変数を読み取るように、標準的な命令(LOADSTORE など)を使って直接それと通信できます。

  • 比喩: 用紙に記入し、受信箱まで歩き、領収書を待つ必要はありません。必要なデータを瞬時に引き出すだけです。

4. オプションのルール(オプトイン順序付け)
古いシステムは厳格なルールを強制していました:「どのような場合でも、メッセージは送信された正確な順序で受信されなければならない」。これは遅く、多くのタスクにとって不要です。

  • 比喩: UB は、「メッセージを可能な限り速く配信します。もし本当に順序が必要なら、手を挙げていただければ、並べ替えるために速度を落とします。必要ない場合は、到着順に受信トレイに放り込みます」と言います。これにより、厳密な順序を必要としない人々の時間を節約できます。

OpenURMA が行ったこと

華為のチップは存在しますが、それは「ブラックボックス」です。内部の仕組みを見ることも、測定することも、それを基に構築することもできません。

OpenURMAは、この新しいシステムの最初のオープンソースかつクリーンルーム実装です。

  • クリーンルーム」とは、華為の秘密のコードを参照することなく、公開されたルールブック(仕様書)のみを使用して、ゼロから構築されたことを意味します。
  • 彼らはこれをテストするために 3 つのバージョンを構築しました:
    1. RTL: ハードウェアチップの実際の設計図(FPGA ボード上でテスト)。
    2. SystemC: ネットワークの超詳細なコンピュータシミュレーション。
    3. gem5: 実際のオペレーティングシステムを実行する完全なコンピュータシミュレーション。

彼らは公平な比較を行うために、同じツールを使用して、新しいシステム(OpenURMA)と古い標準(RoCEv2)を比較しました。


結果:どれほど速くなったか

論文は、特に小規模で高速な操作(小さなデータの一部を取得するなど)において、劇的な改善を主張しています:

  • 速度: 標準的なデータ取得において、新しいシステムは古いシステム(約 2,186 ナノ秒)と比較して4.37 倍速い(約 500 ナノ秒)です。
  • スループット: 1 秒あたりに処理できるデータ量は2.8 倍になります。
  • 効率性: チップ上のスペースを非常に少なく使用します(テストボードの利用可能なスペースの約 14% のみ)。
  • スケーラビリティ: ユーザー数が増加する(1 から 1,024 へ)につれて、古いシステムは机のスペース不足により劇的に遅くなります。一方、新しいシステムはファイルシステムが効率的であるため、速く安定したままです。

なぜこれが重要なのか(論文によると)

論文は、現代の AI やビッグデータワークロードにとって、データセンター内のコンピュータを接続する現在の方法(ネットワークカードを周辺機器として扱うこと)は根本的に欠陥があると主張しています。

  • 「コヒーレント」な代替案: メモリを「共有」され「コヒーレント」に見えるようにしようとする他の技術(CXL や NVLink など)が存在します。しかし、論文はこれらの技術は、大規模クラスター(多数のサーバーラック)にスケールアップしようとする際に破綻すると主張しています。なぜなら、これらは状態追跡にあまりにも多くのリソースを必要とし、ネットワークエラーを適切に処理できないからです。
  • UB の利点: UB はネットワークが完璧ではないことを認め、ビル全体で「完全なコヒーレンス」を強制しようとはしません。代わりに、アプリケーションに必要な場合のみ順序を管理するためのツールを提供し、他のシステムで見られるパフォーマンスの崩壊なく、何千ものサーバーにスケールできるようにします。

まとめ

古いシステムを想像してください。それは郵便局のようなもので、すべての手紙について、カウンターまで歩き、用紙に記入し、列に並び、領収書を受け取らなければなりません。

一方、新しいOpenURMAシステムは、あなたのすぐ隣に座り、あなたが誰と話しているかを正確に知り、特別な注文がない限り、一切の書類作業なしで手元に手紙を届けてくれる私設のメッセンジャーのようなものです。

この論文は、ネットワークをこのように組織化するという新しい方法は単なる理論ではなく、現在私たちが使用しているものよりも著しく高速でスケーラブルな、実用的でオープンな設計であることを証明しています。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →