ヒタヒタと迫る足音(地球シミュレータの5連覇を祝う編)   

2004年6月28日




☆スパコンは難解さもひと味違う   
さて、前回の予告では電源ネタを続ける予定だったが、 4回連続なのも何なので違うネタを振る事にした。 なぜならば、旨い具合にTOP500が更新されたからだ。 いや、正直言うと、コンデンサ追加実験がうまく行っていないのも理由だけど... (^^;)

TOP500では世界最速を競うスーパーコンピュータのランキングを 掲載している。更新は半年に1回で、つい最近リストが更新されたばかりなので ネタが新鮮な内に感想を書いてみたい。

実は、地球シミュレータネタ掲載以降このネタに関してだけは 続編の希望が多かった。 スパコンネタというのは、当サイトで読者から続編の掲載を リクエストされた回数がダントツに多いネタだ。 また、地球シミュレータ見学会以降本人自身もスパコンには非常に興味がわいていて、 折に触れてスパコン記事を探しては読みふけっている。 つまり読者も周囲も本人も興味津々のネタなのである。

しかし、これだけ美味しいネタであるにもかかわらず、 「プロの世界を垣間見た男」シリーズ以降、 スパコンネタの掲載はしてない。

理由ははっきりしている。 スーパーコンピュータというのは パソコンと違って中身のレベルもスーパーなんで、 たるさんのようなシロウトの手には余るネタというのが本音だ。 特にベクトル機に言える事なのだが、チェインニングやら何やら、 パソコン本に書いてあるのとは違った種類の技術が多いのだ。 要するに一言で言うとパソコンとは異質な技術なのである。 (PCクラスタだけなら話が早いのだが...)

ベクトル機が異質とは言っても、過去の地球シミュレータネタにおいては 当サイトにしては珍しくまともな記事が書けている。 しかし、難解なネタでそれができたのにはもちろん理由がある。 地球シミュレータ開発関係者に直接お話を聞く事ができた というのが最大の理由で、大サービス4時間集中講義の後では、 間抜けなたるさんと言えど一時的に能力+20%アップ位にはなっていたハズだ。

しかし今回は集中講義無しなので、素のままの知力で考えなければならない。 空っぽの脳みそを絞りに絞って考えなければならないわけである。

☆スパコン勉強本の珍事。   
というわけで、スパコンの教科書本を購入して、柄にもなく真面目に 勉強してみようと思ったわけだが、このときちょっとした珍事が発生した。

普通ならば、秋葉原のついでに神保町(神田)の本屋街に行って 教科書本を探すわけだが、仕事の都合で時間がなかったので ama○○○.comで探す事にした。 このサイトは大型店舗でしか売っていない専門書を地方の人間が探すのには 非常に好都合なのだ。

で、和書のコーナーで「スーパーコンピュータ」というキーワード で検索をかけた訳だが、これがもう大爆笑の連続だ。

まず1位で検索されたのが「ラグナロクオンライン公式ガイド2004SUMMER」。 (ただし、当記事のアップ時に再検索をかけたら 1位は「リネージュ II ビギナーズガイド -旅立ちの書-」になっていた。 順位変動は激しいらしい。)

これはSFファンタジー系のRPGゲーム攻略本か??? 
なぜこれが、検索語彙「スーパーコンピュータ」で引っかかるんだ??? 

たぶん「売れている順」で検索されるのが悪いのだろう。 「売れていない順」ってのがあればまともなのが引っかかるのだろうが、 そんな検索はできない。 それとも最近流行のHPCという用語で検索すべきだったのだろうか?

いや、まだこれはマシな方だ。 SFファンタジー系ならば「勇者がスーパーコンピュータに支配された世界から 人々を解放する。」なんて話があってもおかしくはないかもしれない。

で、順位を追ってゆくと11位に 「ときめきメモリアルGirl's Side 公式ガイド完全版」。

わははは〜。

いや〜、おなかが痛くなるまで笑ったのは何年ぶりだろうか?  見事に笑いのツボを突かれました。(^^;)

実は、たるさんはこのとき朝昼兼用でメシを食べてながら検索していて、 間の悪い事にメニューは卵かけご飯であった。 モニタ画面にご飯粒が飛び散るは、キーボードに飛び散るは(しかも生卵入りで...) 、ひどい目にあった。

モニタはともかく、キーボードのキーの間に入り込んだご飯粒は逆さにした位では 取れないんだな。生卵の粘着力は意外に強いんだ。

ホント掃除が大変だったが、冗談よしてよama○○○.com。 まっ、タダでこれだけ笑わせて頂いたんだから良しとするか?

☆地球シミュレータの5連覇を祝う   
いきなり与太ネタから入ってしまったが、今回のTOP500は非常に興味深い。

まずは、我らが地球シミュレータの順位はどうなっただろうか?

以前書いたが、地球シミュレータ開発に関わったプロからは TOP500では4期2年を予想して頂いている。 (たるさん自身の予想は3期1年半で、これはすでにクリアしている。) つまり、今回はプロですらさすがに危ないと見ている時期だ。

今回も世界の頂点に君臨するのは地球シミュレータである。
未だダントツの1位で、5連覇の偉業を達成。

しかし、地球シミュレータはまだまだ底力を見せてくれた。 2位のThuderに対し+80%近い性能差を見せつけてくれたのである。

下図を見て頂きたい。これはTOP500上位50機種の理論ピーク性能(Rpeak)と LINPACKベンチマークでの実効性能(Rmax)を散布図にプロットしたものだ。 (引用元: http://www.top500.org/list/2004/06/)

上位50台の理論ピーク性能と実効性能
LINPACKベンチマークの結果に基づいている。

この図を見れば一目瞭然なのであるが、 地球シミュレータの性能は未だダントツである。

報道では「差が縮まりつつある。」とのニュアンスの記事が多いが、 それは時間の経過と共に対抗機種が登場し差が縮まる、 という当たり前の事を言っているに過ぎない。 登場当時は2位に約5倍の差をつけた圧勝だったので、 一見するとそう見えるのもわからない訳ではない。

しかし、この散布図を見て能力差が通常はどの程度かを考えて頂こう。 2位以降での各機種間の性能差と1位〜2位間の性能差の違いを見れば、2年という歳月を感じさせない性能を維持していることがわかる。 (当たり前の事ではあるが、地球シミュレータ側で能力増強をしない限り、 時の経過と共に差が拡大するなんて事は絶対に無い。 前回より時間が経過している以上、性能差が少なくなるのは当たり前だ。)

前回2位ASCI Qから今回2位Thunderへの追い上げでどれ位ギャップが縮まったか、 今回2位Thunderと地球シミュレータの性能ギャップがどれ位残っているか、 の2点を見比べてみて欲しい。

追い上げられているどころか、「このままの追い上げペースでは 何時になったら追いつけるのだ...」と、アメリカ側に 焦燥を感じさせるほどのポジションとは見えないだろうか?  5連覇の実力はダテではないのである。

☆ベクトル機は数的には低調   
それ以外の傾向はどうだろうか?

まず、上位50位のうち日本製はたった5台で、層の薄さが気にかかる。 姫野ベンチで有名な姫野先生は、日本の開発の現状を 「地球シミュレータにおんぶにだっこ。」と表現されたが、まさにその通りの状況だ。

日本のスパコン界は頂点こそ高いが裾野の広がりが薄く、「地球シミュレータが 世界最速」とはいっても足腰の弱いやせっぽちな巨人である。 この点では、頂点こそ日本に譲っているもののアメリカの圧倒的な懐の深さは さすがだと考えるべきなんだろうな。

あとは、ベクトルパラレル機衰退の流れには歯止めがかかっていないようだ。 図中の赤色のプロットがベクトルパラレル機、 紺色がスカラパラレル機である。 見ての通り残念ながらベクトル機は数的には非常に低調だ。

上位50位以内にはベクトル機は3機種しかない。 地球シミュレータ以外ではCray X1が2機種のみ。 それもかなり低位である。

性能面ではダントツの性能を見せつけて登場した地球シミュレータではあるが、 横への広がりという面では残念ながら影響力を及ぼせないでいるようだ。 ベクトル機の優秀性は地球シミュレータによって実証されたにもかかわらず、 ベクトル機が数的に拡大する傾向は残念ながら見られない。

増えているのはPCクラスタである。

PCと言ってもBigMacの様にパソコンが並んでいる機種は少ないと思われ、 実体はブレードサーバー・クラスタとも言うべき構成がトレンドだが、 価格が安いというPCの性質を受け継いでいるおかげで、 開発への参入障壁が非常に低いのが特徴である。

当サイトでは以前、ベクトルパラレル機はスカラパラレル機に比べて決して高くなく、 逆に能力向上が価格高騰を上回るため、コストパフォーマンスでは 逆に優れている事を示した事がある。

だが、同じスカラパラレル方式でもPCクラスタはさすがに別格で、 コスト面ではベクトル機はかなわない。 例えば、今回2位に入ったThunderは建造費2000万ドルであり、 原稿執筆時の為替レートで計算すると21億6千万円である。

また、値段が安い事はノード数を増やして力技に訴える事が 容易である事を示している。 コモディティーのコストパフォーマンスを物量作戦で生かそうという戦略だ。

たるさん自身は今までは「この物量戦略はいずれ行き詰まる。」 と見てきたわけだが、その理由と、 ちょっとおもしろい傾向が見え隠れし始めた現状について考えてみたい。

☆いずれ行き詰まる物量作戦   
まずは、スカラパラレル機の物量作戦はいずれ行き詰まる とたるさんが考えている根拠を示してみよう。

下図は上位50機種の実効性能とLINPACKにおける実効効率を 散布図にプロットしたものだ。スカラパラレル機の内、 比較的効率優秀な機種を結んだトレンドラインを考えて、 地球シミュレータと同じRmaxになる頃の効率を予想して頂きたい。

加速の付いた右肩下がりのラインで奈落の底に落ちてゆく事が、 図からおわかりいただける事だろう。 地球シミュレータに追いつく頃の効率は... スカラパラレル派の方々は 「見なかった事にしよう。」と思っているのでは無かろうか? 1)

上位50台の実効性能と演算効率
最新のLinpackベンチマーク結果に基づいている。

で、物量作戦に訴えると言う事は当然この図の右側に移行していく事を意味する 訳だが、そのときの実効効率で設計する事が何を意味するのか...

この分布の上側の効率良好な機種を選んでトレンドラインを引いたとしても、 地球シミュレータと同じ実効性能に到達する頃には甘めに見ても せいぜい10〜20%の効率しか得られない事がおわかりいただけると思う。

つまり、地球シミュレータにスカラパラレル機で勝つためには、 理論ピーク性能は180〜360TFLOPSの性能が必要になるという計算である。 (地球シミュレータの理論ピーク性能は約41TFLOPS)

では、ここで地球シミュレータの未来のライバル候補の カタログスペックを見てみよう。

もし、たるさんが推定するトレンドラインが正しければ、 スカラパラレル機には効率の低さ分だけ理論ピーク性能に+αの上乗せが 必要である。

つまり、RedStormのようにスカラパラレル機でありながら 理論ピーク性能で地球シミュレータと同程度のマシンは、 もうそれだけで苦戦必至である事がわかる。 同じ理論ピーク性能ならば効率が低い分だけスカラパラレル機が不利であり、 RedStormが有利なのは後発な分だけ新しい技術が使えるという点だけである。 対地球シミュレータ候補としてはRedStormはなかなか辛いポジションではなかろうか?

ちなみに、たるさん的には同じベクトル方式であるCrayX1(フルスペック)と、 比較的低プロセッサ数で理論ピーク性能100TFLOPSとなる ASCI Purpleが打倒地球シミュレータ候補として有力と見る。

スパコン機種名 地球シミュレータ Cray X1 Red Storm ASCI Purple BlueGene/L
理論ピーク性能 41 TFLOPS 52.4 TFLOPS 41.5 TFLOPS 100 TFLOPS 180 TFLOPS(360TFLOPS)
プロセッサ 専用ベクトルチップ Multi Streaming Processor Opteron Power5 PowerPC 440
プロセッサ方式 ベクトル方式 ベクトル方式 スカラ方式 スカラ方式 スカラ方式
プロセッサ数 5120個 4096個 10368個 12544個 65536個
CPUクロック 500MHz(一部1GHz) 800MHz 2GHz 2GHz 700MHz
1CPUあたりのバンド幅 32GB/s 38.4GB/s 推定5.3GB/s 推定12.4GB/s 5.5GB/s
結合網のトポロジ 単段クロスバ ハイパーキューブor3Dメッシュ 3Dメッシュ Federation Links 3Dメッシュ+グローバルツリー
ノード間伝送能力 12.3GB/s(双方向) 不明 推定4GB/s 推定2GB/s(双方向) 175MB/s(双方向)
完成予定 稼働中 稼働中
(ただしフルスペックではない。)
2004年 2004年 2005年
*CrayX1のフルスペックは未稼働だが、ローエンドモデルが稼働中である。 表中のスペックはフルスペックのもの。
*BlueGene/Lの理論ピーク性能は180TFLOPSだ。だが、 I/O用CPUまで演算に使える条件ならば、2倍の360TFLOPSとなる。

☆天才アムダールの力を借りる。   
さて、上記のトレンドラインはたるさん的妄想であり、 TOP500のデータからプロットしただけの科学的根拠ゼロの経験則である。 ただし、科学的根拠は無いとはいえ経験則的には事実を表している訳で、 考える指標程度としては使える。

では、ここで天才技術者アムダールの見いだした「アムダールの法則」を使って、 もう少し思考のレベルを上げてみよう。

下図は実効効率との散布図を実効性能ではなく、 プロセッサ数でプロットし直したものである。 こうする事で、単なる現象論的予測が一応は並列化効率に基づいた予測になる。

つまり、スカラパラレル機の右肩下がりの性能低下要因を、 すべて並列化効率低下だけに責任をおっかぶせて考えた場合の 理論近似による予想となる。

上位50台のプロセッサ数と演算効率
ベクトル・パラレルともに右肩下がりだが、
トレンドラインには10%以上の効率差がある。

図を見て頂くと、プロットの上限がプロセッサ数に対し直線近似できる事がわかる。 (後述するが、Thunderは除く。)

この場合、グラフ上のスカラ・ベクトル間の効率差は約10%だが、 実際にはその差はさらに拡大して現れる。 (余談だが、LINPACKでの効率差10%というのは差が少ない方だ。 問題によってはダブルスコア以上の差が付く場合がある。 一般論で言うと、低効率な問題(コンピュータにとって難問!)ほど効率差が拡大する。)

なぜならば、スカラプロセッサが同じ実効性能に達するためには物量作戦 に訴える必要があるため、プロセッサ数が増え気味になるからだ。 つまり、ベクトルとスカラを比較する場合は、多くの場合でY軸方向に 垂直線上の効率差にはならず、ベクトル機は左寄り、 スカラ機は右寄りの効率で計算する羽目になるからだ。 (図中で地球シミュレータよりプロセッサ数が多いスカラパラレル機が あるにもかかわらず、軒並み地球シミュレータに負けてしまっている のが良い例だ。)

さて、このトレンドから予測されるスカラパラレル機の未来は痛烈なものだ。

例えば、マスコミで打倒地球シミュレータ最有力候補と目されている BlueGene/Lで考えてみよう。

BlueGene/Lは今回プロトタイプが4位と7位にランキングされ、 順調に開発が進んでいるかの印象を受ける。 しかし、最終形態でのBlueGene/Lでは65536個ものプロセッサが装備されることに 注目しなければならないと思う。

この場合、このトレンドラインを65536個まで延長して考えてみよう。 その値から予想される効率は約15%でしかなく、 理論ピーク性能180TFLOPSのBlueGene/Lの推定LINPACK演算性能は180TFLOPS×15%= 27TFLOPSでしかない。

つまり、打倒地球シミュレータ最有力候補どころか、 最悪の場合負けてしまうこともあり得るのではないか? 

もちろん、完成までには今少し時間があるので、効率アップの追い込みを かけてくると考えられる。 なぜならば、このトレンドラインはアルゴリズム面での改良等があれば 上にシフトしながら傾斜が緩くなると考えられるからだ。 現時点と次回リスト更新時の間の技術革新分は、 このトレンドラインには含まれていないので、このラインの延長で物事を議論するのは、その間の技術革新分(物量以外の)を無視している事になる。

だから、地球シミュレータに負けてしまうというのはさすがに言い過ぎかもしれない。

だが、それにしても勝つとしても僅差の逃げ切り勝ち程度であろうと思われる。 180TFLOPSもの理論ピーク性能があっても、 決して大差はつかないというのがたるさん的予想だ。 (図からわかる通り、理論ピーク性能が100TFLOPSと低くても、 プロセッサ数が少ないASCI Purpleの方が有力とみた。)

地球シミュレータに追いつける追いつけないは別として、 スカラパラレル機には実効性能40〜50TFLOPS程度のところに いわゆる「死の谷」2)があって、それを越えるためには何らかの ブレークスルーが必要、というのがたるさんの基本的スタンスである。

この予想当たるだろうか?

☆恐るべしThunder、敵ながらあっぱれ。   
さて、当サイトのWebmasterであるたるさんはスパコンに関しては ベクトル派である。これは、別段地球シミュレータを見学させてもらったから ヨイショしているわけではなく、上記のようにスカラパラレル機には ブレークスルー抜きでは越えられない「死の谷」が存在すると考えるからだ。

今、巷ではPCクラスタが大流行だが、実はPCクラスタシステムが 「死の谷」のプロセッサ数に行き着くのはまさにこれからである。

個人的な直感で言わせていただければ、PCクラスタのプロセッサ数は 並列化率の9の桁数と同程度が限度であろう。 つまり、並列化率99.99%+α程度が限界と思われるLINPACKの場合は、 9が4つ+αだから4〜5桁、すなわちプロセッサ数は10000台+α程度までが 許容範囲だと推定している。

もう一桁多いと、そこはもう「死の谷」入り口であり、 100000台を越えれば、並列化効率の壁にガンとして跳ね返される 事になると思う。

PCクラスタ大流行のトレンドがご時世だが、このままではプロセッサ数数万台到達時点で いきなり挫折するのではないだろうか?

だが、スカラパラレル機側もただ黙って見ているだけではなかったようだ。 図を見て頂くと1機種だけスカラ機にもかかわらずベクトル機並の 効率性を持ったマシンがある。

それは、Thunderだ。

このThunderこそが、今回のTOP500更新における台風の目であると見ている。 Thunderは今回初登場でいきなり2位だが、順位なんてそんな事は無関係である。 べつに2位でなくても10位でも20位でも30位でも、 たるさんが一番注目しているのはThunderだ。

なぜならば、これこそがスカラパラレル機でありながら唯一 ベクトルパラレル機と同等な高効率を叩きだしているわけで、 この技術を使えば「死の谷」すなわちスカラパラレル機における並列化効率の壁 を突破できる可能性を秘めているからだ。

前回のTOP500リスト更新では、ヴァージニア工科大学の通称 BigMac(PowerMacG5を使ったPCクラスタ)がいきなり 第3位の性能を叩きだしたと言う事で大きな注目を浴びた。 だが、Mac派の方々には申し訳ないが、たるさん自身の個人的インパクトでは BigMacよりも今回のThunderショックの方が大きい。

ThunderについてはWebで得られる情報は少なく、Itanium2 Tiger4 1.4GHzを 4プロセッサ束ねてノードとした総プロセッサ数4096台のクラスタである こと位しかわからない。

Itanium2はスカラプロセッサとしてはPowerPC970と並び称される高性能プロセッサで、 クラスタのベースにこれを採用するのはよくわかる。 たるさんだって、PC・サーバー用CPUから選べと言われたら PowerPC970かItanium2を選ぶだろう。

同じintel製プロセッサで比較するならば Xeonを選択するよりは(科学技術計算用途で考えれば)よほど優れた選択で、 浮動小数点演算性能とLoad/Store性能が高いのが科学技術計算向きなのだと思う。

しかし、地球シミュレータに使用されているベクトルプロセッサと比較すると Itanium2は霞んでしまう。たるさんの知る限り1対1のサシ勝負では あらゆるベンチマークで負けてしまうのだ。 プロセッサ単体性能だけで見るならば Itanium2はベクトルプロセッサの敵ではなく、 やはり価格の安さを生かした物量勝負に頼らざるを得ない。 (Itanium2が悪いと言う事ではなく、原理的にキャッシュベース・アーキテクチャは 科学技術計算には向いていないのである。)

となると、ノード間伝送能力が優秀なのだろうか? 

Thunderではノード間はInfiniBandが使われているが、 確かBigMacの接続形態もInfiniBandだったよね。 (7位に入った理研のクラスタもInfiniBand仕様だ。) InfiniBandがネットワーク結合網としてかなり優秀ということなのだろうか?

でも、これだけではよくわからない。 カタログスペックを信じるならInfiniBandは確かに優秀である。 だが、プロによるとノード間伝送能力の優劣はLINPACKでは 比較的効きにくいらしいし、その点ではこれが決定打かどうかは不明だ。

しかし、実効効率アップの原因は今のところ不明で、 どんなブレークスルーが行われたのか不明とはいえ、 この技術が打倒地球シミュレータの突破口になる可能性を秘めていると見た。 敵ながらあっぱれである。

Thunderがスカラパラレル機でありながら、ベクトルパラレル機並の 高効率を叩きだした原因については今後ともワッチしてゆきたいが、 この技術がすべてのPCクラスタに適応可能だとすると、 ちょっと流れが変わるかもしれない。 コストパフォーマンス面ではPCクラスタは優秀だが、「性能面で 頂点に立つのはやはりベクトルパラレル機である。」という地球シミュレータによって 実証した流れに対し、Thunderは確かに一石を投じるものとなりそうである。

タダ単に物量作戦に訴えている頃のアメリカは、地球シミュレータ側から見れば まさに「思うツボ」と言ったところで、アメリカは 見事に「誘いの隙」に引っかかった形となっていたというのがたるさんの読みだ。 だが、技術者層の厚さで勝るアメリカはもちろん手強い相手である。 そんな事はちゃんと見破って 「物量作戦」ではなく「効率性アップ」で突破を試みる技術者もちゃんと 輩出してくるところはさすがと言えると思う。

次回、次次回と、スカラ側が効率を上げてくる様ならば、 さすがに地球シミュレータといえど苦戦は免れないと思われる。

地球シミュレータ、次回驚異の6連覇なるか?



1)
ちなみに、スカラパラレル機でも比較的効率の落ちにくいLINPACKベンチマーク であるが、それですら効率50%を切ってしまったマシンもある。 トレンドラインからずっと下の方にへばりついている一群のマシンたちだ。

これら一群のマシンに共通の一般的傾向が掴めれば、 スカラパラレル機固有のボトルネックを探り出す一助になる可能性がある。 このため、これら出来の悪いマシンについても調べてみた。 いったい、どこの国のどんなマシンで、CPUはなんだ?

...... みっ、見なかった事にしよう。(さすがに具体的には書けません。)

2)
「死の谷」とは、本来は経営工学で使われる言葉である。 基礎研究段階でうまくいっても、コスト面・量産性等の問題から 量産化されることなく技術が埋もれ てしまうこと言う。

ちなみに、理屈から言えばベクトルパラレル機にも「死の谷」はあるはずである。 「死の谷」はベクトル・スカラに限らずパラレル機の宿命と考えられるからだ。 ただしベクトル機の場合、その到達点は現段階では無視して良い先の話なのだろう。