# InfiniBand
Navigation: [[../index|index]] | [[../overview|overview]]
## 概要
InfiniBandは、2000年10月にInfiniBand Trade Association(Intel・HP・IBM・Sun等の企業連合)がバージョン1.0仕様を発表した、システムエリア網(SAN)向けの業界標準相互接続規格である。当時のPCIバスの後継として、クラスタ間の相互接続とストレージI/Oの双方を狙って設計された。当初はPCIバスの完全な置き換えを目指したが市場浸透が遅れ、その役割は結局PCI-Expressに奪われた一方、SAN・ストレージエリア網としての地位は確立した。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix F Interconnection Networks]] §F.8, §F.13)
技術的には、方向あたり2〜120 Gbpsのデータ伝送速度を最大300 mの距離でサポートするスイッチベースの相互接続技術であり、トポロジ・ルーティングアルゴリズム・アービトレーション技法をベンダー・ユーザーが柔軟に選べる設計になっている。cut-through switching、16の仮想チャネル/サービスレベル、クレジットベースのリンクレベルフロー制御、加重ラウンドロビンの公平スケジューリング、プログラム可能な転送テーブルを備える。ルーティングはInfiniBandの実装ではテーブル駆動方式が一般的で、up*/down*ルーティングが典型的に用いられる。(Source: §F.8)
ユーザーレベル通信の基本機構として send/receive と RDMA(remote DMA)の2方式を提供する。send/receiveでは受信側が事前に受信バッファを明示的にポストする必要があるのに対し、RDMAでは送信側がリモートデバイスのメモリへ直接DMA転送できる。Mellanox MHEA28-XTチャネルアダプタ(3.4GHz Intel Xeonホスト接続)の実測では、4バイトパケットの送受信オーバーヘッドが send/receive で0.946/1.423µs、RDMA機構で0.910/0.323µsであり、RDMAが受信側オーバーヘッドを大幅に削減することを示した。OSバイパスとプロトコルオフロードの効果はMVAPICH実装のベンチマークで実証され、ネイティブVAPI経由(OSバイパスあり)はIPoIB経由(OSバイパスなし)よりワイヤ速度に近い実効帯域幅を達成する。(Source: §F.8)
## 関連システム・比較
- 同時期のシステムエリア網標準としてMyrinet・QsNetII(Quadrics)があり、いずれもfat treeトポロジを採用する。InfiniBandはこれらに比べテーブル駆動ルーティングを採用する点で異なる(Myrinetはソースベースのdispersive適応ルーティング)。(Source: §F.8)
- スイッチとインタフェースカードの知能配置という観点では、InfiniBandはtarget channel adapter(TCA、ディスク等の低要求装置向け廉価版)とhost channel adapter(HCA、ホスト向け高性能版)を使い分けるハイブリッド方式を取る。これはMyrinetの「知能をNIC側に全振り」する設計や、小規模Ethernetスイッチの「知能をスイッチ側に全振り」する設計との中間に位置する。(Source: §F.10)
## 未解決の問い
- 原本(2019年出版)は2005年前後の実測データに基づく記述が中心であり、2010年代以降のRoCEv2普及によるInfiniBand市場シェアの変化には触れていない。[[RDMA]] concept が集約する2015年以降のRoCEv2文献との時系列的な接続は未整理。
## 関連
- 概念: [[RDMA]] / [[相互結合網]] / [[データセンター輻輳制御]]
- ソース: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix F Interconnection Networks]] §F.8, §F.10, §F.13