システムの調和が生み出す高い性能
世界をリードする「京」の開発
システムの調和が生み出す高い性能
世界をリードする「京」の開発
「京」は、今年6月、完成前にもかかわらず、「TOP500」※1 において世界一の計算速度を達成しました。現在、本格稼働に向けて最後の調整が急ピッチで進められています。群を抜く「京」の計算性能は、どのようにして実現されたのでしょうか。2006年のプロジェクト発足以来、開発を牽引してきた渡辺さんに、お話をうかがいました(世界一達成については、「『京』のあゆみ」で詳しく説明されています)。
スーパーコンピュータは、計算を多くのCPU(中央演算処理装置)に分けて行わせることで、計算速度を上げています。「京」は、完成時には8万個以上ものCPUを備える予定ですが、世界一の計算速度は、その約8割を使って達成されました。
「京」の特徴は、CPUの数だけでなく、質にもあります。「『京』は、特定の用途に限定せず、広く使えることをめざして開発が始まりました。そのために、GPU(グラフィックプロセッシングユニット)などの特別なアクセラレータ(計算を加速させる装置)を使うのでなく、汎用のCPUを新たに開発したのです」と、渡辺さんは強調します。
他に類を見ないほど信頼性が高いのも、「京」の特徴です。「『京』はTOP 500の性能テストで28時間一度も止まることなく稼働しました。自動車のF1レースに例えると、最初から最後までトップスピードで走り続け、その間一度もメンテナンスのためのピットインをしないようなものです」と渡辺さん。安定した動作を実現できた背景には、CPUの信頼性の高さがあります。
CPUは、動作する温度を下げると故障が起こる率が低くなります。そこで、CPUが配置されているシステムボード上に冷水が通る銅管を設置して、動作時に発生する熱を取り除き(水冷方式)、CPUの動作温度を30℃に保っています。さらに、CPU自体に信号の間違いを自動的に訂正したり、命令の実行をやり直す機能をもたせ、信頼性を高めました。
※1 巨大な連立一次方程式を解く速度を測定する「LINPACK」というプログラムの結果をランキングするもの。毎年2回(6月と11月)、公表されている。
汎用システムである「京」は、多くのアプリケーションで高い計算性能を出すことが求められます。システム自体の実行効率※2が高ければ、アプリケーションの実行効率も高くなり、高い性能を発揮すると期待されます。「京」はTOP500の性能テスト計算で93%という圧倒的な実行効率を達成しました。その鍵となったのは、新たに開発したCPUですが、ほかにも、システム全体のボトルネック(効率の悪い箇所)を解消するためにさまざまな技術が結集されています。
その1つとして、CPUのつなぎ方(ネットワーク)の開発があります。「京」では多数のCPU間でデータをやり取りしながら計算するので、実行効率を上げるには、データ転送距離をできるだけ短くすることが不可欠です。そのため、「『京』のCPUは6次元メッシュ/トーラスという革新的な構造で結合し、ネットワークをつくっています(上図)」と渡辺さん。これにより、通常の3次元トーラスに比べて短いルートでのデータ転送が可能になりました。このネットワーク構造は、「京」でいくつかの計算を同時に行う際、空間的に近いCPUをつないで1つの計算を行わせるのに適しています。
また、計算時には、「京」本体と、データを保存するファイルシステムの間でも、大量のデータがやりとりされます。このやりとりを効率的に行うため、ファイルシステムは、計算途中のデータを置くローカルファイルと、計算が終了したデータを保管するグローバルファイルとに分けてあります(下図)。
一方、「京」は消費電力が非常に小さいことも魅力です。CPUを低温で動作させるために漏れ電流が少なくなることや、必要でない回路には電流を流さないという工夫などにより、スーパーコンピュータの省電力ランキング「Green500」では世界6位にランクインしました。これは実用の汎用システムとしては世界一の省電力性能です(「京」より上位はすべて試作機、もしくは特別なアクセラレータがついたシステム)。
渡辺さんは「重要なのはシステム全体のバランスです。『京』のシステム構成は、各分野の専門家を集め、白紙の状態から1年近くかけて練り上げました」と、プロジェクト開始のころの苦労を語ります。「京」の優れた性能は、最先端の技術の数々と、その調和によって生み出されているのです。
※2 理論上のピーク性能に対する実効性能(実際に計測された性能)の割合。
(取材・構成 那須川真澄)
2011年10月21日発行