シロウト思考で行く(京速計算機考)   

2006年5月29日



先日の金曜日は退社後に海外研修生の歓迎会があったが、その日の朝はバスが満員で乗車余地は無し。 しかたなく会社まではいつもの通り自家用車で出社。仕事が終わって飲み会になったわけだが、 飲酒運転するわけにも行かず当然帰宅はタクシーとなった。

だが、土曜日は早朝から仕事がある事をすっかり忘れていた。(最近は忙しいのだ。) 休日の上に朝が早いのでバスも無いし友人に送ってもらう訳にもいかず(飲み会の翌日だから、どうせ昼まで寝てるんだろうし...)、 やむなく1時間半かけて徒歩で出社。まさしくトホホである。

で、とぼとぼと朝焼けの中を歩くわけだが、これが意外に新しい発見があっておもしろかった。 道ばたにどう見ても栽培種の花菖蒲が咲いているのだが、これが民家の庭ではなく田んぼのあぜ道とか、河川の堤防とか いろいろなところに咲いている。栽培種が野生化したのだろうか?

また、自家用車で通勤している経路は車通りが多いので車に轢かれないように田んぼのあぜ道を選んで通ったのだが、 これがまた楽しい。なんか小学校の頃の学校への行き帰りみたいな妙に懐かしい感じだ。

いつも車で近くを通っている小さな丘があるのだが、これが昔はお城だった事も発見した。 (今の今まですぐ横の丘が城趾であるとは知らなかったのだ。) 千葉県によくある舌状台地なのだが、ちょっと寄り道して神社の階段を上りきると城趾本丸跡(単なる広場だけど)に出た。 へぇ〜、こんなところに城址とは...早朝の楽しいひとときである。

1時間半かけて早朝のあぜ道を徒歩で出勤。トホホである。
普段は通らないあぜ道を通って行くと(写真左)、どう見ても栽培種の花菖蒲を発見(写真中央)。
ここだけではなく堤防の土手とかにも咲いているのが不思議。
普段通り慣れた道の途中にある何の変哲もない丘が城趾だとは、今の今まで知らなかった。(写真右)
(当日はデジカメなんて持ってないので、写真は後日デジカメで撮影したもの。カメラ付き携帯に機種変更すべきかな?)

それにしても、ここまで早起きすると一日の過ぎる時間の遅いこと遅いこと。 徒歩で1時間半の出勤は悪夢かと思ったら、なんかすご〜く得した気分である。 物理的な時間経過と感覚的な時間経過は違うわけで、人生を長く生きようと思ったら早起きするに限るかも?

そんな中、歩いている間は暇なので読者から頂いたご要望ネタについて考えながら歩いていた。 ご要望ネタの中で一番人気はスパコンネタである。

☆素人にも読める記事が不足しているから...   
当サイトはスパコンネタを時々掲載するが、これが意外に人気である。 読者からの要望は一にスパコンネタ、二に電源ネタ、三・四が無くて五にCPUネタだ。 特に地球シミュレータネタは掲載当初はそれだけで通算感想メール数の1/3に達したことがあるし、 京速計算機ネタも今一番要望の多いネタだ。

決して程度が高いとは言えない当サイトがそれなりのアクセスを得るのは、 おそらくこういうネタを扱うアマチュアサイトが他に無いからだろう。 元々の当サイトの発祥はPCマニアのCPUネタがあまりにもベンチマーク比較に偏っていることから、 CPU内部についてシロウトなりに考えてみようというところに発祥の地があるわけだが、 CPUネタよりスパコンネタの要望が多いのは喜んでいいのやら悲しんでいいのやら...複雑な気分である。

もっとも、PCとは異なりスパコンは一般的なマシンではないからネタ的に取り扱いが少ないのは仕方がない。 パソコンと異なり、報道の機会も少ないのだ。

本来ならば専門家同士での情報交換だけでOKな狭い世界だから世間一般に情報が出てこない訳だが、 これが我々一般人にも読める情報ソースが無い原因になっている。 プロが一般人向けにもっと書いてくれれば、当サイトもくだらない低レベルな話しを書く必用はなく、 リンクをするだけでOKなのだけれど...1)

と言うわけで本題にはいるが、地球シミュレータ計画以降プロジェクトがなかった日本のスパコン開発計画だが、 ようやく動き出したようだ。それが京速計算機計画である。

そもそもこの手のプロジェクトは現行機の開発が終了すれば直ちに次世代機の開発に着手するのが妥当と思うが、 日本の場合、単発のプロジェクトが個別に五月雨式に降ってくるだけであり、 その点ではプロジェクトの継続性に欠ける面があるのは否めない。 単発プロジェクトでは開発人員の確保等が難しく、人材を育てるという面で大きな問題があるからである。

アメリカ側はその点では気合いの入れ方が違う。国家的なコンセンサスが取れていると言えるだろう。 これはアメリカにはスパコンは国力の源泉という意識があるからで、地球シミュレータが米国製スパコンを抜いて 世界最速になったときにはかなり強い不快感を示したと伝えられている。

と言うわけで、京速計算機計画では計画の持続性について注意が払われた事は非常によかったと思う。 京速計算機計画は計画が完了次第、次世代機の開発に着手する計画らしいからである。 ところが、京速計算機計画では「京速」の名の通り10PFLOPSクラスの性能を狙うようであるが、 10ペタとは言ってもプランはいくつかあるわけで、まだまだグランドデザインさえ定まっていない状況のようだ。

と言うわけで、今回は京速コンピュータのような国家プロジェクトレベルの次世代スパコンについて、 ドシロウトが考えるとどうなるのかを書いてみた。 もちろん、シロウトなので量子コンピュータとか分子素子とか夢物語を語ってもいいのであるが、 これらは次世代機にはさすがに間に合わないと思われる。 だからもう少し現実的な話となるが、当たるも八卦当たらぬも八卦...

一部読者層にプロの方もいらっしゃるようだが、今回のネタはあくまでドシロウト予測なので、まぁ、お笑いネタと思って 読んでいただければ幸いである。大笑いすると大脳が活性化されるのは医学的に証明されているので、 もし内容がプロから見たら抱腹絶倒ものだったとしても、 これを読んで大笑いして脳みそを活性化させていい研究アイディアでも浮かんでいただけたら幸いだ。

☆京速計算機計画では何をグランドチャレンジにするべきか   
さて、このようなレベルのスパコンを設計する際にもっとも重要なポイントは何だろうか?  もちろん国家予算の投資効率としてスパコンの開発に投資すべきかどうか? 国家予算は大赤字だけにもっとよい税金の投入先があるのではないのか?という点がホントは出発点になるわけだが、 これにスパコンが該当しないという結論だと当サイト的ネタにはならないので、 その点は省略してその先から考える事にする。 (余談だが、最近の大規模国家研究開発プロジェクトの中で、もっとも高く評価されているのは 大規模放射光施設Spring-8だと言われている。)

建造すること自体を大前提と認めれば、問題はどんな問題を解かせるのかによって必用な性能や性質が異なってくるという点だろう。 特にプロジェクトの第一目標となる演算課題をグランドチャレンジと呼ぶ。 従って、スパコンのグランドデザインを決めるためには、まずグランドチャレンジを何に設定するかが重要になる。 (当サイトはグランドチャレンジのByte/FLOPが与える影響の大きさに注目している。)

前回のグランドチャレンジは地球シミュレータのメインミッションである 地球温暖化予測であった。このため地球シミュレータは流体問題に適したベクトル方式を採用している。

地球シミュレータが採用したベクトル方式は、当時の時代の趨勢としては衰退が必然とされていたアーキテクチャであった。 しかし、うれしい誤算としてこの方式は成功し、「ベクトルパラレルは死んだも同然。」とする当時の主流的見解を 結果で証明する形で誤りであることを証明して見せた。

ただし、これはグランドチャレンジが地球温暖化予測というベクトル機に適したものであったという点も大きいと思う。 しかし、今回のグランドチャレンジは同じ問題ではない可能性が高く、 そうすると適した方式もまた変わってくる可能性がある。 たとえば、前回のグランドチャレンジが地球温暖化予測ではなく、 タンパク質の立体構造予測やナノテク材料の電子密度計算だったらどうだろう。 それでもベクトル機の効率は悪くないから絶対性能面では悪くなかったと思うが、 ベクトル機は高価で電気を食うので、費用対効果面や消費電力面で苦戦していた可能性は十二分にある。

では、数ある難問の中から我々は何をグランドチャレンジに選ぶ必用があるのだろうか?

単純に演算性能が不足している用途というのは各分野にあってきりがない。 シロウトの当サイトが気がつくだけでも、地球温暖化予測、バイオ(タンパク質の立体構造予測など)、 ナノテク材料開発(電子密度計算、特に強相関系)、航空機設計、地球物理学(地震シミュレーション、マントル対流など)、 宇宙論(銀河形成、宇宙背景輻射、ブラックホールの衝突など)、素粒子論、核融合、ゲノム創薬、等々。

また、これらすべてに適用できるように汎用性を強く意識した設計にするのか、 一部の問題に絞って特徴的なアーキテクチャを考えるかも課題だ。 (完全に問題を絞りきってしまうなら専用機という手もある。) もちろん、何にでも使える汎用機の汎用性と専用機の高コストパフォーマンスが1機種で両立すれば問題ないが、 これは「言うは易く行うは難し。」の典型である。

ちなみに、過去の代表的プロジェクトではグランドチャレンジはこうなっていた。

重要分野をどれに設定するかは価値観の問題であり、純論理的にこれこれの分野が重要と言えるわけではない。 地球シミュレータが地球温暖化予測を最重要ミッションにしていたように、 重要分野は世情によって変化すると考えるのが妥当だろう。

当サイトの勝手な解釈で言うと、まず地球シミュレータが地球温暖化予測をメインミッションとしていた事から このテーマは今回はグランドチャレンジから譲っていただくのが順序から考えて妥当と思う。 昨今の石油価格高騰やJT-60が臨界継続時間の記録更新(世界最長の臨界28.6秒維持)のニュースからすれば核融合かなとも思うが、 国際共同ミッションとして国際熱核融合実験炉ITER計画があるので、テーマの一極集中を避ける意味でも これもお譲りいただくのが妥当かもしれない。

医療という直接人命に関わるテーマからすればバイオやゲノム創薬は妥当だろう。 また、産業競争力という意味ではナノテク関連も非常に重要だろう。 最近地震活動が活動期に入ったと噂されるが、防災という意味では地震関連の地球物理学も重要だ。

ただ、こういったテーマは(地震関連は別だが)商業ベースでも放っておいても検討される分野であり、 逆に国家でなければ実現できないテーマをグランドチャレンジにするというちょっと崇高な考え方もありだと思う。

素粒子論や宇宙論、地球物理学(マントル対流)なんて分野は放っておいたらどの民間企業も研究しない分野であり、 人類の知の到達点を高めるためには国家プロジェクトとならざるを得ない分野だからだ。 なんというか、ノーブレスオブリージェの国家バージョンというか、 一定の文明水準・経済的発展段階に達した国家にはそれにふさわしい基礎科学研究の責務があるような気もするし... (最近「国家の品格」という本が売れているらしい。 当サイトもGW中に読んだが、直接産業に結びつかない一見無駄と思える基礎科学にどれ位本気で取り組んでいるかで 国家の長期的発展力が決まるという説には大賛成だ。)

まぁ、シロウトの戯れ言とはいえ、ここで完全にグランドチャレンジ問題を一つに確定する事は難しい。 したがって、ここでは独断と偏見でバイオ、ナノテク、地球物理(地震関連)等を実用系のグランドチャレンジとして、 また、宇宙論、素粒子論、地球物理学(マントル対流)等を基礎科学系のグランドチャレンジとして 京速計算機を予想してみたいと思う。(「船頭多くして船山に登る。」状態を避ける意味でも、 ホントはグランドチャレンジは一つに絞らないとダメなんだろうけどね。 たとえ汎用機が開発目標だったとしても...)

☆成功体験にすがるべきか?   
さて、ではこのようなコンピュータを設計する場合、 画期的な物を作ろうとするのか、手堅く行くのかは判断の分かれどころだと思う。 予算が低予算の場合は当然リスクを取ってメリハリを付けて行くべきだが、 このような大規模プロジェクトの場合、小失敗は許されても大失敗は許されない。 したがって、幾分手堅く行く方法も考えざるを得ないと思う。

では、手堅く行くとどうなるのだろう?

普通に考えると、従来の成功プロジェクトを発展的に進めるのが良い方法と言うことになる。 地球シミュレータが失敗作と言う人は少数派だから、 直感的に考えるとこの計画の拡張バージョンを考えればいいことになる。 (ただ、後述するが、当サイトの考えは少し違う。)

地球シミュレータの特徴はベクトル方式+単段クロスバというスパコン界では 数少ない特徴的アーキテクチャを有していること。 このため、長所としては苦手な分野が少なく、 平均でスカラ機の約3倍というスパコンとしては非常に高い実効効率を有している。 短所はスカラ機の数倍となるコスト消費電力が異常に高いことである。

地球シミュレータの設計思想は、そのグランドデザインを行った 三好先生(故人)の設計思想そのものであると言ってよいであろう。 なぜならば、三好先生のグランドデザインとなるさらにもう1世代前の機種は NWT(数値風洞)であり、製造ベンダーが異なるにもかかわらず ベクトル方式+単段クロスバという全く同じ設計思想で作られているからだ。

ではここで、その設計思想の根源を当サイトなりに推定してみよう。 つまり、SMP方式が並列化の限界に達したときNUMA方式で作らざるを得なくなり、 その結果採用されたのが単段クロスバであるというのが当サイトの理解である。 その特徴はすべてのノードを1:1結合できるという事であり、 たとえ通信によってメモリ空間が分断されてしまったとしても 出来うる限りデータアクセスの柔軟性を維持する事を意識していたように思えてならない。

その証拠に、ノード数が増えて単段クロスバの採用が難しくなった地球シミュレータでは、 ノード内部に8wayのSMP方式を復活させることでノード数を1/8に短縮している。 (これはベクトルプロセッサのワンチップ化で容易になった。) これにより、力技とはなったがノード間接続において単段クロスバ方式を維持できたし、 またノード内もクロスバ結合のためノード内ではすべてのプロセッサがすべてのメモリ空間に自由にアクセスできた。 メモリアクセスの柔軟性に対する確信が無ければ、単段クロスバ方式にここまでこだわる必要は無かっただろう。

ではノード間もノード内も既に単段クロスバの限界までノード数やCPU数を増やしてしまった地球シミュレータに対して、 そのままスケールアップするような手法が使えるのかどうか... というところが当サイト的な疑問となる。

☆単一ベクトル機では1PFLOPS程度で性能配分は限界を迎える?   
当サイトは京速計算機計画発表前には次世代機の能力を1PFLOPS程度だと予想していた。 これはアメリカの当面の性能目標が1PFLOPSであるからだが、 このレベルならば単一ベクトル機もギリギリ可能であろうと考えていた。

このときの当サイトの予想は下記の通りであった。
  1. CPUはベクトル方式
  2. ノード内のメモリ結合はシリアル伝送化
    (これによりPIN数問題をクリアして理論ピーク性能の増大に比例してバンド幅を増強。 最終的には接続を光化)
  3. ネットワークは光学交換機+ファイバーレス光化
    (光電変換レス化が問題解決のカギなので光クロスバ交換機の開発が最重要課題と指摘。)

しかし、プロによると1PFLOPSというのはあまりインパクトのない性能なのだそうで、 実際に京速計算機の性能目標は10〜20PFLOPSになっている。 この規模でも上記の当サイトの方針が正しいかどうかが、今回のネタ的な考察のしどころである。

ちなみに、 見えてきた次世代スパコン「京速計算機」、再び世界一を目指すその意義 という報道によると、京速計算機の重要開発課題は下記の通り。
  1. 低電力・高速デバイスの開発
    (漏れ電流対策などが課題。担当は日立)
  2. 光インターコネクト技術
    (CPU・メモリ間の光伝送化。1接続あたり20Gbps以上でLISあたり1000接続、 つまりCPUのメモリバンド幅として2.5TB/s程度が目標。担当はNEC)
  3. 光・電気ハイブリッドネットワークの開発
    (光スイッチ技術による超高バンド幅スイッチの開発、廉価な光デバイス、 並列アプリのスケーラビリティー向上のための付加機能の3つが課題。担当は富士通。)

当サイトの予想であるが、 デバイスの低消費電力化に言及がない点と、CPUアーキテクチャをベクトル方式と明言した点を除けば、 まあまあ的中していたと思える点が少し嬉しい。(^^;)

また、後述するがネットワークにおける「並列アプリのスケーラビリティー向上のための付加機能」とは BlueGene/LにおけるALU付きグローバルツリー結合網のような機能を意味していると思われる。 当サイトはこの機能は非常に高く評価しているので、次世代機でも是非とも取り入れたい機能である。 (当サイトはBlueGene/Lがお嫌いと思われる読者が多いかも知れないが、このように必ずしもそうではない部分もまた多い。)

というわけで、現時点で得られる京速計算機の開発目標はこの通りだが、プロの考え方としては システム全体の構成は複合機がもっとも有力と見られているそうだ。 つまり、当サイトの予想は1PFLOPSを目標とした場合のものだが、 10PFLOPSを目標とした場合、当サイトの考えた単一巨大ベクトル機がこの規模でも可能なのだろうか?と言う点が問題となる。

ここで、まず最初に目標性能1PFLOPSの場合で地球シミュレータを拡張したようなマシンを考えてみる。 地球シミュレータは41TFLOPSだから約25倍の性能を考えなくてはならない。

まず、結合網が単段クロスバだとすると現状のハードウエア量から大きく増やす事はできない。 現状の地球シミュレータでさえ床が見えなくなるほどの配線量であり、物量的な限界がかなり近いと言えると思う。 だから、光ファイバー化して交換機網も光電変換が不要な光方式化すると仮定する。 そうすると、おそらくハードウエア量は1/10以下に出来ると思う。

が、伝送帯域あたりのハードウエア量が1/10になったとしても、単段クロスバでは同一ハードウエア量で増やせる ノード数は3倍強に過ぎない。なぜならば単段クロスバはO(n)の結合網だからだ。 つまり、ノード数増強で増やせる能力は3倍強だから、ほかで約8倍の性能増強が必要になる計算だ。

CPU自身はどうだろう。地球シミュレータからSX-8で性能は2倍になっている。 従って、同様の開発期間で約2倍の性能が可能になると推定できるから、 このままでもCPUによる性能向上は約2倍は可能だろう。 すると地球シミュレータから比較すると4倍程度の処理能力は期待できる。

また、メモリバンド幅はメモリのシリアル化でカバーすると考えていた。たとえばFB-DIMMやXDRである。 これによりダイのピン数あたりのバンド幅を最大化すると仮定する。2倍強程度にはなるハズだ。 そしてピン数も可能な限り増やす。 チップのピン数やメモリへのコネクタの山がベクトル機の物量限界になりそうなのは以前書いたとおりで、 逆に言えばベクトルプロセッサはメモリバンド幅さえ増やせればまだまだ性能向上の余地があるので、 そうすれば合わせ技で4倍程度の性能向上が可能であろう。 つまり、バンド幅と理論ピーク性能のスケーラビリティー維持も4倍程度までなら十分可能だろう。

すると残りの部分で約2倍の性能向上が必要となる。 これはノード内性能を2倍、つまり8並列から16並列化することで達成すると仮定する。 メモリインターフェイスがクロスバであるため、こうすると単純にはメモリ周りのハードウエア量が4倍になる計算だが、 メモリをシリアル化しているのでそこまでは増えないからギリギリ可能だと思う。

これが当サイト的に考えた1PFLOPSの単一巨大ベクトルマシンである。 しかし、この仕掛けを単純に10PFLOPSまで拡張できるのであろうか?

スーパーコンピュータの性能向上を単純に定式化してみよう。

実効性能=プロセッサ性能×ノード内並列度×ノード数×演算効率

先の1PFLOPSの場合ではプロセッサ性能、ノード内並列度、ノード数の全てを 推定できる限界まで伸ばした。演算効率はアルゴリズムを改良すれば上げられるが、 ただでさえノード数が増えれば効率は下がりがちになるので、 ここを一定値に抑えるだけでも正直なところ若干無理があるように思う。 (ただし、1PFLOPSは理論ピーク性能なので効率は考えなくて良いけど。)

で、10PFLOPSの場合、このような状態でさらに性能を10倍稼がなければならない。 ここでさらに性能を稼ぐとして、どこで稼げばいいのだろう?

もしノードの並列度を上げるとしたら、それは単段クロスバ網を諦める事を意味する。 でないとノード数が10倍ということは単段クロスバ網のハードウエア量は100倍となり、 ハードウエア量的に完全に破綻してしまうからだ。 だが、たとえば3Dメッシュならばスケーラブルにノード数を拡張する事は可能だろう。 ただし、その場合は最隣接間データ転送以外のデータ転送に対する対策を考えなければならないと思う。

かといってノード内でSMP構成を維持したままこれ以上ノード内の並列度を上げるとしたら、 メモリとプロセッサ間の接続自由度かメモリバンド幅を下げざるを得ないと思う。

しかし、ベクトル機はメモリ性能が実効性能に直結するから、 メモリバンド幅を下げる方法はベクトル機では採用できない方法だ。 メモリバンド幅を維持したまま理論ピーク性能だけを上げたベクトルプロセッサというマシンを仮に作ったとしても、 おそらくは情けないほどの性能向上しか得られないと思う。 ベクトルレジスタを増やせばある程度はリカバーできるかも知れないが、本質的には ベクトル機では理論ピーク性能とメモリバンド幅の間に一定の比率を維持する必要があると思う。

では接続自由度を下げて、ノード内の接続を単段クロスバをやめてメッシュやリングに変えるとどうなるのであろうか?  SMP方式を維持すると最隣接接続間以外のアクセスでレイテンシの増大やバンド幅の事実上の低下 (他のCPUのバスを経由するから)が発生するから、これも大幅な性能低下を招くと思う。 またSMP方式を放棄してNUMA方式とすると、これはノード内アクセスでも事実上ノード間と同じ扱いとなるから、 コンパイラから見た扱いが全然変わってしまうからこれも難しい。 (ノード内でもOpenMPではなくMPI扱いになるから、事実上、単一CPUノード+多段ネットワークという構成になってしまう。 ただし、これは意外にハンデにならないという指摘もある。)

ではプロセッサ性能ではというと、これも同じくダイやパッケージのピン数問題からメモリバンド幅を維持する困難性があるし、 仮にこれがクリアされたとしてもワンチップでは発熱を放熱しきれないのではないだろうか?

というわけで最初の話題に戻るが、 なぜ手堅い方法では問題があると当サイトが考えるかというと、 それはこの方法でシステムが作れればベストであるが、1PFLOPSならばともかく10PFLOPSともなると もはやハードウエア量の関係でシステムが構築できないのではないか?というのがその理由だ。

☆成功体験を引き継ぐのは理論の裏付けあってこそ。   
さて、当サイトなぞはアホな人間だから、過去にうまく行った方法をそのまま拡張しようとするわけだが、 それは見通しがきく先見性の高い人物が指揮を執っていればこそうまく行く話である。 シロウト判断でのそのままの拡張がうまく行くかというと、 過去の歴史の教える所は厳しいから、ようやく問題があることに思い当たるのである。

成功体験が次のプロジェクトの足を引っ張るというのはよくある話である。 NWTから地球シミュレータへの成功例のような話というのはプロジェクトリーダーに恵まれていた例外であり、 実際は失敗例の方がよく耳に入ってくる。

たとえば、SONYは一時期大画面テレビ戦略でシャープにやられ放題だったわけだが、 これがなぜ失敗したかというとSONYがブラウン管テレビでは平面トリニトロン管方式という 非常に優れた技術を持っていたことがかえって仇になったということが指摘できる。 平面トリニトロン管というブラウン管世代ではもっとも優秀な技術を保有していたが故にその技術に固執してしまい、 その結果液晶やプラズマといった次世代技術への革新時期を遅めに見積もってしまうというミスを犯したわけだ。

今SONYはBRAVIAブランドで復調を果たしたように言われているが、 大画面テレビの心臓部はパネルと描画エンジンであって、そのうちの一つが某韓国製であるBRAVIAは 片肺飛行であろう。これはブランド力という過去の遺産の食いつぶしであって、技術的には本当の復調とは言えないというのが当サイト的見解だ。

同様なことは東芝のDRAM戦略にも言えたと思う。 東芝は1M-DRAM時代にはもっとも優れた技術力を保有していた。 しかし、それ故に「技術力より投資力」という戦略転換の時期を見誤って、 東芝のコピーラインをより大規模に作った某韓国メーカーにやられる結果となったことは NHKの特集で報道されたとおりである。 (ちなみに、東芝は失敗に学んでNAND型フラッシュでは大規模投資攻勢を続けている。 その結果、NAND型フラッシュで一人勝ち状態になるまで復活した。 このため経済誌が市場席巻を予想した韓国メーカーは、逆に今ではシェア低下傾向にある。)2)

とまぁ、ちょっと大げさな例3)を出したが、 過去の先人たちは具体的なプランニングが頭脳の中で完成しているからそのままの基本デザインでシステムを拡張できるのであって、 これが単純に過去の成功体験を拡張していいものかは歴史の教えるところでは非常に疑問である。 NWT〜地球シミュレータと続くベクトル方式+単段クロスバという方式が今までうまく行っていたのは先人の先見性が 卓越していたからで、我々が単純にまねをしてこれをこのまま拡張して良いものかどうかは???な部分がいくつかあると思う。

一つは単段クロスバ方式がO(n)のハードウエア量となるインターコネクトであり、 10ペタクラスの規模で実用化できるかというと非常に難しいのではないかという指摘を 過去に何度か指摘してきた。(これは今回の指摘ではなく当サイト的には昔からの指摘だが...)

しかし、そうするとSMPの代用としてのネットワーク...という性質は薄れざるを得ないと思う。 つまり、単段クロスバは自分以外の全てのノードを均等に扱える優れた方式だが、 そうではない不均一アクセスのネットワークを今後は認めざるを得ないという事だと思う。

そう考えると、ネットワーク自体は何の計算もしないわけだから4) 演算効率の低下は必須であり、何らかの改良が必要となると思われる。 どちらにせよ、実効性能=プロセッサ性能×ノード内並列度×ノード数×演算効率、 と定式化した場合はネットワーク性能は最後の効率の項にしか効いてこない訳だから、 単段クロスバ網はノード数が増える場合はいずれ破綻は免れない。

ノードがO(n)で増えるとき、理論ピーク性能はO(n)でしか増えないわけだが、 単段クロスバを仮定するとこちらのハードウエア量はO(n)で増える。 しかし、ネットワーク自体は演算しないわけだし、効率は100%以上にはならないわけだから、 コストパフォーマンスはO(n)/O(n)で決まる事になり、 結局O(n)のネットワークにどこかで抜かれる事が必然的に定められているからだ。 (もちろん、そのクロスポイントがどこになるかは、非常に深い考察を必要とするため、 当サイトのレベルではわからない。ただし、地球シミュレータが成功したという事実から、 少なくとも地球シミュレータレベルの規模までは単段クロスバは成功していたと言える。)

というわけで、京速計算機では地球シミュレータの単純な規模拡張というような方式は やれるものならやるべきであるが実際には技術的にも物量的にもかなり困難というのが当サイト的な結論だ。 京速計算機で提案されている複合機というアイディアについては 自然の階層性などの観点から論理的に説明がなされているが、これもアーキテクチャ的な実現可能性という面から 見た場合に当サイト的な単純拡張案がおそらく破綻しているという面も考慮されたものとも推測できるのであるが、どうなのだろうか?

こうして考えると、地球シミュレータが時流に流されなかったのは、 もはやNWTの規模で打ち止めと思われていたベクトル方式+単段クロスバという設計思想を、 プロジェクトリーダーの先見性により見事実現して見せたという点が大きいと思う。 ただし、NWTから地球シミュレータの段階でさえ非現実的と思われた構成を可能にすると言うマジックを 行っているため、同じネタでのマジックが2回続かないのと同様に不可能を2回続けて可能にする事は さすがに技術的に難しいという事なのだろう。

仕事が忙しくて書いている暇があるかどうかなのだが、なぜかご要望が多いので 次回は少々背伸びとなってでもByte/FLOPの重要性等を中心に続きを考えてみたい。



1)
ちなみに、そんな状況の中、我々アマチュアにも読める記事を紹介しておこう。 一つは スーパーコンピューティングの将来 というレジュメである。

これは、ゴードンベル賞を何度も受賞している隠れた名機・GRAPEシリーズの開発者が書いたものであり、 一般人とは言わないまでも我々PCマニア程度の知識があれば読めるレベルとなっている。 ともすれば専門的になりがちな内容を分かり易いように程度を少し下げて書いていただいているのがありがたい。

著者の本職は理論天文学なのでスパコンのプロとして紹介することは失礼に当たるかもしれないが、 なんせゴードンベル賞複数受賞のマシンを作ってしまうくらいだから、 理論天文学と計算機科学の二刀流ということでスパコンのプロとしても紹介させていただいても問題ないだろう。

もう一つは 大規模アプリケーションプログラムを用いた性能評価 というスパコンの性能テストデータである。

詳細はもちろん我々には理解不能なレベルなのだろうが、検討項目とベンチマーク結果だけを見れば 我々にも内容が理解できるものとなっており、また、当サイトが時々取り上げるOliker先生が 名前を連ねているのがおもしろい。

これを読めば、ベクトルプロセッサが特に効率面でいかに優秀かがシロウトなりにもわかる内容となっている。 時に当サイトがスカラの事を悪く書きすぎというご意見を頂くことがあるが、 スカラの実効効率が平均で10%程度というのが決して誇張ではないことはおわかりいただけるハズである。

両者を比較すると一部に見解の不一致が見られるが、 これはこのレベルになるとまだまだ論争の最中という最先端の問題に触れる事になるためだ。 (特にメモリバンド幅に対する解釈や、コストパフォーマンスに対する解釈はかなり異なる。)

さて、と言うわけでこの手の資料を読んでいただいた方が当サイトの与太ネタを読むより100倍効果的 であることを指摘した上で、今回の与太ネタについて読んでいただければより味わい深いと思われる。 (ベクトル、疑似ベクトル、スカラ、専用機...といった具合に各方式のプロ代表が一通りこういう アマチュアにも読める内容を公開してくれれば、我々も比較検討しやすいんだけどね。)

2)
マスメディアは韓国ブームであり、経営だけではなく技術も韓国優秀説に傾いているが、 これは利益水準という結果から逆に辿って技術を評価するという誤った分析であろう。 東芝の例を見るとわかるが、経営判断力さえ互角になれば技術力で勝てるのである。 (たとえば、 2006年第1四半期のNANDメモリ市場,好調東芝が24.6%のシェア獲得,Samsungのシェアは50%切る という記事をご覧ください。)

当サイトは「技術力で劣っていても経営判断力と投資力で勝てれば総合的に勝利できる。」と判断した 韓国メーカー経営者の眼力には尊敬の念を抱くけど、技術力で勝っているとは思わない。 それが証拠に、たとえば液晶では日本で先に生産ラインがある世代までは垂直立ち上げに成功してきたが、 日本より先に最先端世代のラインを構築するようになったら、とたんに歩留まり低下に苦しみだした。 (たとえばシャープは過去の技術流出の失敗に学んで、第七世代ラインにおいては 見学に訪れた小泉首相にさえ最新鋭ラインは見学させなかった という位に情報管理が徹底している。 その結果、韓国メーカーのライン立ち上げ時の歩留まり向上率は大きく低下したと言われている。)

また、韓国メーカーが技術に優れた日本人技術者を引き抜きまくっているのはよく知られた話であるが、 経営手腕に優れた日本人経営者を引き抜きまくっているという話を聞いたことがあるだろうか?  当サイトは技術屋であるため韓国メーカーによる引き抜き話は身近な例で知っているが、 少なくとも当サイトは経営者に対する引き抜き話を一度も聞いたことがない。 経営判断力は韓国メーカー優位、技術力は日本メーカー優位というよい証拠である。 日本メーカーの技術力が低下しているのではなく、 経営判断力や投資余力が無いため負けたのであって、 無能な経営を技術力だけではカバーしきれなくなったと考えるべきであろう。

どうも日本のマスコミは、いいときには全てが良く、悪いときには全てが悪いと 考える傾向があるようでいただけない。 バブル期には「アメリカに学ぶものはもはや何もない。」 と思い上がり、今また日本企業の実力を見下している評価の仕方には非常に危ういものを感じる。 バブル期の日本企業の実力はまだまだアメリカ企業に学ぶ面があったし、 今また日本企業の実力はまだまだ世界に通用するレベルであろう。

3)
では、さらにお調子に乗って話を大げさにしてみよう。(当サイトの管理人はお調子者だからね〜。)

歴史上の天才はこのような成功体験への固執が見られるかというと、 そうではないところがおもしろい。 かなり大げさな例になるけれど、歴史上の偉人は違うのだ。

たとえば、歴史上の偉人でいうと当サイトの郷土の英雄・織田信長がそうだろう。 信長は桶狭間において少数による奇襲で今川義元を討ち取り、戦国乱世に名乗りを上げた。 しかし、信長が相手より少数の軍勢で闘ったのは桶狭間以外にはただの一度もない。

戦国最強を謳われた騎馬軍団を有する武田信玄が上洛を目指し南下してきたときがまさにそうだ。 三方原の合戦ではお義理に少数の援軍を徳川家康に送っただけで自ら直接対峙することは無かった。 自分の成功体験には決して固執せず、決して奇襲で信玄を破ろうとはしていない。 相手より少数の軍勢しか準備できないときは徹頭徹尾決戦を避けているのだ。

あるいは幕末の志士・坂本龍馬がそうだろう。 龍馬は北辰一刀流の達人(一説には免許皆伝の腕前)でありながら、護身用には刀ではなく拳銃を愛用している。 決して腕に自慢の剣法を用いてはいない。 もはや刀や槍の時代ではない事を熟知していたのである。

4)
これは少し嘘があって、BlueGene/Lではグローバルツリー結合網のルーターにはALUが装備されている。

スパコンで使われるアプリの中には、全体の総和を計算して全ノードにブロードキャストするというような用途が 多い場合があって、そのような場合はアムダールの法則によりノード数が多いこと自体が演算効率を大きく低下させる。 従って、このような場合にはこのALU付きルーターで構成されたネットワークが非常に大きな活躍をすると思われる。

BlueGene/Lは原理上非常に多くのプロセッサを必要とするため、このようなボトルネックの解消手段が必要不可欠であるが、 トポロジ的な役割から考えてツリー結合網にALUを装備するというアイディアは非常に優れていると思う。 (先にも述べたが、当サイトはBlueGene/L嫌いと思われているかもしれないが、この技術については非常に高く評価している。)