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

2 研究の目的

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

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

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

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

GRAPE の性能の急速な向上には、もちろん投入予算の増大もある程度の寄与が ある。しかし、それよりも相対的な価格性能比の向上が果たした役割が大き い。具体的には、 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を超え たころから、進歩が非常に遅くなっていることがわかる。トランジスタの数で は10年間にほぼ100倍の進歩が実現しているのに、演算器の数は数倍にしかなっ ていないのである。

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

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

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

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

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

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

自己重力系、プラズマ物理、分子動力学シミュレーションなどでは、ミクロレ ベルで粒子として表現されている、あるいは遠隔相互作用が卓越するといった 理由で従来から粒子モデルが主に用いられてきた。これに対し、連続体を扱う 構造計算や流体計算では、従来は、構造格子による差分法、あるいは非構造格 子による有限要素法が主な解析手段であった。しかしながら、これらの分野に おいても、近年粒子的アプローチを使った計算法(メッシュレス法、エレメン ト・フリー法など様々な名称がある)が注目されている。これは、複雑な境界 条件(移動、変形するものを含む)の実現が容易であること、並列化もそれほ ど複雑ではないことによるもののようである。

そのような利点があるものの、格子を使った方法に比べて粒子法では本質的に 計算量が多くなる。この計算量の増大に対して、FPGA を使った粒子系向け多 用途計算機は極めて有効な解決策になると期待できる。

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

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



Jun Makino
Wed Dec 22 13:10:37 JST 1999