期待のネット新技術

低レイテンシ―かつ高速なMellanox初のDDR対応HCA「InfiniHost III Ex/Lx」

【InfiniBandの現在】

 「InfiniBandの現在」では、規格としての歴史と現状、今後の動向をまとめて紹介している。大半の読者にとっては「InfiniBandって何?」というところだろうが、僚誌クラウドWatchをご覧になっておられる読者の中には「何で今さら」という方も居られるかもしれない。

 そう、InfiniBandという規格は、1999年に作業が始まり、2000年に最初の規格策定が行われたという「えらく古い」規格なのである。

「InfiniBandの現在」記事一覧

2005年6月までに10万ポート分のInfiniBandが出荷

 前回紹介した「InfiniBand DDR」の対応製品を、Mellanoxが最初に出荷したのは2005年6月のことである。

 このときはまだ、HCA用のコントローラーチップとスイッチ用のチップだけで、完成した製品としてのカードあるいはスイッチは、まだ出荷されていない。ちなみにリリースを読むと、この2005年6月の時点で同社は10万ポート分のInfiniBandを出荷したとしている。

 もっともこの数字、単にHCAを10万ポート分出荷した、と読んでいいのかどうかはちょっと怪しいところで、実際はHCAのみならず、スイッチの分も計算に入っている気がする。ということはHCA向けで言えば、ざっくり半分の5万ポートといったあたりか。それでも結構な出荷量ではある。

初のDDR対応HCA「InfiniHost III Ex/Lx」が2006年に登場

 この後Mellanoxは何度かデモを行うものの、同社がInfiniBand DDRに対応した最初のHCAである「InfiniHost III Ex/Lx」を出荷するのは2006年に入ってからだった。この間におそらくプラットフォーム適合性試験を進めていて、完了したものが随時アナウンスされていったのだと思われる。

 まずは2006年5月に開催されたInterop 2006で、Novell(現SUSE)のSUSE Linux Enterprise 10とXen 3.0.2、それとInfiniBand DDR 4xを組み合わせたデモを展示。同年6月26日のSC2006(Supercomputer Conference 2006)では、HPのBladeSystemとInfiniBand DDR HBAの組み合わせWindows Compute Cluster Server 2003上での動作デモ)、Novellと共同でのReal-time deterministic computingのデモなどを行ったほか、7月24日にはSun Blade 8000への対応も明らかにされている。サーバー向けシステムとして使われる以上、この程度の時間を要することは避けがたいだろう。

「MHGA28-1」のチップとコネクターの間にある横長のICは、ファームウェア格納用のフラッシュ。SDRAMは5つ搭載されているはずだが数が合わないので、裏面にも実装されていた可能性がある

 ちなみに「InfiniHost Ex」はデュアルポート構成で、128MBのDRAMをローカルバッファとして搭載する「MHGA28-1」(上)と、同じくデュアルポート構成ながらローカルバッファなし(同社はこれをMemFree技術と称していた。要するにPCI Express経由でホスト側メモリの一部をローカルバッファに割り当てるというもの)の「MHGA28-X」(左下)の2製品。「InfiniHost Lx」はシングルポート構成の「MHGS18-XT DDR」(右下)となっていた。

SDRAMなしの「MHGA28-X」。配線がよく分かる
1ポート構成の「MHGS18-XT DDR」は、Low Profileでもいけそうなサイズ

 ただ、本連載の第8回でも掲載した以下のグラフからも分かるが、InfiniBand DDR製品の売り上げが決算に計上されるのは2007年度(当時の同社の会計年度は暦と同一なので、つまり2006年には売上が非常に小さく、少なくとも確実に100万ドル未満)だったと考えられる。

 実際、InfiniBand SDRの売り上げがピークに達した2006年には、InfiniHost III Ex/Lxと同時にInfiniBandのSDR版も発売され、しかも外観がほぼ同じで見分けが付かないというおまけ付きだった。ただし、InfiniHost IIIが出荷されたと言っても、少なくとも2006年に関してはSDRの方が圧倒的に多く出荷されていただろう。

独自の「InfiniRISC」搭載の「InfiniBand III」、低レイテンシーかつ高速

 このInfiniHost III、チップ内部にはInfiniRISCと呼ばれる独自RISCプロセッサが搭載され、これがInfiniBandのプロトコル処理や転送の制御などを司っている。また、InfiniHost IIIは同社にとって初のPCI Express対応製品でもある(これ以前はPCI-X)。なお、InfiniBand SDRの場合はPCI Express 1.0 x4構成、InfiniBand DDRの場合はPCI Express 1.0 x8構成での接続だった。

 ちなみに、HCA向けのInfiniHost IIIとは別に、スイッチ向けの「InfiniScale III」というチップを搭載したInfiniBand DDR対応スイッチが、Voltaireなどからタイミングを合わせて出荷されている。

 さて、このInfiniBand DDRがどの程度の性能だったかについては、Mellanoxのデータはないが、Dellが2007年に出している「Dell Power Solutions」に面白い内容が掲載されていたので紹介したい。これは"An Introduction to DDR InfiniBand"という特集記事のもので、InfiniBand SDRとInfiniBand DDR、それとGbEを比較している。

 ターゲットはHPC向けということで、Dellの「PowerEdge 1950」(4コアのXeon X5335の2ソケット構成)に4GBメモリ、OSはRHEL 4という構成のマシンを8台用意し、ここにイーサーネットがBroadcomの「NetXtreme II」と、CiscoのInfiniBand SDRカード「SFS-HCA-312-A1」、および同じくCiscoのInfiniBand DDRカード「SFS-HCA-320-A1」を装着。それぞれのマシン間の接続をGbE/InfiniBand SDR/InfiniBand DDRで切り替えながら、性能を評価したものだ。

 以下のグラフは、上記の構成でIntelの「MPI Benchmark」を利用し、メッセージサイズとレイテンシーを比較したもの。ご覧の通り、レイテンシーはInfiniBandがGbEに比べて1けた小さく、メッセージサイズが大きくなったときの増え方も緩やかだ。特にMPIなどを使って複数マシン間で同期を取る場合、オーバーヘッドを大幅に削減できるように思える。InfiniBand SDRからDDRになると、さらにレイテンシーが小さくなっていることも分かる。

Ciscoの「InfiniBand HCA」は、Mellanoxから「MHGS18-XT」と「MHGS18-XT」のOEM供給を受け、自社ブランドで販売していたもの

 続く次のグラフは、米オハイオ州立大の提供した「MPI-level unidirectional bandwidth test」を利用し、片方向のみの転送を掛けたときの性能を比較したもの。イーサーネットの速度が100MB/secちょっとなのは、そもそも1Gbpsのネットワークだからで、オーバーヘッドを考えれば、理論上の帯域である125MB/secに近いかなり優秀な結果だが、帯域が1GB/secのInfiniBand SDRや2GB/secのInfiniBand DDRには敵うはずもない。

逆に言えば、InfiniBand側がもう少し性能が出ても良さそうな気もするが、特にInfiniBand DDRでは、サーバー本体側がボトルネックとなった可能性もある

 本来であれば、比較対象は10G Ethernetなのだろうが、低価格な10GBASE-Tはこの当時全然普及しておらず、代わりにSFP+が利用されていたことは、こちらで以前に紹介した通りだ。

 ただ、当時はまだ普及し始めたところで、ラフに言えばInfiniBand SDRよりやや高価だった上、帯域もInfiniBand SDRと互角といった程度でInfiniBand DDRには及ばなかったので、やはり勝負にはならない。

 だからと言って、ポートトランキングで複数本を束ねれば……というのは、確かに帯域だけなら勝負になるかもしれないが、トランキングの処理でレイテンシーが間違いなく増える上、スイッチ側のポートも消費してしまうので、コスト面で不利になる。

 10GBASE-SRはさらに高価なので、よほど予算が潤沢に余っているのでない限り、HPCへの採用は難しい(そして予算が余るなんてことはまずない)。2006年は様子見ということで、いくつか試験的に導入して評価を行い、その結果として2007年に一斉に導入あるいはアップデートを掛けた結果が、5550万ドルの売り上げ、ということではないかと思われる。

「InfiniBandの現在」記事一覧

大原 雄介

フリーのテクニカルライター。CPUやメモリ、チップセットから通信関係、OS、データベース、医療関係まで得意分野は多岐に渡る。ホームページはhttp://www.yusuke-ohara.com/