Blue Gene
概要
Blue Gene プロジェクトの最初のコンピュータである「Blue Gene/L」は、1億ドルの費用をかけてピーク性能で360TFLOPSを目指し、ローレンス・リバモア国立研究所と共同で開発された。この目標は日本製の旧地球シミュレータの実効性能35.86TFLOPSの10倍の速さである。2010年までにピーク性能1PFLOPSの「Blue Gene/P」、2010～2012年には10PFLOPSの「Blue Gene/Q」の開発を目指した。
システム構成
Blue Geneは、システムとしての最小構成となるラックを必要に応じて複数接続することでユーザが求める性能を提供する。そのラックは、1プロセスを実行する最小単位となる計算ノードを複数個搭載しており、各ノードはコンピュータネットワークによって接続されている。
ローレンス・リバモア研究所のシステム
2004年11月に発表された第24回Top500リストにおいて、スーパーコンピュータ向けベンチマークLINPACKにおけるBlue Gene/Lの実効性能は70.72TFLOPSとなり、地球シミュレータを抜いて当時の世界最速のスーパーコンピュータとなった。当時はまだ搭載CPUコアが32,768個であり、ベータ版という位置づけであった。
その半年後の2005年6月、Blue Gene/LはCPU数を65,536個に倍増して136.80TFLOPSを達成し、さらに2005年10月には131,072個のCPUで280TFLOPSを達成したと発表した。
2007年11月の第30回Top500では、CPUコアをさらに増やし212,992個で478TFLOPSを記録し、当初の計画目標である360TFLOPSを達成した。
日本国内への導入
日本国内では産業技術総合研究所生命情報工学研究センターが4ラックを導入し、2005年6月に発表されたTop500で第8位を記録した。その後ニイウス株式会社で1ラック、2006年には高エネルギー加速器研究機構で10ラックが稼働を開始した。
その他
2009年9月17日、米国家技術賞を受賞した。
計算ノード
計算ノードの構成をシンプルにすることで、はんだ不良などによるハードウェア故障を減らし、また高密度実装を実現した。計算ノード単体の性能は、PCにくらべ低くまた搭載メモリ量も少ないため、一般的な環境に比べるとプロセスに対する制約が大きい。
高密度実装
省電力プロセッサを採用した理由は高密度実装を実現するためである。一般的なPCやサーバ、また旧来のスーパーコンピュータが採用する高性能プロセッサの多くは、消費電力とそれに伴う発熱も大きいため、そのようなCPUを筐体に多数詰め込むと排熱が非常に困難になる。かといって筐体内の密度を下げるとケーブルや接続コネクタなどの構成部品が増え、それが信頼性の低下を招く。
Blue Gene/Lでは消費電力あたりの性能が高い組み込み用途向けプロセッサを導入することでその問題を解決した。この設計方針により、Blue Gene/Lはその性能に対し電力消費や設置面積において非常にコンパクトなシステムとなった。Blue Gene/Lの消費電力あたりの性能は112.24MFLOPS/Wであり、地球シミュレータの3.01MFLOPS/Wと比べると、Blue Gene/Lは37倍も電力効率の良いシステムである。
ラック
Blue Gene/Lのラック内には、計算ノードを2つ搭載する計算カードが512枚搭載され、2048CPUのマシンとして構成されている。それに加え、ファイルシステムへのアクセスを担当するI/Oノードが1ラック当り2から64枚搭載されている。I/Oノードはギガビット・イーサネットでラック外部のファイルサーバと接続し、集団通信ネットワークを介して計算ノードと通信を行う。ラックに搭載するI/Oノードの数は、実行するアプリケーションの性質によって調整する。
ネットワーク
Blue Gene/L内のノード接続には、その用途に応じて異なる5種類のネットワークが使われている。
三次元トーラスネットワーク
三次元トーラスネットワークは低遅延・広帯域を要求されるノード間の一対一通信に使われ、Blue Geneの通信ネットワークの中でも最も重要な位置を占める。
三次元トーラスネットワークは隣接ノード同士の接続から構成されるため、通信相手によってはその通信データが複数ノードを経由して到達することになる。
よって、トーラスネットワークの帯域を効率的に用いるには、三次元トーラスにおける通信を出来るだけ局所的に抑えるようなアルゴリズムを適用する必要がある。また、通信局所性をBlue Geneの物理的な接続配置にあわせることも重要である。
各計算ノード間の接続は1方向あたり1.4Gbps、遅延は100ナノ秒となる。各ノードは近隣の6ノードとそれぞれ双方向に接続しており、1ノードの合計入出力帯域は16.8Gbpsに達する。ノード数が65,536の場合トーラスは64x32x32となり、最大ホップ数は32+16+16=64ホップ、最大遅延は6.4マイクロ秒となる。
グローバルバリアネットワーク
並列アプリケーションでは、各プロセスの同期がよく行われる。プロセッサ数とノード数におけるスケーラビリティを確保するためには、同期待ちに伴う遅延を改良する必要がある。グローバルバリアネットワークには、複数ノードの同期をハードウェアによる支援によって高速に行う機構が備えられている。
このバリアネットワークは低遅延という特徴を持ち、65,536ノードの同期に必要な時間は1.5マイクロ秒未満である。
システム管理ネットワーク
計算ノードの初期化や監視・管理・デバッグのためにイーサネットとJTAG等のインタフェースを変換回路を介して接続するネットワークが用意されている。このネットワークを用いて管理用コンピュータから遠隔操作を行う。
I/Oネットワーク
I/Oノードが持つギガビット・イーサネットが接続されるネットワークで、I/Oノード同士の通信と外部のファイルサーバへのアクセスを担う。
Blue Gene/P
Blue Gene/Pは、2007年6月26日にIBMが発表した、次世代のBlue Geneスーパーコンピュータ。継続的に1 PFLOPSで稼動し、最大3 PFLOPSまで構成可能な余地を持って設計された。更に、小型で低電力の多数のチップを5つの特別なネットワークで結合する事で、他のスーパーコンピュータより少なくとも7倍のエネルギー効率を実現した。それぞれのBlue Gene/Pチップには、4個のPowerPC 450 850MHzプロセッサが搭載されている。1 PFLOPSのBlue Gene/Pは、高速の光ネットワークを備えた72ラックに294,912個のプロセッサで構成される。216ラックに884,736個のプロセッサまで拡張する事で、3 PFLOPS性能に達する。標準のBlue Gene/P構成では、1ラックに4,096個のプロセッサを格納する。
2007年11月12日、最初のシステムのJUGENEが、ドイツのユーリッヒ研究センターで、65,536プロセッサを搭載し167 TFLOPSで稼動した。
Blue Gene/Q
Blue Gene/Qは、Blue Geneシリーズの最新のスーパーコンピュータの設計で、2011年内に20 PFLOPS達成を目標としたが、2012年に延期された。Blue Gene/Qは、高い電力当り性能を持つ Blue Gene/L や Blue Gene/P の拡張と強化を続けたもので、1684 MFLOPS/Watt を実現した。
設計
Blue Gene/QのプロセッサはPower BQCと呼ばれ、PowerPC A2をベースにしている。Blue Gene/Q は、16コアを持つ、4-Way のハイパースレッド 64ビット の PowerPC A2 ベースのチップを搭載している。そのチップは統合されたメモリとI/Oコントローラを持ち、各プロセッサコアに1 GB DDR3 RAMを持つノードカードに搭載される。
プログラミングモデル
Blue Gene/Lのシステム構成は、各計算ノードで独立して実行されるプロセスがネットワークを介して互いにデータを交換するメッセージパッシングモデルを想定した設計となっている。メッセージパッシングにおいてデファクトスタンダードとして利用されるMessage Passing Interface (MPI)をサポートしていることから、MPIを利用して実装された既存のスーパーコンピュータ向け並列アプリケーションの多くは移植するだけでBlue Gene/Lの特徴を生かして実行される。
しかし、ネットワークで述べたように通信の局所性が乏しい、また処理全体の中で通信時間の比率が高いもの、元々並列度が低いアプリケーションについては、より低遅延・広帯域なネットワークを備える他のシステムに比べ低い実行効率しか得られない。Blue Geneは、通信に対する計算の比率が高いアプリケーションほどより有利に実行可能である。