6月にNWTに代わってTop500の1位になったのは、東京大学に納入された日立の「SR2201」である。そして1996年11月には、筑波大学/日立の「CP-PACS」がTop500の1位になった。

SR2201は3次元ハイパークロスバでノードを接続

SR2201は次の図に示す3次元の「Hyper Crossbar」というネットワークを使っていた。2048ノードのSR2201の場合、これを8×17×16の3次元ネットワークで接続している。2048ノードであればY軸は16で良いのであるが、17番目のプレーンは、ハードディスクやI/Oなどを接続するために使われている。

このHyper Crossbarは、X軸は8入力のフルクロスバ、Y軸は17入力のフルクロスバ、Z軸は16入力のフルクロスバであり、全ノードを任意に接続できる2176入力のフルクロスバと比べると、ずっと少ない物量で作ることができる。

一方、任意のノード間の通信にはX、Y、Zと3つの小規模なフルクロスバを経由する必要があり、その分、通信時間がかかる。なお、東大に設置されたSR2201は1024ノードであり、この例の半分の規模であった。

しかし、数1000ノードを接続する低遅延のフルクロスバを作ることは現実的ではないので、多段のクロスバはある意味最適解で、比較するとすれば、1ノードの計算能力を引き上げてノード数を減らし、1段のフルクロスバで接続するというアプローチとの比較となる。

三好先生は強力ノードで単段クロスバを好まれ、地球シミュレータはその思想で作られたが、このアプローチはスケーラブルではなく、どうするのが良かったのかは判断が難しい。

  • SR2201

    SR2201の3次元Hyper Crossbarネットワークの構造 (出典:筑波大学)

Top500で1位を獲得したSR2201の実行性能は220.4GFlops

HARP-1E CPUのクロックは150MHzで、各プロセサは2個の浮動小数点演算器を備えており、ピークで300MFlopsを超す性能を持っている。これで東大のSR2201は1024ノードでLinpackの実行性能として220.4GFlopsを出しているのであるから、ピーク性能(307.2GFlops)のおよそ71.7%を出していることになる。

ただし、演算効率はどのような問題を解くかによって変わり、メモリアクセスの比率によっても変わる。このため、NALの三好先生からは、飛行機の流体解析を行うにはフルクロスバが良く、3次元クロスバは好ましくない、HARP-1Eのような低性能のコアをたくさん置くより、少ない個数の強力なコアを使う方が良いなどの厳しい意見を貰っていたという。

これはSeymour Crayの言う、畑を耕す鋤を引かせるのに、一匹の屈強な雄牛と、1000匹の鶏のどちらが良いかと同じ話であるが、ムーアの法則がスローダウンし、雄牛をより強力にする手が無くなり、1000羽の鶏、さらには100万羽の鶏を使わなければならなくなっている今日では、日立のSR2201の方が先見の明があったとも言える。

  • SR2201

    東京大学に設置された1024ノードのSR2201システム (出典:Top500)

(次回は5月22日に掲載します)

2020年6月12日訂正:記事初出時、プロセッサの名称を「HAPR-1E」と表記しておりましたが、正しくは「HARP-1E」となりますので、当該部分を訂正させていただきました。ご迷惑をお掛けした読者の皆様、ならびに関係各位に深くお詫び申し上げます。