Previous | ToC | Next |
2014/11 の Top500 には、久しぶりに Intel 等の巨大企業ではないベンチャー の独自開発によるプロセッサがエントリーしました。 KEK に設置された ExaScaler-1 「睡蓮」です。 Dual Xeon の普通のノードに、 PEZY-SC なる独自開発の MIMD 1024 コアプロセッサを2つ載せた ボードを4枚搭載したたシステムです。
まず、1024 コア、倍精度浮動小数点演算器でもその数、という膨大な演算器を もちながら、チップサイズは 400平方ミリ程度に抑えており、トランジスタ利 用効率が高いことがわかります。NVIDIA の GK110 Kepler は550平方ミリで倍 精度の演算器の数はほぼ同じ960個です。もちろん、汎用CPUでは演算器の数は はるかに少なくなり、22nm テクノロジーで600平方ミリを超える 18コア Haswellでも 288個にとどまります。
このように、1024コアの MIMD という極端な設計で、チップサイズを小さくで きたのは、要するに1コアが単純で小さいからです。ハードウェア・マルチス レッドにして、スレッド内での命令間依存関係をあらかじめ解決することで、 複雑なデコーダやスケジューラが不要なアーキテクチャにしているようです。
もっとも、1024コアに命令、データを供給するために、命令キャッシュもデー タキャッシュも階層的になっています。なので、ハードウェアで多数のスレッ ドがあっても、性能をだすためにはあまり大きくない最内側ループの命令セク ションを共有できるようなコードでないと難しいのでは?と想像されます。
これは要するに多くのコアがほぼ同じ動作をするということですから、SIMD でもいいんでは?という気が個人的にはしなくもありません。
が、アプリケーションを書く側から見ると、MIMD で階層キャッシュでスレッド で動く、という馴染み深い構成のほうが安心できるし、性能がでるかどうかは ともかく数千スレッド発生させれば並列化はできるわけで、アプリケーション が書けそうな気がする、というのはやはり極めて大きな「売り」であると思い ます。我々が昨年度まで検討していた「加速部」では
次期フラッグシップシステムに係るシステム検討ワーキンググループ中間取りまとめ で、
まあその、キャッシュベースの MIMD システムは、実際に理論ピークに近い性 能をだそうと思うと大変そうではありますが、多様なアプリケーションが とりあえずは動く、というのは大きいと思います。 試作した GRAPE-X を 400平方ミリで作れば4000コアくらいはいっ て、トランジスタ効率では3-4倍、電力効率は実力ではどのへんだろう?と いうところです。
とはいえ、PEZY-SC のある意味重要な点は、コア内 SIMD を採用しないで、そ の逆にコア数を極限まで増やしている、ということです。これによって私が 121 で書いたワイドSIMDの問題を回避し、アプリケーション 開発の困難さを著しくさげていることは本質的に重要です。アプリケーション からコンパイラにいたる、ソフトウェアの全ての階層で、やるべきことが 大きく減り、より本質的な問題に取り組めるようになるからです。
また、1コアが物理的に小さいため、データ移動の距離が小さく、電力性能を 上げやすい、というのも、コア内ワイドSIMDに比べて有利です。
超メニーコアアーキテクチャの方向は色々ありえるわけですが、現在主流の コア数、コア内 SIMD 幅を同時に広げていく方向はおそらくもっとも効率の低 い、近い将来に破綻するアプローチであり、コア内でのSIMD 幅は考え直す必 要がある、ということを前節に書いたわけですが、実際に考え直す(というか、 始めからそんなものは採用しない)のが確かに効果的であることを PEZY-SC は示しているように思います。
まだ、電力性能を大きく改善する余地はあるようにも見えますので、来年6月には 8-10 GF/W 程度を実現することを期待します。
Previous | ToC | Next |