このページの本文へ

お山のスーパーコンピュータ

1999年11月26日 11時15分更新

  • この記事をはてなブックマークに追加
  • 本文印刷

 Linux山で最近ちょっと面白い事、というとスーパーコンピュータかな。スーパーコンピュータっていうと、何だか物凄く速いコンピュータが稲妻のように何もかも瞬間に処理してしまう……、そんな風に思っている人も多いのではないだろうか。筆者もそう。大学院に行っていた頃にも、学校のコンピュータセンタにはSX-3ベクトルプロセッサなんてのがあったけど、学生にとっては高嶺の花で、使ってみることはできなかった。その後、某実力宰相が疑獄事件を引き起こしたりして。なんだかんだ言ってもやっぱりスパコンて華々しいんだよね。

 でもやたらに速いコンピュータを作るのもいいが、最後の10%をスピードアップするのに、コストはうなぎ上りになるわけだ。一方問題を解きたいユーザーのほうも、コンピュータの速度なんかお構いなしに無理難題を次々と考案してくれる……その上光速の制限があり、コンピュータのクロック周波数は無限に上げられる訳ではないんだ。たとえば1GHzのクロック周波数はもう目前だけれど、こんなになると1クロックの間に光が進む距離はわずかに30cm。つまり30cm以内の領域に詰め込まないと同時性の確保など、いろいろ厄介な問題が発生する。その上詰め込むと熱の発散も悪くなってしまう。

 そこで考えたのが並列化。遅いコンピュータを多数用意して、それを束ねて速く出来ないか、ということは誰しもが考えることだ。LinuxはKernel 2.2以上だとSMP(Symmetrical Multi Processor)をサポートしていて、2CPUを使うことができる。LASER5 Linux6.0やRed Hat Linux、Turbo LinuxでもSMPは即使える。チップセットを選択すれば4CPUまで、Kernel 2.3では事実上8CPUまでいける。

 じゃあそれ以上は? という場合にはPVM(Pallarel Virtual Machine)、あるいはMPIという方式がある。どちらも複数のマシンを束ねて、遠くから見ると1台のマシンに見える、というものだ。仮に、とても大きくて複雑な問題があったとする。それを上手に分割して、それぞれのコンピュータで計算する。最後に合計をとれば終わり、というわけだ。結局かなり大きな問題でも、ある項の計算結果が他の項に及ばない(線形って言うんでしたっけ? ^^;)ような問題では簡単に分割ができるので、プロセッサ数を増やせば際限なく速くなるわけです。

 各計算ノードのOSは当然Linux。何しろ何千台のPCにインストールしても無料だし。それに某NTのように落ちやすくないし。1000台ものPCに落ちやすいOSをインストールしておくのって、けっこう悪夢だと思います。計算している時間より、リブートのためにマシンの間を掛け回っている時間のほうが長かったりして(苦笑)。こういうタイプスーパーコンピューティングを進める、Beowulfというオープンソースプロジェクトがあります。“Beowulf”というのはケルトの最も古い叙事詩の主人公の英雄で、龍を退治したそうです。

 極端なことを言うとキュッキュッパ(9万9800円)のパソコンだって、1000台もかき集めれば処理能力は1000倍に……。仮にあるCPUの500MHz版を搭載していたとします。浮動少数点演算を1クロックで4回やったとすると、2GFLOPS。これを1000倍すると2000GFLOPS、つまり2TFLOPS。^^;「て、てらふろっぷすぅ~~?」それってスパコン世界記録ベスト10に入るかもしれないですね……でも部品代は1億円……そのクラスのスパコンって、だいたい100億円ぐらいはするので……まぁ実際には、ほかにもいろいろな装置が必要だったり、プログラミングや各種設定が必要だったり、さらに1番たいへんなのが上手な問題の分割法で、そう簡単ではありませんが原理的には充分可能性があるわけです。

 なんと言ってもアキバで買える部品だけで、これまで工学の最高峰と考えられてきたスパコンが作れるなんて愉快だと思いませんか? かくしてアキバの某L社内でも龍退治の英雄Beowulfにちなんで、妖怪土蜘蛛退治で名高い源頼光の名前を貰って「RAIKOU」なるスパコンまがいを製造中。これがやっぱり滅法速い。5CPUで仮に速度を測ってみると、CPU単騎に比べて、なんと475%もパワーアップ! そこで現在せっせと42UのラックにCPUを詰め込み中であります^^;。これは某大学に納品するんだけど、完成したら試運転で、πでも4000万桁ぐらい計算してみっか……等々、妄想を抱きながらやるのがメチャクチャ楽しいわけであります。開発チームは数学者、天才的でちょっと怪しい高校生、フツーのサラリーマン、民間企業の研究者、M79星雲出身の宇宙人、ぺんぎん、あひる、バンビなど、非常に多彩な顔ぶれですが、みんなたいへん熱心にかつ楽しみながら仕事をしております。

 でも究極の並列コンピュータって、やっぱり人間の脳でしょう。何しろクロック周波数ときた日にゃたったの55Hz……今のシリコンチップと比較すると1000万分の1。新幹線と比較した時計の針より遅いです。ところが、恋人の表情から気持ちを読み取るに要する時間は、わずかに0.3秒ぐらいですよね。これってメチャクチャ速くないですか? 人間の表情を判別するなんて今のコンピュータには最悪な難題で、スパコンだってものすごく時間がかかるんじゃないかな。でも人間の脳細胞がCPUだとすると、クロックは遅くても並列化がハンパじゃありません。なんと平均1500億個の脳細胞、つまりCPUが並列化されてるわけですね。現在世界最大の並列コンピュータはインテルのパラゴンで、CPUは9000個以上だけど、それでも人の脳の1500万分の1……どうりで処理が速いわけだ^^;。

 米国では、原爆の開発で悪名の高いLos Alamos研究所のAvalonが、これまでは有名でした。でも、ついこの間、米国大気海洋省では17億円のAlpha-AXPのBeowulf型Linuxクラスタを発注。どうもこいつは世界最高速を狙っているらしいし、日本でも超並列計算研究会でLinux等を使用したクラスタの話題が出ているし、ほかにも研究会をやろうという動きもあり、手軽な「カジュアル・スーパーコンピューティング」ということで人気急上昇中です。

 何しろ昔と比べると10倍から30倍も安いLinuxベースのクラスタースパコン、御社の研究部門でも1台いかが?

(窪田敏之)

窪田敏之/くぼた としゆき

プロフィール
'84年東北大学歯学部卒。その後、東京医科歯科大学博士号取得。大学院在学中、五橋研究所を設立する。'93年CD-ROM Shop Laser5を設立。国内初のLinuxパッケージを発売する。'95年、Laser5出版局から、国内初のLinux専門誌「LinuxJapan」を創刊。現在、五橋研究所取締役社長。

カテゴリートップへ