トップ » バックナンバー » Vol.7-8 » 世界最高速のコンピュータを作る

Accumu Vol.7-8

世界最高速のコンピュータを作る

杉本 大一郎

完成したテラ・フロップス計算機

写真1 私たちの研究室で作った,超高速多体問題専用計算機GRAPE-4
写真1 私たちの研究室で作った,超高速多体問題専用計算機GRAPE-4

昨年(1995年)7月,私の研究室は世界最高速のコンピュータを完成したと発表しました(写真1)。科学計算用のコンピュータの速度は,1秒間に何回の浮動小数点演算を実行するかという単位,すなわち,フロップスという単位で表します。私たちのものは,1080ギガ・フロップス(=1.08テラ・フロップス),すなわち,1秒間に10億8千万回の演算をするというわけです。一般に市販されているスーパーコンピュータで最高速クラスのものが30ギガ・フロップス程度であるのに比べると,その30倍を超える速さです。

多数のプロセッサを並列に接続して計算させる超並列の計算機で,300ギガ・フロップス程度のものは他にもないわけではありません。例えば,1996年6月23日の朝日新聞は,「米紙ニューヨーク・タイムスが米エネルギー省のオークリッジ国立研究所の報告として伝えたところによると,日立製作所製のSR2201が現在世界で最も演算処理が速いスーパーコンピュータとなった」と報じています。その速度は220ギガ・フロップスです。日本の計算機に関するニュースがニューヨーク発で伝えられるのは奇妙に思うかもしれません。実は,これは,筑波大学が開発したと,その1ヵ月ほど前に日本の新聞で報道された機械と,名前は違っても基本的には同じものだからです。他のメーカーも注文さえあれば1000ギガ・フロップスの計算機を作ることができると言っていますが,実際に1000ギガ・フロップスを超える速度で計算して見せたのは,私たちが最初ということになりました。しかも,1年前のことです。

私たちがこの計算機を作るにあたって使った経費は,文部省から特別推進研究という名の科学研究費として頂いたもので,製作に直接にかかったのは1億5千万円でした。私たちは,他の例とは違って,まったくメーカーのサポートなしに作りました。そのコスト・パーフォーマンスはメーカーから同等の計算機を購入するとした場合に比べて,数百倍良いと思っています。

現在,この計算機は,宇宙の中で起こるいろいろな現象のシミュレーションに使っています。また,その延長として100万ギガ・フロップス(=1000テラ・フロップス=1ペタ・フロップス)の速度まで拡張することを,アメリカやイギリスの研究者仲間からせかされています。そのために必要な予算は15億円程度と見積もっていますが,もしこれが2000年に実現すると,企業や政府が作る計算機の計画に比べて,15年も早く,ペタ・フロップス計算が実現することになります。

高速なのは専用計算機だから

写真2 銀河,アンドロメダ大星雲。このような天体を星に分解して計算する(大阪教育大学天文台提供)
写真2 銀河,アンドロメダ大星雲。
このような天体を星に分解して計算する
(大阪教育大学天文台提供)

どうして,そんなにうまい話になるのでしょう。それには,もちろん,種と仕掛けがあります。私たちは計算機の目的を,宇宙で起こっている現象の多体問題に限定したからです。宇宙にはたくさんの星があります。それらの星は,ばらばらに存在しているのではありません。球状星団は,10万個とか100万個の星が丸く密集しています。それらは,同時に生まれた星なのです。アンドロメダ大星雲(写真2)は,1000億個ほどの星が渦巻いて見える,銀河と呼ばれる天体です。宇宙にはそのような銀河が1000億個ほどありますが,私たちの太陽系もそのような銀河の一つである天の川銀河の渦巻いた円盤の中にあり,円盤の中心の周りを2億年の周期で公転しています。銀河の円盤に沿った方向に空を見ると,多くの星が見えることになりますが,それが天の川というわけです。

それらの星団や銀河の中の星ぼしは互いに重力(万有引力)で引き合い,その影響のもとで運動しています。銀河や星団の中の星の分布はそのようにして決まっているわけです。また,銀河もばらばらに存在しているのではなく,銀河団という集まりになっていますが,銀河が密集しているところでは,銀河どうしが衝突したりして,変な形の銀河が生まれます。私たちの専用計算機は,おもに,そのような現象のシミュレーションをするために作りました。

写真3 専用LSI 8個を搭載した多重チップ・モジュール(MCM)。GRAPE-4は,これを6個搭載したボードを32枚接続して構成されている
写真3 専用LSI 8個を搭載した多重チップ・モジュール
(MCM)。GRAPE-4は,これを6個搭載したボードを
32枚接続して構成されている

私たちの専用計算機は,それらの多くの星ぼしの間に作用する力を計算し,それを足し合わせるものです。その計算は,パイプライン方式で行います。つまり,数値を加工していく,流れ作業のベルト・コンベヤーのようなものです。そのためのLSIチップは,自分で設計しました(写真3)。このチップは,gravity(重力)をpipeline方式で計算するというもので,GRAPE(グレープ)と名づけました。昨年完成したのはGRAPE-4号機というわけです。実際の問題を解く計算では,重力のほかに,系(システム)の時間発展を計算しなければなりません。そこで,GRAPEは,ふつうの計算機またはワークステーションをホスト計算機として,それに接続して使われます。重力計算以外のことは,すべてホスト計算機に任せます。逆にホスト計算機から見ると,GRAPEは重力を計算するサブルーチンないしは,計算加速器に相当するわけです。

このような役割分担が良いのは,次のような理由からです。例えば,1万個の星からなるシステムを計算するとしましょう。すると星と星の間に働く重力は,2個の星の組合せの数だけ,すなわち1億個も計算しなければなりません。それに対し,個々の星がその重力を受けて運動する様子は,星の数だけ,すなわち1万個だけ計算すればよいわけです。そこで,前者をGRAPEにやらせ,後者をホストにやらせることにすると,ホストはGRAPEに比べて1万倍遅いものでもよいことになります。逆に,ホストに比べて1万倍速いGRAPEを作っておけば,ホスト単独でやるのに比べて1万倍速い計算ができることになります。その比は,星の数が多いものを計算する場合には,それに比例して大きくなります。一般的に言うと,計算量は多いが計算式の単純な部分は専用機を作ってそのハードウェアに計算させ,フログラムは複雑だが計算量の少ない部分は既成のコンピュータにやらせるということです。私たちはこれをGRAPE方式と名づけました。

計算機の二つのタイプ

このように話してくると,「GRAPE方式は効率は良いかもしれないが,用途が限定されていて,他の問題には使えない」と言われるでしょう。確かにその通りですが,この点に関して二つのことを述べなければなりません。一つは,「限定されているとは言っても,その範囲内でも,(計算機をわざわざ作ってもよいほど)十分広い多くの応用がある」ということです。もう一つは,「計算機には二つの異なった性格のものが必要である」ということです。

まず第一の点については,GRAPE方式は,多くの粒子からなるシステムだと,いろいろな問題に適用できるということです。典型的なのは,分子動力学といって,分子の中の原子や電子の運動を計算し,分子の性質を調べる問題です。特に向いている例として,タンパク質の立体構造を計算する問題があります。生物はタンパク質で出来ていますが,個々のタンパク質は,アミノ酸とよばれる分子が鎖状につながって出来ています。一つのタンパク質分子を構成している電子やイオンの数は,少なくとも数万です。そして,その鎖が丸まって,ある立体的な形になっているのです。その中で,ある特定の部位が,いわば鍵穴になって,ちょうどそこにぴったりと合う形をした別のタンパク質を認識します。生命のタンパク質の鍵穴に結合しようとするウイルスに対して,薬のタンパク質が先に鍵穴を塞いでしまうという薬品会社の広告は,テレビでしばしば目にするところです。

こうして,分子動力学は,生命現象の理解から,将来は医薬品の設計,さらにナノ・マシン(ナノ・メートル,すなわち10億分の1メートルの機械)の設計まで関係するようになることでしょう。私たちは,そのような分子動力学を計算するための専用LSIチップも設計・製作しました。GRAPE方式では限定された問題しか扱えないが,その範囲内だけでも十分広い用途を開拓出来そうです。

第二の点について述べましょう。上に述べた科学・技術計算のようなものは,計算すべき問題がはっきり定式化できるタイプのもので,必要なのは特別に速い計算スピードです。これは計算機を専用化することによって効率よく達成できる場合があることを,すでに述べました。もう一つのタイプは,必ずしも定式化出来なかったり,計算手順(アルゴリズム)を定式化できても計算量が爆発的に大きくなる問題です。人間の行動,判断,映像の認識などはそのようなものです。科学・技術でも,まだどのように考えればよいかが手探りの段階にある問題は,そのようなものの一つに数えられるとも言えます。このような問題に対しては,どのような計算でもこなせるという,計算機が本来持っている性質が本質的に重要です。さらに,定式化できない問題については,コンピュータ自身が学習していく,ニューロ・コンピュータのようなものが必要になります。これらの目標は,人間の脳がやっているようなことが出来るようになることです。

こうして,第一と第二のタイプの計算機は共存し,互いに補い合うものなのです。第二のタイプの場合,その計算プロセスの中に単純だが計算量の多い部分があると,そこだけ第一のタイプを取り込むことも出来るでしょう。

共存・共栄です。もっとも,ここでは,第二のタイプの計算機について,具体的な話はしませんでした。世間では,マルチメディア,マン・マシン・インターフェイス,脳の役割をするコンピュータなど,第二のタイプに関係する話が花盛りだから,ここでは,それとは違う側面についても注意を向けてもらおうとしたからです。

この著者の他の記事を読む
杉本 大一郎
Daiichiro Sugimoto
  • 東京大学大学院広域科学専攻教授
  • 京都大学理学博士
  • 日本天文学会理事長
  • 日本学術会議会員

上記の肩書・経歴等はアキューム7・8号発刊当時のものです。