InfiniBand探検隊リターンズ【前編】~2012年現在も進化を続けるInfiniBandの最新状況


 21世紀の到来とほぼ時期を同じくして登場したInfiniBand。InfiniBandは、その登場当初から広帯域・低レイテンシの次世代インターコネクト技術として多方面から注目を浴びてきた。しかし、さまざまな理由からHPC(High Performance Computing)を中心に、金融証券市場や自動車関連の製造業など、特定の用途でのみ採用されるにとどまった。

non-HPC市場で盛り返すInfiniBandの動向にぜひとも注目してみよう!

 筆者は、技術的に優位性を持つInfiniBandがもっと日の当たる場所で活躍してほしいという願いから、2004年7月にInfiniBand関連の記事(前編中編後編)を本誌に寄稿している。しかし、その願いはすぐにかなわず、筆者自身も他方面の調査で忙しくなり、ついにはInfiniBandから次第に遠ざかっていってしまった。

 そのような中、InfiniBand関連製品を扱っているメラノックス テクノロジーズ ジャパン株式会社 日本地区担当ジェネラルマネージャーの津村英樹氏から筆者に1通のメールが届いた。「これからnon-HPC分野(HPC以外の分野)でInfiniBandが盛り返すよ。ものすごく面白いから話を聞いてもらえないか?」。

 津村氏は、ネットワーク関連のソリューションで有名なブロケード日本法人(ブロケード コミュニケーションズ システムズ株式会社)でもかつて代表取締役を務めていた人物。筆者は「まず間違いない、直撃取材だ!」と直感し、津村氏のもとを訪れた。そして、後日にはメラノックス テクノロジーズ ジャパンが主催するコアな国内技術者向けの会合にも参加させていただいている。

 そこで今回、7年半ぶりになるが、InfiniBandの最新動向をあらためてお届けしていく。筆者自身もInfiniBandに関してかなり記憶を失っていたので、まずリハビリを兼ねた情報整理として、前編ではInfiniBandの技術概要と、すでに確固たる地位を築いているHPC分野での最新動向をお伝えしていく。

 (2012年1月24日追記)
本題に入る前に、あらかじめお伝えしておきたいことがある。すでに原稿が完成し、1月中に記事を掲載するのみという状態だったのだが、1月23日(米国時間)にインテルがQLogicのInfiniBand資産を1億2500万ドルで買い取るという発表がなされた(ニュース記事)。QLogicのプレスリリースによれば、すべての製品ラインとInfiniBandに関連する資産をインテルに売却するという。また、そのターゲットはHPC市場のようだ。いずれにせよ、IT業界で大きな力を持つインテルが絡む以上、今回の発表が今後のInfiniBand市場に大きな影響を与えることは間違いない。しかし、どのような方向に進むかがまだ不透明であり、今回の特別記事「InfiniBand探検隊リターンズ」は、現時点での最新情報を最大限に盛り込んだ内容にてお届けしていく。

スイッチやルータを介してノードを接続するスイッチ型のファブリックを構成

 InfiniBandは、業界最高水準の広帯域通信と低レイテンシを実現したインターコネクト技術である。当時、次世代のインターコネクト技術として期待されていたSIO(System I/O)がInfiniBandに改称されたことで、InfiniBandとしての歴史が正式にスタートした。

 2000年10月には、数多くのベンダから構成される業界団体「InfiniBand Trade Association」(IBTA)によって最初の規格書(Rev 1.0)がリリースされた。その後は、2001年にRev 1.0a、2002年にRev 1.1、2004年にRev 1.2、2007年にRev 1.2.1がリリースされている。そして、現在はRev 1.3の規格を策定している段階にある。

 InfiniBandシステムは、HCA(Host Channel Adapter)、TCA(Target Channel Adapter)、スイッチ、ルータといったコンポーネントから構成される。

 InfiniBandシステムと接続するホスト(多くはHPCのノードやサーバーコンピュータ)には、HCAが搭載される。HCAの多くは、PCI Express拡張スロットに装着する拡張カードである。通信時のレイテンシを徹底的に削減する目的で、HTX拡張スロット(HyperTransport eXpansion)に装着可能なHCAも発売されているが、HTXをサポートするハードウェアプラットフォームがAMD Opteronなどに限定されることから、HTXタイプのHCAはほとんど普及していない。

 HPCのノード間通信は、各ノードに搭載されているHCA同士が相互にやり取りを行う。これに対し、ストレージシステムやネットワーク機器など、特定の機能のみを備えた周辺機器には、ターゲットデバイス専用のTCAが搭載され、HCAとTCA間の通信になる。TCAは、それぞれの機器に求められるI/O機能を提供する、機能限定のチャネルアダプタという位置付けにある。

 InfiniBandのトポロジは、Ethernetなどと非常によく似ている。基本的には、ホストとターゲットデバイス間がすべて専用のスイッチやルータを介して接続される。スイッチはサブネット内、ルータはサブネット間の通信をそれぞれサポートし、Fibre Channelや最新のEthernet環境に見られるようなループフリーのファブリックを構成可能だ。

 サブネット内では約4万8000ノード、ネットワーク全体では2の128乗(≒3.4×10の38乗)という膨大なノード数をサポートする。このため、多くのInfiniBandシステムは単一のサブネットを構成するスイッチのみでおおむね実現できる。ただし、多数のノードを同時に接続する必要がある大規模HPC環境で、とりわけケーブルの制約などから単一のサブネットを構成できない場合にルータが併用される。


InfiniBandは、ホストとターゲットと呼ばれる機器がスイッチを介して接続される(出典:メラノックス テクノロジーズ ジャパン株式会社、以下同様)。ホスト側の出入り口となるのがHCA、ターゲット側の出入り口となるのがTCAである。また、サブネット間の通信をサポートするルータを併用することも可能だ

Ethernet技術よりも高速でかつ安価にインターコネクトを構成できるInfiniBand

 InfiniBandのネットワークレイヤは、物理層、リンク層、ネットワーク層、トランスポート層、上位プロトコル層から構成される。Rev 1.0規格が登場して以来、とりわけ目立った進化を遂げているのが物理層の部分である。InfiniBandは、2組のディファレンシャルペアでデータの送信と受信を個別に行う双方向シリアル通信方式を採用しているが、そのリンク速度が着実に高速化されてきている。

 2012年1月時点では、2.5GbpsのSDR(Single Data Rate)、5GbpsのDDR(Double Data Rate)、10GbpsのQDR(Quad Data Rate)、14.0625GbpsのFDR(Fourteen Data Rate)という4種類のリンク速度が実用化されている。

 また、PCI Expressなどと同様に複数のリンクを束ねて高速化を図る手法もサポートされている。例えば、4リンク、8リンク、12リンクを束ねる4x、8x、12xがある。シングルリンクの1xではInfiniBandならではの優れたデータ転送性能を十分に引き出せないことから、HCAとスイッチ間の接続では4xが、また一部の大規模システムにおいてスイッチ間接続(ISL)では12xがそれぞれ採用されている。

 例えば、最新のInfiniBandシステムではFDRのサポートが始まっているが、そのリンク速度は4xで56Gbps(=14Gbps×4)にも達する。現時点において、ケーブルで気軽に接続できるスイッチ型のインターコネクト技術はInfiniBandとEthernetくらいしか選択肢がないが、InfiniBandの56Gbpsというリンク速度は、10Gbit Ethernet(10GbE)をはるかにしのぐ。そして、次世代規格として実用化されたばかりの40Gbit Ethernetよりもさらに速い。しかも、安価な銅線ケーブルで接続できるため、光ファイバケーブルの採用が多い10Gbit以上のEthernetよりもポート単価を下げられる。これは、近年エンタープライズITの世界でInfiniBandが見直されている理由のひとつにもなっている。

 低レイテンシもEthernetに対しての大きなアドバンテージだ。InfiniBandは、本質的に信頼性の高いリンク層を通じてデータをやり取りする。また、ハードウェアでプロトコルを実装するように設計されているため、ホストCPUへの負荷軽減やレイテンシの低減につながっている。Mellanox Technologiesの公表値によれば、Mellanox製スイッチのポート間レイテンシは100ナノ秒、エンドツーエンドのHBA間レイテンシで1.3マイクロ秒だ。これに対し、10GbEは高性能スイッチのポート間でさえ600~800ナノ秒とかなり長い。

 このような理由から、アルゴリズム取引など、とりわけ低レイテンシを求める金融証券分野のシステムでInfiniBandが早い段階から採用されてきた。例えば、シンガポール証券取引所のシステムは、ノード間のインターコネクトにInfiniBandを採用している。


InfiniBandのネットワークレイヤは、物理層、リンク層、ネットワーク層、トランスポート層、上位プロトコル層から構成されるInfiniBandの物理層。2組のディファレンシャルペアでデータの送信と受信を個別に行う双方向シリアル通信方式を採用している。現在最も高速なリンク速度は、14GbpsのFDR(Fourteen Data Rate)である

4xで100Gbpsオーバーのリンク速度に到達する次世代のInfiniBand EDR

 InfiniBandの物理層は、符号化方式としてSDRからQDRまでが8b/10b符号化方式、FDRが64b/66b符号化方式を採用している。

 PCI Expressは第2世代の5Gbpsまで8b/10b符号化方式であり、第3世代の8Gbpsでは、最小限のクロック周波数と高いデータ性能を両立するために、より符号化効率の高い128b/130b符号化方式へと切り替えている。InfiniBandは、10GbpsのQDRまで8b/10b符号化方式を適用し続けており、技術的な面から見てもなかなか興味深い。

 InfiniBandの将来的なロードマップには、26GbpsのEDR(Enhanced Data Rate)や、さらに高速なHDR(High Data Rate)、NDR(Next Data Rate)までもが含まれる。InfiniBandの伝送メディアには、プリント基板上の配線(PCB)、安価な銅線ケーブル、光ファイバケーブルの3種類が規定されているが、これらの次世代規格でカッパー(PCBや銅線ケーブル)を維持できるかどうかが焦点になりそうだ。

 これに対し、メラノックス テクノロジーズ ジャパンの津村氏は、EDR以降の技術動向について「EDR 1xの26Gbpsでは、ノイズに対しても非常にセンシティブな領域となるため、カッパー(銅線ケーブル)でどこまで乗り切れるかは今後の技術革新次第といえます。当社の開発計画に具体的に盛り込まれていることから見て、現行のシリアル通信をそのまま採用することは間違いないでしょう。InfiniBand FDRよりもPCI Express 第3世代のほうが遅れて登場したことから見ても、実は技術開発自体はバス側のほうが難しいのかもしれません。なお、EDRは100Gbit Ethernetと同じ伝送技術となる予定です」と説明している。

 銅線ケーブルの最大長は、DDRが10メートル、QDRが7メートル、FDRが5メートルと短縮されながらカッパーを維持してきた。例えば、EDRになったときに3メートルの最大長でカッパーを維持できるなら、かなり魅力的な選択肢になりそうだ。3メートルあれば、ラック内の結線には十分対応できるからだ。


InfiniBandは、さまざまなメディアタイプを選択できる。その中でも特に使われているのが、ポートあたりの単価を大きく下げられるカッパー(銅線ケーブル)である。今後の規格でどこまでカッパーを維持できるかが、ひとつの技術的なチャレンジとなりそうだ

さまざまなデバイスを接続する複雑なI/Oファブリックに向くチャネル・アーキテクチャ

 リンク速度を簡単に稼ぎたいなら、多くの人が使い慣れたPCI Expressを活用したらどうかと考える人もいるかもしれない。実際、PCI Express 3.0は8Gbps、そして次世代のPCI Express 4.0は16Gbpsになると予想され、リンク速度はそこそこ高速だ。

 USB 3.0のようにPCI Expressと同じシグナリング技術を採用した高速インターコネクト規格や、Thunderbolt Technologyのように銅線ケーブルでPCI Expressの信号を伝送できるようにした技術もすでに登場している。また、PCI Express自身もAdvanced Switching技術によって高度なトポロジを構成できるようになった。

 このため、こうした要素技術を組み合わせることで、InfiniBandよりもさらに安価なファブリックを実現できそうにも思われる。しかし、現実的にはInfiniBandを置き換える存在にはなり得ない。その最大の理由は、根本的なアーキテクチャの違いにある。

 PCI Expressは、ホスト側のCPUがI/Oデバイスに割り当てられたメモリ領域に対して直接的に読み書きを行うロードストア・アーキテクチャを採用している。ホストCPUのロード/ストア命令によってデータの入出力が行われるため、メモリアクセス時のレイテンシと同様に、低速なI/Oデバイスのアクセスには大きなレイテンシが発生する。このようにホストCPUがI/Oデバイスに束縛されることから、接続するI/Oデバイスの種類や数によってシステム全体のパフォーマンスが影響されやすい。

 一方のInfiniBandは、メッセージの受け渡し(メッセージパッシング)によってデータの送受信を行うチャネル・アーキテクチャを採用している。ホストCPUは、必要なデータをメモリに書き込んだら、すぐに別のタスクへと移行できる。そして、I/Oデバイスは、自分自身のペースでメモリからデータを取得する。このため、ホストCPUがI/Oデバイスによって足を引っ張られることがない。複雑なI/Oファブリックでは、本質的にInfiniBandのようなチャネル・アーキテクチャのほうがパフォーマンスを引き出しやすいのだ。

多数のノード接続、広帯域、低レイテンシというHPCの要件に合致するInfiniBand

 こうした理由から、InfiniBandは、多数のホストやI/Oデバイスを接続する大規模システムに適していることが分かる。その最たる活用方法としてInfiniBandの普及に大きく貢献したのがHPCクラスタの分野である。こうしたHPCクラスタには、学術機関のスーパーコンピュータのほか、構造解析、流体解析、衝突シミュレーションなど、製造業の研究開発で活躍している超高性能システムもある。例えば、自動車メーカートップ10社のうち9社は、InfiniBandを採用したHPCクラスタを保有している。

 HPCクラスタは、ベンダの独自設計によって固められた旧来のスーパーコンピュータに代わり、コンピューティングノードとしてローエンドサーバーやブレードサーバーを多数束ねることで、極めて高い演算性能を得るシステムだ。

 HPCクラスタでは、演算性能を最大限に引き出すために、広帯域・低レイテンシのインターコネクト技術によってノード間を接続する必要がある。また、各ノードのユーザー空間で動作するプロセス同士が直接通信しあえる環境も不可欠だ。

 かつては、これらの条件を満たすクラスタ専用インターコネクトとしてMyrinetやQuadricsなどの独自規格が採用されていたが、オープンスタンダードを求める世の中のニーズにはなかなか合致しない。そこで、注目されたのがオープンスタンダードに基づく広帯域・低レイテンシのインターコネクト技術、InfiniBandだった。

 HPCクラスタでは、ノード間のやり取りをメッセージ通信によって行うのが一般的だ。ノード間の通信を規定するものとして、分散メモリ型のプログラミングインターフェイスであるMPI(Message Passing Interface)が広く普及している。多くのHPCクラスタは、各ノードに分散して搭載されたメモリの垣根を越えるために、MPIを通じたメッセージ通信を行っている。

 このようなデータ通信で威力を発揮するのが、InfiniBandが登場当初からサポートするRDMA(Remote Direct Memory Access)である。RDMAは、異なるノードのメモリに対して直接アクセスできるようにする技術だ。RDMAを活用することで、ホストCPUのオーバーヘッド削減やデータ転送時のレイテンシ短縮につながる。

TOP10のスーパーコンピュータのうち5システムがノード間の接続にInfiniBandを採用

 TOP 500 Supercomputing sitesのランキングリストを調べると、ノード間のインターコネクト技術はInfiniBandとEthernetでほぼ二分されている。Ethernetは、InfiniBandと比べてシステム構築や運用管理が容易だが、さすがにTOP500の最上位クラスを狙えるHPCクラスタではほとんど採用されていない。

 実際、2011年11月のランキングリストによれば、401~500位のシステムのうち74システムがEthernetベース、23システムがInfiniBandベースなのに対し、1~100位のシステムになるとInfiniBandベースは55システム、Ethernetベースはたったの2システムしかない。上位システムになればなるほどノード間の接続を最適化する必要があり、InfiniBandのほうがその点で有利なことを示している。

 TOP500にランクインするほどのHPCクラスタは、ノード間を接続するネットワークのトポロジとして、スイッチの多段接続によってポート数を稼ぐファットツリーや、より高度な接続が可能な3次元トーラスなどを採用している。InfiniBandベースのHPCクラスタは、InfiniBandスイッチを多段にて接続するファットツリーが基本になる。

 2011年11月のランキングリストにおいて、1位から10位までが1PFLOPS(毎秒1000兆回の浮動小数点演算)の実効演算性能を達成している。こうした世界最速クラスのスーパーコンピュータは、例えば理化学研究所のK computerのように、独自のインターコネクト技術(K computerは富士通が独自に開発した6次元メッシュ/トーラス結合)を採用したものも多いが、実はその半数(TOP10のうち5システム)がInfiniBandを採用したシステムだったりする。これは実際に調べてみて、筆者自身もかなり驚かされた。

 メラノックス テクノロジーズ ジャパンの津村氏は、TOP 500のさまざまなInfiniBandシステムを支えているMellanox Technologiesの優位性を「Mellanoxは、HPC向けに設計された最高性能のインターコネクト用シリコンの開発メーカーとしてスタートしています。このため、最高のスループットと低レイテンシ、そして低消費電力を自社の技術のみで同時に実現できる唯一のメーカーです。だからこそ、HPC市場で広く採用されているのです。今後、non-HPC分野では、HPC分野における圧倒的なボリューム効果によるコストパフォーマンスとRDMAを応用したアプリケーション処理性能の優位性が大きな後押しとなるでしょう」と語っている。


多数のノードを接続する際に用いられるファットツリー形式。スイッチを階層的に接続することでポート数を増やすトポロジであり、InfiniBandベースの大規模HPCクラスタで広く採用されているHPC分野におけるInfiniBandの採用実績。スーパーコンピュータの性能が高まるにつれ、InfiniBandの採用率が高まっていることが分かる

 後編では、InfiniBandの将来を強く後押しすると期待されるnon-HPC分野、とりわけエンタープライズIT分野での最新動向と具体的なソリューションを取り上げる。

関連情報