並列化するコンピュータ

昨今、最新 CPU の動作速度はうなぎ登りに速くなっている。 500 MHzの壁が突破されたのはついこの前のような気もするが、いまや 700 MHz、733 MHz … といった具合いでその勢いは加速するばかり。 このままいけば、1GHz の大台に乗るのも時間の問題だろう。

ところで計算の処理速度を上げるには、CPU の高速化とは別にもうひとつのアプローチがある。 それは CPU 自体の数を増やし、同時並行で処理を片付けてしまおう、という方法だ。

身近になった並列コンピュータ

ひとむかし前までは高嶺の花だった並列コンピュータだが、CPU をふたつ積んだ SMP マシン(= Synmetric Multi Processor, 対称型マルチプロセッサ) くらいであれば比較的低価格で入手することができるようになった。 インテルの廉価版 CPU Celeron も、 ちょっとした改造を施せばデュアル CPU マシンに利用できる、 と情報が飛び交ったことも記憶に新しい。

Windows NT や Linux、Be OS といった最近のオペレーティングシステムはこれらの SMP マシンをサポートしており、PC ユーザがマルチプロセッサ環境を簡単に利用できるようになったこともブームの一因を担ったといえよう。 来年リリース予定の Windows 2000 (Advanced Server) も、8プロセッサまでの SMP をサポートするそうだ。 SMP マシンは、とくにサーバ分野からのラブコールが熱い。

並列計算機動向

ところで並列コンピュータといえば、やはりスーパーコンピュータの話題に触れぬわけにはいかない。 ここでひとつ、興味深い Web サイトを紹介しよう。 独マンハイム大学と米テネシー大学が提供している TOP500 という Web サイトがある。このサイトは、世界中で動いているスパコンの性能くらべをして上位500をリストアップするサイトだ。 現在(1999年11月の時点で第14回)最上位に挙げられているコンピュータは9632個もの計算ノード(※1)を持つ、というから恐れ入る。

ところが、やや古い記事ながら弊社の「Technology Today」 1998.10.23日号、「スパコン近況」で触れられているとおり、スパコンの将来はけして明るいものではない。

最先端の半導体技術、実装技術、ソフトウェア技術が要求されるにもかかわらず、 量産効果が期待できないため莫大な開発費用をどう回収するかとか、 一から設計しなければならないものが多く製品出荷まで多大な時間がかかるなど、 スーパーコンピュータは製品開発上の難しい問題を抱えている。 その他にも、市場規模がそれほど大きくはなかったり、その一方では戦略物資として扱われるため政治的な要因を無視できないなどの不利もある。

PCクラスタって何だ

そういった状況を背景として、最近脚光を浴びるようになった技術がPCクラスタだ。 平たくいうと、PCクラスタとは 「安いパソコンをいっぱい集めてきて、ひとつの並列コンピュータとしてしまおう」 との考えで結合されたPCの集合体のことである。

数年前からPCクラスタ関係の研究を進めてきた新情報処理開発機構 (RWCP)の並列分散システムソフトウェアつくば研究室では、128台の普通のPCを接続して大規模並列コンピュータに匹敵する性能のPCクラスタを作り上げた。 CPU 間の通信性能を稼ぐために Myrynet というやや特殊なネットワーク装置を利用している以外は、200 MHz の Pentium PRO を使った平凡なPCの寄せ集めにすぎない。 また最近、アスキーの「日刊アスキー Linux」では、 青山学院大学で69台の Linux マシンをクラスタとして利用しているケース も紹介された。

このふたつの例は、比較的大規模なPCクラスタのうち、ハイエンドとローエンドを代表するものだ。 といってもハイエンドのものですらスパコンと比べて遥かに安く、かつローエンドといえど性能も何桁も劣るものではない。 費用対効果を考えるとずいぶんおトクな並列コンピュータといえる。

ロバストな並列環境

PCを並列に接続して使うときに、気をつけたい重要なことがある。 それは、ひとつひとつのシステムが安定して動いていなければならない、ということだ。 例えば、100回に1回の確率でクラッシュするような OS を採用してしまったとしよう。 そうすると、100台の PC から構成されるシステムのどこかしらが次の瞬間に動かなくなっている確率は、なんと68%にも上ってしまうのだ。

RWCP のPCクラスタも、個々のノードの OS は Linux を採用している。 しかしPCクラスタを作り上げた研究者によると、それでも落ちる、という。 PCクラスタを構成するためにはより頑丈な OS が求められるようだ。 また一方で、ひとつふたつ壊れていても大丈夫であるような、 さながら動物の細胞のような考え方の大規模PCクラスタ、 といったアプローチもあるだろう。 いずれにせよ、目が離せない技術分野のひとつであることは間違いなさそうだ。

※1 計算ノードとは、CPU に相当するものと考えてかまわない。