next up previous
Next: 3 研究計画の概要 Up: 無題 Previous: 1 研究組織

2 研究の目的

この研究の目的は、粒子系に特化した次世代超並列計算機を開発し、汎用計算 機では不可能な規模のシミュレーションを可能にするとともに、その応用範囲 をさらに拡大することである。多粒子系の場合は、粒子間相互の計算に専用化 したプロセッサを作ることでコスト・パフォーマンスを大幅に向上させること ができることがわかっている。我々が1995年に完成させた GRAPE-4 [TMF+96], [MTES97]は、世界 で初めてテラフロップスの速度を達成した計算機となった。

本研究では、専用計算機でGRAPE-4 の性能を100倍以上向上させたサブペタフ ロップスの計算速度が達成可能であることを実証する。さらにその専用計算機 と、汎用の超並列計算機、さらにこの二つの中間に位置するFPGAを用いた再構 成可能論理を使った多目的計算機を組み合わせてヘテロジニアス・マルチコン ピュータを構築する。

以下に、汎用の高速計算機に比べた GRAPE-6 システムの位置づけと、高速が 実現できる理由を簡単にまとめる。図1に、過去20年間の計算 機の速度の進歩を示す。ベクトル並列型の速度は90年代に入って頭うちになっ ていること、その後の並列計算機の速度の進歩はおおむね一定速度(10年で100 倍)で進んできていることが見てとれる。GRAPEの速度の進歩はそれよりもか なり早い。

  
図 1: 計算機のピーク速度の進化。三角はベクトル/ベクトル並列型、四 角は超並列、黒丸はGRAPEである。2000年のGRAPEの点は GRAPE-6の目標性能で ある。

初期のGRAPEの速い立ち上がりは、投入予算の増大によるものもあるし、、製 造技術の進歩によるもの、いいかえれば、初期のGRAPEがその時点で最新の技 術を使っていなかったためという面もある。が、ごく初期を除いてはこれらの 影響はあまり大きくなく、性能向上は主に半導体技術の進歩に依存している。 それでは、同じ(あるいはより優れた)半導体技術を使っている汎用ベクトル 計算機や超並列計算機に比べて、 GRAPE がより高い性能を発揮でき、さらに その差が広がっていくのはどうしてであろうか?

なお、差が広がっているかどうかは、費用が示されていないので図 1からは明らかではないかもしれない。ここで数字をしめすと、 GRAPE-6 の予算は GRAPE-4の2倍強(5億程度)でしかない。これに対し、2000 年頃の最高速の汎用超並列計算機はいわゆるASCIプロジェクト、あるいは地球 シミュレータにより実現されるであろう。いずれにしても速度は 3--10 Tflops 程度、コストは 100億円以上と見込まれる。すなわち、価格性能比で GRAPE-6は汎用並列計算機の400ないし1000倍程度よいことになる。GRAPE-4で はこの比は100ないし200程度であったので、 GRAPE-6ではいっそう改善してい ることがわかる。

差が広がっていく本質的な理由は、汎用計算機では使っている半導体の面積の うち有効な計算に使える割合が次第に減少していくからである。 この状況は図2に示されている。

  
図 2: 代表的な高性能マイクロプロセッサの、サイクルタイム当たり実行 可能な浮動小数点演算の数

2は高性能マイクロプロセッサの、サイクルタイム当たり実行 可能な浮動小数点演算の数を示している。これを見ると、70年代から80年代中 頃にかけてまでの進歩は非常に速い。しかし、80年代後半に演算数が1を超え たころから、進歩が非常に遅くなっていることがわかる。実際、2000年頃まで に計画されているマイクロプロセッサで、同時実行する浮動小数点演算の数が 8を超えるものは存在しない。80年代と同じように進歩すれば100を超えるもの ができるはずである。トランジスタの数では10年間にほぼ100倍の進歩 が実現しているのである。

トランジスタの数は100倍になっているのに、演算器の数が数倍にしかならな い理由は2つある。一つは、それだけの数の演算器を有効に使うことが難しい ということである。現在のマイクロプロセッサで主流であるスーパースカラー のアプローチでは、既存のプログラムを使う限り、数個以上の演算器を有効に使 うことは困難であることがわかっている[Joh91]。

もちろん、並列度の高いアプリケーションでは、上の制限は問題にならない。 しかし、この場合には、実際の演算速度の上限はプロセッサとメモリの間の転 送バンド幅で決まってしまう[McC95]。 プロセッサとメモリの間 の転送速度をあげるのは、プロセッサ内部の演算速度を上げたりや演算器の数 を増やしたりするのに比べてはるかに困難である。というのは、半導体プロセ スを微細化するようにはチップ間配線は微細化できないし、また、転送周波数 を上げることも物理的サイズが大きいために難しいからである。その結果、 メモリとプロセッサ間のデータ転送速度は、過去20年の間にゆっくりとしか進 歩してこなかった。このために、演算器を増やすことに意味がなくなっている のである。

これに対する究極的な解決の方法は、例えば[PAC+97]とそこで引 用されているいくつかの論文で提案されている、いわゆる Processor in Memory (PIM) のアプローチであろう。これは要するにメモリとプロセッサを物理的に 1チップに集積するもので、それによって高いバンド幅を得ようというもので ある。しかし、この方法では、プロセッサ間の転送バンド幅は非常に限られ、 高い性能が得られるアプリケーションは現在の超並列計算機以上に制限される ことになろう。実際、例えば GRAPE-6が有効に使えるような多粒子系の問題で も、PIMを有効に使うためにはプロセッサ間通信が非現実的な程度に速いか、 あるいは特殊なトポロジーを持つ必要がある。

これに対し、 GRAPE では、メモリとプロセッサ間の転送速度を押えたままで、 プロセッサチップ内のほとんどのトランジスタを有効に演算に使うことができ る。これは、根本的には、対象とする物理系の性質、すなわち多数の粒子が長 距離相互作用によって影響しあい、しかも高精度の計算が必要であるというこ とによるものである。このために、データ量は粒子数に比例するのに対し、演 算量は粒子数の自乗に比例する。この性質をうまく生かしたアーキテクチャを 構成することで、汎用計算機に比べて進歩を速くできるのである。いいかえれ ば、専用計算機の相対的な優位性は、これから大きくなりこそすれ小さくなる ことはない。

すなわち、今後の計算科学研究の進展に対して、専用計算機のアプローチが果 たす役割はますます大きくなるものと考えられる。これは、汎用計算機に比べ た相対的な利益が大きくなっていくからである。このことを実証し、専用計算 機の開発の一つのモデルを提供することが、本研究の目標の一つである。

もう一つの目標は、FPGA を使った粒子系向け多用途計算機の構築である。 FPGAとは、内部回路を書き換え可能なLSIであると思ってよい。通常のカスタ ムLSIに比べると集積度で 、速度でもかなりのペナルティがあるが、 そのかわりに開発の初期コストがかからない、また、間違えても修正可能であ るといった、少数生産に向いた特長を持つ。このため、粒子系計算でも重力/ クーロン力計算ほどコストがかからない、そのかわり演算自体は複雑で多様性 がある相互作用に使うのに適していると考えられる。

FPGAを計算に使う試みは[BA96]を代表として非常に多数あるが、現 在までのところ、非常に限られた応用、例えば DNA のシーケンスマッチング などを除いてはさほどの成果は上げていない。これは、基本的にはこれまでは FPGAの集積度が小さかったことにもよる。もちろん、FPGAの集積度が上がると 同時に通常のマイクロプロセッサの集積度も上がるが、すでに述べたようにマ イクロプロセッサの性能は集積度に比例しては上がらない。このために、当面 はFPGAが相対的に有利になっていくのである。

現在のFPGAでも、まだ通常の浮動小数点演算を行なうのは困難である。しかし、 多くのアプリケーションで、すべての演算で同じ精度が必要なわけではない。 実際、 GRAPE のいくつかのものの場合には、演算パイプラインに位置により 演算精度を変化させることで回路規模をオーダーで小さくすることができてい る[IMES90], [MIE90]。 従って、同様な最適化を行なうこ とが可能なアプリケーションにおいては FPGA が汎用計算機に比べて有利になっ てきていると考えられる。このことを実証することが、 本研究の第二の目標である。



Jun Makino
Thu Jun 4 17:30:49 JST 1998