Enterprise Watch
バックナンバー

伊勢雅英のInfiniBand探検隊 - 【中編】HPCCで高いパフォーマンスを発揮するInfiniBand


 現在、InfiniBandの魅力を引き出せる用途として最も注目されているのが、HPCC(High Performance Computing Clusters)やデータセンター内のクラスタシステムである。今回は、InfiniBandの技術的な側面を織り交ぜつつ、InfiniBandとHPCCの親和性について解説していく。


サーバー外部にも広帯域の信号経路を提供するInfiniBand

 InfiniBandの利点には、信号帯域幅が広いこと、レイテンシが短いこと、ホストCPU(サーバーに搭載されるCPU)のオーバーヘッドが少ないことなどが挙げられる。そして、“Bandwidth Out of the Box”というInfiniBandの基本コンセプトが重要な意味を持つ。Bandwidth Out of the Boxとは、サーバーの外部エリアにも広帯域の信号経路を提供するコンセプトである。つまり、独立したサーバー間もしくはサーバーと周辺機器間を高速に接続できるということだ。

 新しいシステムインターフェイスには、PCI ExpressやHyperTransport、RapidIOなど、InfiniBandにも匹敵する広帯域の規格が続々と登場しているが、HyperTransportは一般にサーバー内部のコンポーネント間の接続に限られる。RapidIOはInfiniBandに近い素性を持つ最新インターフェイスだが、原則として組み込み機器の世界で使用されるものなので、今回は比較対象から外しておこう。残りのPCI Expressは、現時点では内部接続に限定されるが、Advanced Switchingのテクノロジが登場すれば接続トポロジの柔軟性も増す。しかし、PCI Expressは多数のデバイスを接続する大規模ネットワークを構成しづらい。

 例えば、信号帯域幅が同一のPCI ExpressとInfiniBandを比較した場合、一見するとPCI Expressでも同じくらいのパフォーマンスが得られるように感じられる。しかし、PCI Expressはロードストア・アーキテクチャを採用しているため、接続するI/Oデバイスの種類や数によってはホストCPUに対するオーバーヘッドが問題となりやすい。ロードストア・アーキテクチャとは、ホストCPUがLANアダプタやストレージホストアダプタなどのI/Oデバイスに対して直接データを送受信する方式のことだ。ホストCPUは、データの送受信に際してI/Oデバイスの応答を待つ必要があるため、遅いI/Oデバイスとやり取りすると大きなオーバヘッドが発生してしまう。

 一方、InfiniBandはチャネルアーキテクチャを採用している。チャネルアーキテクチャは、メッセージの受け渡し(メッセージパッシング)によってデータの送受信を行う。ホストCPUは、必要なデータをメモリに書き込んだら、あとは別のタスクに移行できる。I/Oデバイスは、自分の速度にあったペースでメモリからデータを取得する。ホストCPUは、I/Oデバイスの応答を待つ必要がないことから、遅いI/Oデバイスとやり取りした場合にもオーバヘッドを最小限に抑えられる。こうした点から考えても、InfiniBandが多数のホスト、デバイスを接続する大規模な環境に向いていることが分かる。

 従って、InfiniBandに適した用途とは、Bandwidth Out of the Box、低レイテンシ、低オーバーヘッドなどというInfiniBandの利点を最大限に生かせるもの、すなわちアプリケーションクラスタリングやティア間通信、プロセス間通信(IPC)、SANなどということになる。


広帯域、低レイテンシ、RDMAによりHPCCの処理性能を最大限に引き出す

 世の中には、きわめて高い演算性能を必要とする分野がある。例えば、自動車のエンジン設計、衝突シミュレーション、石油や天然ガスの探索、新薬の発見、ヒトゲノム解析、計算流体力学、半導体チップ設計の検証などが主要なアプリケーションとして挙げられる。かつて、こうしたアプリケーション向けには、スーパーコンピュータ、メインフレーム、大規模SMP(Symmetrical Multi Processor)マシンなどが用いられてきた。しかし、これらのシステムは、1TFLOPSあたり2000万ドルものコストがかかることから、大きな研究機関でしか利用できないのが実情だ。


大規模SMPサーバーとSMPの特徴を比較したもの。HPCCは、大規模SMPサーバーに匹敵する処理性能を実現しながら、同時に低コストも両立している。これは、標準テクノロジに基づくコンポーネントを組み合わせてシステムを構築しているからだ(出典:JNI Corp., InfiniBand Implementations and Total Cost of Ownership)。
 そこで登場したのが、ローエンドサーバーやブレードサーバーを多数束ねてスーパーコンピュータにも匹敵する超高速の演算性能を得るHPCC(High Performance Computing Clusters)である。HPCC市場では、とりわけ入手の容易なサーバーやネットワーク機器で1TFLOPSのHPCCを実現するTOTS(TeraFlop-Off-the-Shelf)が大きな指標に掲げられている。HPCCは、コモディティサーバーの価格特性を生かせることから、スーパーコンピュータなどの特別な並列処理ソリューションと比較して価格がかなり安い。Voltaireの試算によれば、TOTSのクラスタシステムはすでに100万ドル未満で構築できるという。

 HPCCを構成する各サーバーはノードと呼ばれ、ノード間のやり取りはメッセージ通信で行われるのが一般的だ。ノード間の通信を規定するものとして、分散メモリ型のプログラミングインターフェイスであるMPI(Message Passing Interface)が標準的に用いられる。MPIのライブラリには、オープンソースや市販のものなどいくつかの種類があるが、これらの多くはアルゴンヌ国立研究所とミシシッピ州立大学が共同で開発したMPICHに基づく。


InfiniBand、Myrinet、Quadrics、Gigabit Ethernetを比較した表。HPCC専用のインターフェイスと比較して、数多くの点で優れている(出典:Mellanox Technology, Introducing InfiniScale III and MTS2400, SC2003)。
 ノード間の接続インターフェイスには、安価なEthernetに加え、HPCC向けに開発されたMyrinet、Quadrics、GigaNet、SCI Dolphin、ServerNetなどが用いられる。TFLOPSクラスのHPCCを構成するには、帯域幅が広く、レイテンシが短く、さらに各ノード上のユーザースペースプロセス間で直接通信できる高性能インターフェイスが不可欠だ。こうした用途に最適化されたものが、Myrinet、QuadricsのようなHPCC専用インターフェイスだが、これらのインターフェイスはメーカー専有のものなので、製品の選択幅が狭く、価格も高いという欠点を持つ。

 そこで、注目されているのがInfiniBandである。InfiniBandは、完全にオープンなインターフェイスなので、多くのベンダが参入しやすい素地を持つ。Linux InfiniBand ProjectやOSCAR(Open Source Cluster Application Resource)のようなオープンソースのソフトウェアも登場しているので、ハードウェアを調達すればすぐにでもInfiniBandクラスタを構築できる。

 もちろん、パフォーマンス面でもHPCC専用インターフェイスを凌駕する。オハイオ州立大学の実験によれば、MPIの帯域幅は、Myrinet、Quadricsに対し、メッセージサイズが4KB以上でInfiniBand(4Xリンク)が大きく差を広げ、最終的には3倍以上も高速になることが示された。その帯域幅は860MB/secにのぼり、ソフトウェアのアップデートによりさらに高速化が可能だという。また、MPIレイテンシは、メッセージサイズが小さければ7μs未満と非常に短く、メッセージサイズが大きい場合にはQuadricsの約2分の1、Myrinetの約3分の1となる。

 InfiniBandがHPCCに最適とされるもう一つの理由は、RDMA(Remote Direct Memory Access)を実装できるためだ。RDMAは、独立したシステムのメインメモリ間、システムとストレージ間のデータ転送を効率化するテクノロジである。メモリ間のデータ転送時には、ホストCPUの割り込みがほとんど発生しないため、ホストCPUのオーバーヘッド低下に加え、データ転送時のレイテンシ短縮にもつながる。HPCCは、各ノードに分散して搭載されたメモリの垣根を越えるために、MPIを通じたメッセージ通信を行っているわけなので、この部分を高速化できるRDMAはHPCCにとって必須の機能といえる。


InfiniBand 4XとHPCC専用インターフェイスのMPIスループットを比較したグラフ。InfiniBand 4Xのスループットは、メッセージサイズが大きくなると専用インターフェイスの3倍以上にも達する(出典:Mellanox Technology, Leadership in InfiniBand Solutions, June, 2003)。 InfiniBand 4XとHPCC専用インターフェイスのMPIレイテンシを比較したグラフ。InfiniBand 4XのMPIレイテンシは、メッセージサイズが大きくなるとQuadricsの約2分の1、Myrinetの約3分の1となる(出典:Mellanox Technology, Leadership in InfiniBand Solutions, June, 2003)。 ホストCPUの割り込みをほとんど発生させることなく、独立したシステムのメインメモリ間のデータ転送を行える。これは多数の計算ノードから構成されたHPCCにとって非常に重要な機能といえる(出典:Richard Libby - Technical Marketing Engineer, Enterprise Plaftorms Group, Intel Corp., Intel Architecture Uses PCI Express and InfiniBand to Deliver Winning Solutions for HPC, Intel Developer Forum 2004 Spring)。

RDMA対応の10Gbit Ethernetという選択肢は?

 なお、InfiniBand 4Xに匹敵する帯域幅を持つ10Gbit Ethernetの登場によって、Ethernetでノード間を接続するという選択肢を検討しているユーザーも多い。Ethernetならば、成熟したテクノロジを流用できることから、システム構築や運用管理がInfiniBandよりも容易という利点を持つ。最近では、Ethernet上でRDMA機能を実現するRemote Direct Memory Access over Ethernetの仕様策定も完了しており、来年あたりにはこの仕様に対応した10Gbit Ethernet NICが登場する予定だ。

 レイテンシは依然としてInfiniBandよりも大きく、同じ帯域幅を持つInifiBandと同じ性能を期待するのは難しいかもしれないが、Ethernetならではの利便性の高さ、これまでのEthernet製品に見られた急速な価格下落を見込んで、Ethernetをノード間接続インターフェイスとして期待しているユーザーも多い。実際、MicrosoftがWindows Server 2003でInfiniBandのネイティブサポートを中止した理由もここにある。顧客の大半は既存のEthernet技術を利用すると判断し、InfiniBandのソフトウェアは外部ベンダないしは有志によるオープンソースソフトウェアに任せる方針を採った。

 とはいえ、10Gbit Ethernetの製品は、まだ数少ない上に、InfiniBandに対するコスト的なメリットもまったくない。IDCの調査によれば、10Gbit Ethernetのポート数は2005年時点で28万7000ポートに過ぎないという。この程度のポート数では、デスクトップPCやサーバーテクノロジの主流となるには時期尚早であり、かつてのEthernetが歩んできたスケールメリットの恩恵に預かることはできない。将来的に10Gbit Ethernetが普及したとしても、そのころにはノードを構成するコンピュータ自体がより高性能になり、10Gbit Ethernetでは物足りない側面も出てくる。結局、Ethernetという選択肢は、比較的規模の小さなHPCCで採用されるものと考えられる。


TOP500 Supercomputer sitesには、世界中の高速なコンピュータシステム(TOP500に申請されたものに限られる)を1位から500位まで紹介している。第1位は、横浜市の海洋科学技術センターにある地球シミュレータである。InfiniBandを採用したもので最も高速なシステムは、バージニア工科大学に設置されているSystem X(第3位)だ。
 以上の点を踏まえると、今すぐはもちろんのこと、将来的にも、TOP500の上位を狙えるようなHPCCを構成するならばInfiniBandが最適といえる。実際、InfiniBandを採用したHPCCの多くは、続々とTOP500入りを果たしており、導入実績も増えつつある。例えば、執筆時点ではバージニア工科大学のSystem Xが世界第3位にランクインしている。System Xは、1100台のPower Mac G5(デュアルプロセッサ搭載)をMellanox Infiniband 4Xで接続することにより、LINPACKの最大パフォーマンスとして10.28TFLOPS、理論最大パフォーマンスとして17.6TFLOPSを達成している。

 その他にも、NCSA(米国立スーパーコンピュータ応用研究所)、ロスアラモス国立研究所、サンディア国立研究所、オハイオ州スーパーコンピュータセンター、ミシシッピ州立大学などでInfiniBandベースのHPCCが稼働している。現在、TOP500にランクインしているHPCCには、MyrinetやQuadrics、Gigabit Ethernetが多く採用されているが、今後これらの中に少しずつInfiniBandが入り込んでいくのではなかろうか。


 次回は、データベースクラスタでの活用例、データセンター内のクラスタシステムとInfiniBandとの親和性について解説していく。




URL
  InfiniBand Trade Association(英文)
  http://www.infinibandta.com/
  IntelのInfiniBandページ(英文)
  http://developer.intel.com/technology/infiniband/
  TOP500 SUPERCOMPUTER SITES
  http://www.top500.org/

関連記事
  ・ 伊勢雅英のInfiniBand探検隊 - 【前編】InfiniBandっていったい何?(2004/07/07)
  ・ 伊勢雅英のInfiniBand探検隊 - 【後編】データセンターでの活躍が期待されるInfiniBand(2004/07/09)


( 伊勢 雅英 )
2004/07/08 00:00

Enterprise Watch ホームページ
Copyright (c) 2004 Impress Watch Corporation, an Impress Group company. All rights reserved.