next up previous
Next: LSI設計技術の問題 Up: GRAPE-5からGRAPE-6へ――世界最高速計算機から見る計算科学 Previous: 1999年ゴードンベル賞

専用計算機という方法論

このような計算機技術の進歩は、過去半世紀間の科学技術の発展にとって極め て大きな役割を果たしてきた。GRAPE 自体も、本誌でも紹介された惑星形成、 あるいは月形成などのシミュレーション[1]から、球状星団の進化、 銀河、銀河団の形成、進化など、天文学のさまざまな分野で大きな成果をあげ てきている。これらについては別のところにレビューを書いた [2]し、紙数もないのでここでは省略し、以下では主に計算 機技術の将来について、GRAPE プロジェクトに 10 年程関わってきた観点から書いてみたい。

その前に GRAPE の原理を簡単にまとめておく。[3] GRAPEは、上にあげ た銀河のような、多数の粒子がお互いの重力で相互作用しているシステムのシ ミュレーション(重力多体問題)に特化した計算機である。このような計算で は、計算時間のほとんどが粒子同士の相互作用の計算に使われる。 GRAPE は、 この相互作用の計算だけを高速に行なう専用並列計算機であり、ニュートンの 万有引力の計算を専用のパイプラインプロセッサで行なう。なお、相互作用計 算以外の計算は普通のワークステーションを使って行なう。

並列処理には、粒子間相互作用はそれぞれ独立に(並列に)計算できるという 性質を使う。小型のGRAPE-5 の場合ではパイプラインの数はボード1枚あたり 16本 であるが、1995年に完成した超並列機GRAPE-4 では1692本のパイプライ ンが並列動作する。

まず、GRAPE プロジェクトで明らかになったことは、重力多体問題という特定 の問題については、そのための専用計算機を作るというアプローチが極めて有 効であるということである。価格(開発予算)とピーク性能の比をとってみる と、汎用計算機では、2001年で 400Gflops/M$ 程度と見込まれている。実効 性能はピークの 10% いけば非常によいほうである。これに対し、1995年に完 成した GRAPE-4 は既に 500Gflops/M$ を実現した。2000-2001年に完成見込 みの GRAPE-6(図gif) ではその 40倍の 20 Tflops/100万ドル 程度と同じ時期の汎用計算機に比べて価格当たりの性能が 50倍程度になる。 GRAPE-5 で実際に達成した 150Gflops/M$ という数字はちょっと低いが、こ れはピークではなく実効性能であるのと、比較的実効性能が出にくい問題をあ えて選んだためである。

  
図: GRAPE-6 プロセッサモジュール評価用ボード。子ボードの上にのっ たLSI 2個がプロセッサである。4つはメモリチップ。この2プロセッサのシス テムで、 72 Gflops と超並列計算機なみの速度を出す。GRAPE-6 では3000チップ程度を並列に動作させる 予定である。

このように GRAPE のような専用計算機が汎用計算機に比べて高い性能を実現 できる理由は、基本的には専用化したということそれ自体である。まずプロセッ サ LSI 自体をみると、専用計算機ではほとんどのトランジスタを演算器に使 える。しかし、汎用を目指す限り、 LSI 上のほとんどのトランジスタは演算 器以外の制御回路等に使わざるをえない。また、現在の汎用マイクロプロセッ サは、データベース、あるいは Windows 上のいろいろなアプリケーションや ゲーム等が主なターゲットであり、科学技術計算の高速化にはあまり大きな努 力が払われていない。

並列化した場合についても、 GRAPE では単純な通信パターンに専用化 した高速な通信網を使うことで高い性能を実現できるが、汎用計算機では多様 な通信パターンにソフトウェアで対応するために、どうしても応答速度が落ち る。応答速度については、専用ハードウェアで対応するのと汎用計算機のソフ トウェアでやるのとでは 100倍以上の差が簡単にでる。この差をアルゴリズム の工夫で埋めることはほとんど不可能である。専用計算機という方法論は、プ ロセッサレベルで高い価格性能比を実現するだけでなく、大規模な並列化をす る上でも極めて有効なのである。

天文学以外でも、重力多体問題と共通することが多い分子動力学計算では、東 大で開発された MD-GRAPE は商品化されてかなりの台数が出荷されたようであ る。またその後継の MDM の開発が理研の戎崎を中心とするグループで行な われており[4]、ゆっくりとではあるが専用計算機 という方法論は広がっていると思う。



Jun Makino
Sun Feb 27 12:36:03 JST 2000