2010年01月08日

スーパーコンピュータが速いわけ

本を書いていて、調べ始めた。

もともと学生時代から興味があったので、少しだけかじったことがある。

クレイ社が世界一高価なイスと言われたCray-1を作ったのが1976年だから・・・小6の頃。
Cray X-MP/4が出たのが83年で大学1年生。
450px-EPFL_CRAY-I_1.jpg

物理学を学ぶものとしては、その計算能力と、それらが作り出した「計算物理学」の世界はなんだか結構衝撃だった。

方程式がキレイに解けなくても、計算でムリヤリ解いてしまえ!
と言いながらその裏では、エレガントな計算方法がそれを支えていたりする。

ハードウェアも斬新だった。パイプライン処理や並列化。
創造的な手法がどんどん投入されていった。

いまやそれらはワンチップに収められ、一個数万円で手に入る。
・Cray X-MP/4   0.9GFLOPS 1500万ドル
・Intel Xexon     40GFLOPS   200ドル

これはLINPACKベンチマークによる性能測定値だが、現代のCPUチップは、当時世界最速だったCrayの45倍速く、価格は7万分の1ということだ。

恐ろしい・・・

それはともかく。
現代のスーパーコンピューティングの鍵は、超並列化と分散処理だ。

現在世界最速は昨年末出たCrayのJaguarだが、それまではIBMのRoadrunnerだった。
価格は100億円。
でもそこで使われていたCPUは、PS3に入っているCellと、AMD製のOpteron。
どちらも数万円で手に入る。

これを数千個並列で動かす技術が超並列化だ。

1000個の数字を足し算するとして、電卓をもった人が1人で黙々とやれば、999回足すことになる。でも、500人が並んで2つずつ足せば、10回 しかかからない。
約100倍のスピードだ。


そしてもう一つの技術が分散処理。
似た技術だが、もっと多くのCPUに処理をばらまく。例えば家でお暇にしているパソコンにも。

宇宙からの電波をみんなで解析しようというSETI@homeプログラムでは、世界中のパソコンの空き時間を提供してもらうことで(つまりタダで)、700TFLOPSというとてつもない計算能力を実現している。

これはRoadrunner級の性能だ。世の中、いろいろ考えるもんだねえ。


さて、これがどう本に繋がるのか・・・
お楽しみに。