得意分野でかまわないから、TOP500ではなく研究で成果を出そう!   

2012年6月10日



まずはいつもの余談から。

今回の余談はGWで出かけた亀崎潮干祭の写真。 非PCネタなので先送りしていたのだけれど、今回は本文に写真がないし、 GWの話なので間が開きすぎる前にちょっとだけ掲載しておく事にした。

亀崎潮干祭の山車。
ここ知多半島は山車祭りの本場である。

この亀崎潮干祭、山車が浜辺の砂浜で方向転換するのが腕の見せ所。 重い山車が砂浜の上で進路を変えるのは非常に操作が難しいからね。

実際、ラストの山車が砂にはまって山車の回転に苦労していた。 一度山車の車輪が砂浜の砂に埋まってしまうと、動かそうとすればするほど車輪が沈んでしまう。 最後は他の山車の方々も集結して、一気に抜け出して解決していた。 いや〜、舗装道路と違って砂浜は本当に操作が難しそうだね。

知多半島は山車祭りの本場だけに、見所の多い良い山車祭りが各所にある。 GWに息抜きに行くには良いところだね。

何期まで首位でいられるのか?   
というわけで本題へ。 今回は京速計算機のネットワークに関する当サイトの予想の当否を検証してみた。

スパコンと言えば、そろそろ次回の発表が行われる季節である。 現段階でのチャンピオンは言うまでもなく京速計算機。 世界最速なのだから当サイト的には是非にでも見学に行きたいところである。 だが、京速計算機は設置場所が兵庫県なので、さすがに遠すぎて一般公開見学には行けない。 PCマニアとしてはちょっと悲しいねぇ。

次回のTOP500発表ももう近い。京速計算機は2期連続の首位達成を成し遂げたわけであるが、 3期連続首位は成し遂げられるのであろうか? (正直、直感的には今回はアメリカの反撃が予想されるので難しいところだと思う。 前回はIBMがBlue Watersでドタキャンの大失敗しているので、BG/Pで首位奪還しなければ面目丸つぶれになるからだ。)

ちなみに、TOP500はスパコンの性能指標としては単純過ぎるというのが当サイト的意見ではある。 本当の性能指標として考えるならば、 ネットワーク性能とかメモリバンド幅などを含めた他の性能指標との総合判断が必須だ。 ただ、幸いなことに京速計算機は他の項目でもTOPを達成している。

だが、一応スパコン性能と言えばTOP500が代表例なので、 これの首位受賞回数で考えてみよう。 日本製スパコンの歴代順位は下記の通りである。

1位:地球シミュレータ(5期連続TOP)
2位:NWT(計4期TOP)
3位:京速計算機(2期連続TOP-継続中)
4位:CP-PACS(1期TOP)、SR2201(1期TOP)

と言うわけで京速計算機は優勝回数ではおそらく歴代3位の立場になると推測される。

当サイト自身のスパコンの評価基準は、シミュレーションによる研究成果として何が成し遂げられるかだと思っている。 TOP500は同一基準で評価するためのやむを得ない順位付けであり、本来の業務目標ではない。 京速計算機の得意分野はキャッシュが効く分野や遠隔ノード間通信の重要度が少ない分野だろうから、 生体など規模の大きいレベルでの分子シミュレーション等が適していると思われる。

幸いにして過去にはシミュレーションで成果を出すことが難しかった分野でも成果が出てきているようである。 たとえば、こんな記事が 当サイト的にはおもしろかった。セラミック工学分野でシミュレーションが成果につながるという話は 従来はあまり聞いたことがなかったからね。

地球シミュレータは地球温暖化研究を通じてIPCCのノーベル平和賞受賞に貢献している。 京速計算機では流体分野は得意ではないだろうから、難病の特効薬でノーベル医学生理学賞を取るとか、 常温超伝導体でノーベル化学賞を取るなんて成果に期待したいところだね。

京速計算機Tofuインタコネクトに対する予想的中度。   
さて、 当サイトの京速計算機予想はここで掲載していて、 またネットワーク以外に対する検証もここで行っている。 ネットワーク以外での予想の的中度は、完全ではないがそこそこ当たっているという程度であった。

では、ネットワークに対する的中度はどの程度だったのであろうか? 京速計算機のネットワークシステムはTofuインタコネクトという独自の機構を使用している。 このTofuインタコネクトが、当サイトの予想と合っているか、違っているかが今回のネタである。

まず、トポロジに関してはほぼ完全に的中している事がわかっている。 当サイトの予想は2次元、または3次元のメッシュ。 実際は6次元トーラス。 ただし、6次元とは言ってもそれは故障対応を見越しての2重化によるもので、 実際は3次元相当。また、メッシュとトーラスの違いは端がつながっているかどうかだけなので、 ほぼ的中していたと言って良い。

当サイト的には、ネットワークトポロジは物量作戦の設計上なるべくシンプルにする必要があると考えていたから メッシュを予想したのである。 つまり、的中は偶然ではなく、考え方も合っていたと思う。

次元が3次元相当の6次元である事にも意味があって、それは当サイトが2次元または3次元と予想した内容に関係している。 つまり、Tofuインタコネクトの内でa軸とb軸はシステムボード内のICCチップ間の接続であり、 c軸はシステムボード間をバックプレーンで接続しているからだ。

これは、当サイトが過去に「メッシュの次元を2次元とすれば現状の技術水準でも プリント基板上に簡単に実装できるメリットがあるし、 これで次元が低いことが性能的に問題になるようならば3Dメッシュとして 日本得意の実装技術で1次元分の実装を工夫する事になるだろう。 」 と予想した方式と似ている考え方だ。 6次元なので、これとは別にX,Y,Z軸の話もあるが、これもノード間での物理的な接続と アーキテクチャ的な構造が一致するため設計優位となるという当サイトの考え方と一致している。 つまり、アーキテクチャの選択理由も当サイトの見解とかなり一致している。

また、当サイト的には共有メモリを予想していたのだけれど、これはどうなのであろうか?

結論から言うと、この予想は外れた。 つまり、完全な共有メモリ方式ではなく各種パケットでとなっている。 隣接ノード間以外への伝送ではパケット化が必須なので、 当サイト的な考え方だと遠隔伝送の場合にはかえって2度手間が大きく、 (遠隔ノード間ではCPU自身が再伝送措置を行う必要が生じるので、タイムラグが増えてしまう。) 総合的に見るとTofuインタコネクトの方が優位と考え、一つの方式に統一したためだろう。

ただし、全然予想外れという訳ではなく、パケット化時のオーバーヘッドをできる限り減らすように工夫されている。 方式は違うとはいえ目的となる考え方はかなり近く、当サイト的な発想に近い設計なのである。

当サイト的な発想がこの件で的中しなかった理由は、 当サイト的な考え方では隣接ノード間では富士通の手法よりも優位であるが、 遠隔ノード間での無駄が多すぎるという点にあると思う。 つまり、メッシュ・トーラスというトポロジの特徴を生かそうとするあまり、 遠隔ノード間通信の重要度を低く見過ぎたという事が予想ミスの最大原因だと思う。

あと、当サイトでは「問題はノード数が増える事による総和計算などの遅延の増大だが、 これは遠隔ノード間をつなぐインターコネクトに一部の演算機能を肩代わりさせる事で対策すると思われる。 」 と予想していた。

これに関しては、ほぼ完全な的中度であった。 つまり、Tofuインタコネクトでは総和計算をICCチップで行い、 わざわざCPUまでデータを伝送する必要を無くす機能を有している事がわかったのである。 これは当サイトの考え方と完全に一致する。

この機能のおかげで、この手の演算では5〜15倍の高速化が実現できているらしい。 総和計算はアプリによっては一番の支配要因になったりする場合も結構あるらしいので、 アプリの種類によっては絶大な効果を示すであろうと思われる。

そして、最後は当サイトが過去に予想ミスとしていた点が一つ事実上の的中となった。 つまり、富士通は次世代機でCPUとICCのワンチップ化構想を発表したのであった。

当サイトでは最初からワンチップ化を指摘してきたわけだが、 京速計算機では実現されていなかった。 そこで、この件に関しては予想ミスとして記事を書いてきたわけだ。 だが、実際は当サイトの考え方は予想ミスではなく、富士通にとっても正しい構想であった。 予想が外れたのは、集積度の関係で現段階では実現できなかったというだけの話なのであった。

と言うわけで、CPUとTofuインタコネクトの双方で当サイトの予想的中度が判明した。 結論は、満点ではないが十分に及第点の的中度であり、 総合的に見ても京速計算機に対する当サイトの予想はそこそこ良い的中度。 プロならぬアマチュアであるというハンデを考えたら、それなりに上出来な結果だと思う。

それにしても、今後のスパコンを考える上でネットワークの影響度は高まっていくと思われるわけだが、 対策としては何が時代のトレンドとなるのであろうか?  この部分に投資しないで理論ピーク性能だけを高めるという手法だと、活用できる分野がどんどん狭くなってしまうという致命的な問題が生じる。 アプリのアルゴリズム改善でやれば良いという意見もあるが、これは既に何十年前からある意見であり、 なおかつ何十年前からスローペースの進捗状況なのである。 (FFTのようなブレークスルーもあるにはあるが残念ながら例外的事例だ。 逆に気象用途ではこの考え方が10年以上も失敗を続けている。) かといって、規模が大きくなればなるほどこの分野のハードウエア的な難易度も高くなる。 ハードウエアで解消と言った方向性は、コスト面とハードウエア量面で困難だ。

直近ではTSVによる3次元実装化等が考えられるが、これで万事OKとはならないだろう。 消費電力面でも遠隔データ転送が高消費電力化に直結するだろうから、 いずれにせよ演算性能ではなくデータ転送性能がボトルネックになる時代である。

最終目標はTOP500首位ではなくノーベル賞級の研究成果達成。   
と言うわけでハードウエアの話はこれでおしまい。 京速計算機の今後の評価基準は肝心要の科学的研究成果での業績という事になる。 TOP500での首位継続は国民の注目度という意味では重要に思えるけれど、 スパコン本来の存在意義ではほとんど意味のない項目なのである。 そして、本来の意義とは本業の研究テーマでの業績達成である。

地球シミュレータでの場合は、その名の通り地球温暖化シミュレーションであった。 結果、地球シミュレータはIPCCにおいて日本の貢献度を劇的に向上させ、 地球温暖化研究のノーベル賞受賞に大きく貢献したという業績を達成している。

つまり、京速計算機での今後の成果とはTOP500での首位継続では無い。 京速計算機の得意分野は気象シミュレーション分野ではないのであるから、 最初に書いたとおり分子シミュレーションによる難病の特効薬発明とか、常温超伝導体の発見とか。 つまり、地球シミュレータの時と同様なノーベル賞級の研究成果を出せるかどうか。 それが、京速計算機の真の意味での業績判断基準になると思う。

では、なぜ有効分野が異なるのであろうか?

当サイト的には、それはアプリの対応だと考えている。 京速計算機レベルとなると、並列化度が極めて高いためプログラミングの難易度が高くなる。 なおかつ、スカラ型なので気象シミュレーションなどに代表される流体分野ではB/F比のボトルネックが発生する。

さらに問題なのは、B/F比問題をキャッシュ対応で解消させようとすると、 インターコネクトとの相殺ボトルネック問題が発生してしまう事だと考えている。 つまり、B/F比の低さをキャッシュヒット率アップで対応させようとすると プロセッサ1個あたりのデータ数を減らす必要があるが、 これを行うと今度はインターコネクト間でのデータ伝送量が増えてしまうのである。 今度はインターコネクトのレイテンシやバンド幅がボトルネックになってしまう。

かといって、CPU1個あたりのデータ量が多い状態でキャッシュヒット率を高めることは原理上難しい。 CPU1個あたりの取り扱いデータ量を増やせばインターコネクトボトルネックの発生は解消できるが、 今度はキャッシュヒット率が低下してノード内の演算効率が急激に低下してしまうのである。

要するに、問題が一方だけならば対応は可能だが、 一方の解消対策がもう一方の問題の難易度を高めてしまうという自己相殺問題が発生しており、 両者のボトルネックを同時に解決する事がきわめて困難なのが京速計算機レベルにおける大課題であると当サイトは考えている。

同様なことはハードとソフトの関係でも言える。 B/F比対応をキャッシュでやろうとすると、それはアプリの開発難易度を大幅に高めてしまうからである。 その難易度がいかに高いかは、アプリの種類によっては アルゴリズムの抜本的改善が10年以上も進んでいない分野が結構存在することで容易にわかる。 当サイトのような無能人ならばともかく、日本を代表する頭脳集団でさえ解消困難な難易度なのである。

また、同様にどの分野で研究成果を出すかも重要な選択肢となる。 分野Aと分野Bで適性が全然違うのならば、そのアーキテクチャに適した分野で成果を出す方向性が正しい。 (ただし、その場合は適していない分野で性能を出せるスパコンの開発も別途の必須研究項目となるが...)

この場合、本来の目的を原点に戻って考えれば、キャッシュかインターコネクトかとか、 ハードかソフトかとかそういう問題ではなく、 解決方法が何であれ目的となるシミュレーションで研究成果が出せるかどうかがもっとも正しい判断基準となる。 と言うわけで、京速計算機の場合は成果が出せる分野が地球シミュレータとは異なる分野になると予想されるわけ。

ただ、幸いなことに分子シミュレーションのような分野では時代背景として重要度が増しつつある上に、 先にリンク先で示したとおり シミュレーションによる成果もある程度出せるようになってきていると思う。 (粒界偏析は通常は不規則構造で脆性破壊を促進する場合が多いのであるが、 超構造で逆に焼結体強度が大きいということをメカニズムを含めて解明したのは非常に良い研究成果だと思う。) つまり、この分野でのスパコンの重要度は増してきているのである。

と言うわけで、成果目標として「地球温暖化予測」ではなく「難病の特効薬発明とか、常温超伝導体の発見とか」と当サイトが書いているのは、 このような事情が背景にあるからなのだ。

プログラミングも難易度がいかに高いかは十分に承知している。 だが、これだけの予算を投入したのであるから、地球シミュレータやSPring-8のように本業で実績を出す事が絶対条件だ。 京速計算機のTOP500世界一も嬉しいことであることに間違いはないが、これは決して本来の目的ではない。 (TOP500で世界最速になる事自体が目的ならば、線形代数専用プロセッサを作れば良いだけの話である。)

スパコンとしては過去最大の税金を投入しているわけだし、 当サイト的には本業の科学分野における成果をバッチリと達成していただきたいと考えている。 その最終目標はノーベル賞級の研究成果達成であるべきである。 これだけ高い潜在性能を持っているのであるから、やれば成果は出るはずであるのだから。