東京大学情報理工学系研究科 平木 敬
理化学研究所と富士通株式会社が共同で開発中の京速コンピュータ「京(けい)」が2011年6月発表のTOP500リストにおいて、第1位を獲得しました。この事について、特に1位になることの価値については既に多くの報道がなされていますので、ここではその情報理工学から見た意義について述べます。
(1) Linpackベンチマークの実行速度で世界一を達成した意義
Linpackベンチマークは、密行列の連立方程式の解を求めるプログラムを実行し、実行中の平均演算速度を求めるものです。超大規模行列をLinpackで計算する場合、計算時間の大部分は部分行列の行列積計算(DGEMM)が占めます。並列コンピュータを用いる場合、ガウス消去法を素直に使うとネットワークバンド幅がボトルネックとなり性能が出ません。この問題を解決するため、行列積計算においてGustavsonの再帰的分割法を適用し、メモリを十分に使えば低速インターコネクトでプロセッサ間を接続しても高い計算効率になります。現在TOP500で指定されているHPL(High-Performance-Linpack)を用いますと、行列のサイズを十分に大きくすれば、多くの場合プロセッサチップのピーク性能に近い実効性能を得ることが出来ます。今回「京」の性能評価では、行列サイズが10,725,120と非常に大きく、計算時間は約28時間でした。
スーパーコンピュータの評価・比較にLinpackを用いることに対して、従来から様々な批判がありました。Linpackでは@浮動小数点演算性能だけを評価し、整数演算性能、分岐性能が評価されないこと、Aピーク性能に近い性能が出るだけでスーパーコンピューティングに重要なメモリバンド幅、インターコネクト性能が評価されないこと、B実際のアプリケーションプログラムでの性能と乖離していることが主な批判の対象でした。
しかしながら、@京コンピュータは汎用プロセッサを構成部品としているので、浮動小数点性能にマッチした整数演算性能、分岐性能を持つこと、Aピーク性能に近い性能が出ることは、プロセッサのマイクロアーキテクチャの改良が進み、優れた設計を用いているからであり、決して容易なことではないこと、Linpackではメモリバンド幅、インターコネクト性能を評価しないのではなく、バランスしていることを示していること、BLinpack自身、人工的ベンチマークでなく大規模線形連立方程式を実際に解いていて、科学技術上の応用を広く持つことから、京コンピュータにおける達成は意義深いものと考えられます。
Linpackの実行速度で世界一を達成した意義は、単に高い性能を出したということに止まらず、スーパーコンピュータとして実用に耐えられるものに仕上がったということを示しています。Linpackは、浮動小数点演算ユニットや命令ユニットをフル稼働させるため、スーパーコンピュータが最も熱くなるプログラムです。Linpackの測定を完了させるためには、京コンピュータの場合28時間連続して最大発熱状態を続け、かつエラーが発生しないことが求められます。これは、全体完成後高い信頼性を持って実用に供することができること、放熱・冷却設計が万全であることを意味し、大きな意義を持っています。
(2) 京速コンピュータはなぜ世界一を達成できたか
世界一ということは、必ずや競争相手がいます。情報システムの場合基本的な技術レベルは世界共通なのでよほどのアドバンテージがない限り、競争相手に競り勝つことはなかなか困難です。私たちがインターネット速度で世界一を取り、更新し続けた裏には、実験を秘密裏に行い、競争相手に先手を打つ争いがありました。ところが、京速コンピュータは、最初から2011年6月TOP500で一位になることを宣言し、それを実現しました。本当に素晴らしいことです。
では、何故勝つことが出来たのでしょうか?第一のポイントは京速という目標設定、第二のポイントは省電力性の実現を重要目標として競合する汎用プロセッサより2倍以上演算速度あたりの省電力性能が実現できたこと、第3のポイントは敵失だと思います。
スーパーコンピュータに限らず、科学技術のビッグプロジェクトでは適切な目標設定、すなわち、簡単に達成できるものでも、全く達成不可能なものでもなく、競合相手より優れていることが必須です。京速コンピュータの構築は5年前に開始しましたが、2011年における目標数値は計画当初の1ペタフロップスから、数々の変遷をへて10ペタフロップスを目指すことになりました。また、目標が科学技術計算の向上、プログラム生産性というような抽象的なものでなく、Linpackという具体的であることも助けとなり、今回の8.2ペタフロップスという達成を可能にしました。もし、1ペタフロップスが目標であったら、2011年6月で11位であり、TOPを取るという目的も、最大規模の実用科学技術計算を行うプラットフォームを構築する目的も達成できないところでした。また、10ではなく20やそれ以上を目標とすると、技術的無理が原因で時宜を得た完成が不可能になり、酷い場合には目標に達することが出来ません。
第2のポイントは第1のポイントを達成するための主な技術的アプローチです。プロセッサチップの省電力性の追求は全世界的目標であり、競争相手も頑張っている項目ですが、京速コンピュータは汎用プロセッサを用いたスーパーコンピュータとして他のシステムの1.45倍以上高い省電力性を持ち、初の8ペタフロップス超えを10MW以下の電力で実現したことは著しい成果と考えられます。
第3のポイントは、京速コンピュータの素晴らしさではなく、競争相手の問題です。2005年に開始し、2012年の全体完成を目指す京速コンピュータプロジェクトに対し、米国は先行し2002年に開始し、2010年に終了したHigh Productivity Computer System (HPCS)プロジェクトを実施しました。HPCSプロジェクトでは、応用プログラム実効計算速度が2から4ペタフロップスのシステムを構築するための効率の良い言語・システムソフトウェアと並列コンピュータ技術を開発し、2010年までに応用プログラムを実行したときの実効計算速度1ペタフロップスのプロトタイプを構築することを目的としていました。しかしながら、IBMのPERCSは完成が遅れ、現在159テラフロップスのプロトタイプに止まっている。一方、CrayのCascadeは当初はx86ベースのクラスタとベクトルプロセッサであるX2, マルチスレッドプロセッサであるXMTを組み合わせて広い応用分野に対応するものであった。しかしながら、X2は1号機を英国に出荷しただけで製造中止となり、以後はx86アーキテクチャの汎用プロセッサを用いたシステムとなったが、消費電力が大きい(京速コンピュータの約3倍)ため、10ペタフロップスレベルのスーパーコンピュータ構築は困難であった。
一方、京速コンピュータは事業仕分けによる経費削減にも関わらず、短い期間でシステムを組み上げ、Linpackによる性能評価が可能なレベルまで熟成させたことにより、TOP500で2位以下と大きく差を付けて第一位を獲得したことは意義深いことです。
(3) おわりに
大規模スーパーコンピュータは、プランから完成まで長期間を要すこと、プロセッサチップ設計から実装設計まで作るものが多岐にわたり複雑なこと、ネジ類除いても数100万点の部品で構成され、その全てが正常に動作する超高信頼性が必要であることから、科学技術の道具としてかつての宇宙開発を超し、もっとも複雑かつ作成が困難なものとなっている。今回、TOP500リストで第1位になったことは、これら全てが世界最高水準にあることを示している。スーパーコンピュータは、それを用いて科学技術を進展させることが最重要な目的であるが、その前にくるTOP500での第1位は、十分に重要かつ成し難い業績と思います。
|