後藤弘茂のWeekly海外ニュース

ハイブリッドアーキテクチャでスパコン市場に挑むNVIDIA



●スーパーコンピュータとクライアントの技術が接近する

 かつてスーパーコンピュータは、一般人からは遠い世界のマシンだった。しかし、現在ではスパコンと身近なコンピュータの間にどんどん技術接点が産まれつつある。それは、スパコンとエンドユーザーの使うコンピュータの両方で、求められる技術上の要素が似通って来ているからだ。

 現在のスパコンの目指している2018~2019年の電力効率の最終ゴールは50GFLOPS/Watt。これを身近なマシンに置き換えると、スマートフォンで100GFLOPS以上、ノートPCで1TFLOPS、デスクトップや据え置きゲームコンソールで10TFLOPSとなる。つまり、クライアント側のコンピュータが目指している性能ラインも、ほぼ同列に並ぶ。スパコンが、クライアントより電力を食っていい時代は終わり、組み込みプロセッサ並の省電力性が求められるようになっている。そのため、組み込みからスーパーコンピュータまで、省電力化のアプローチも共通して来る可能性が高い。

コンピューティング性能と消費電力
PDF版はこちら

 技術上の接点としては、組み込みの省電力技術がスパコンに組み込まれ、その一方でベクトルスーパーコンピュータで培われた技術がクライアントGPUへと流れ込みつつある。こうした技術の融合化はどんどん進展すると予想される。今後のクライアント側のコンピュータの技術の方向を知るためには、スーパーコンピュータの動向を知る必要が高まっている。

 この潮流のまっただ中にいるのは、GPUをHPC(High Performance Computing)の世界に浸透させようとしているNVIDIAだ。そして、NVIDIAはGPUコンピューティングを推進するために、スーパーコンピュータ業界から有力な人材を集めつつある。米国のスーパーコンピュータの旗手CrayのCTOを務めたSteve Scott(スティーブ・スコット)氏は、最近、NVIDIAが獲得したスーパーコンピュータ業界の大物だ。

 Scott氏は、NVIDIA内でGPUコンピューティングを担当するTesla business unitのCTOを昨年(2011年)8月から務めている。NVIDIAはこうした人材を集めることで、“デバイス屋 ”から“コンピュータ屋”へと転身を図っている。

NVIDIA製GPU搭載のスーパーコンピュータ

●Crayから移ってきたTeslaのCTO

 Scott氏はCray時代、Cray X1のチーフアーキテクトを務めた。Cray X1は2003年に登場したベクトルアーキテクチャのスーパーコンピュータだった。スーパーコンピュータは、90年代から汎用CPUの超並列マシン(MPM:Massively Parallel Machine)の時代に入り、その陰で、ベクトルスパコンはどんどん劣勢になって行った。ところが、NECのベクトルスーパーコンピュータ、地球シミュレータの登場で一転、ベクトルノードを大規模に並列化する流れが台頭した。そして、このベクトルリバイバルの流れに乗ってCrayが投入したのがCray X1だった。

スーパーコンピュータの歴史
PDF版はこちら

 実際には、このベクトルスパコン復権は大きな潮流とはならなかった。しかし、その流れは、現在のGPUスーパーコンピュータへと引き継がれている。GPUもまた、ベクトルユニットを大規模に並列化したアーキテクチャを取っているからだ。Scott氏は、現在のNVIDIAのGPUスパコン戦略につながる潮流のマシンを開発したという点で象徴的な経歴を持つ。Scott氏は、Cray時代を振り返り次のように語る。

 「私はCrayにいた時に、Cray X1を始めベクトルプロセッサについて多くの経験を積んだ。ベクトルプロセッサの利点は、エネルギー効率がよいことだ。しかし、Cray X1の時は、まだ電力効率が設計上の最も重要な要素ではなかった。実のところ、2005年頃までは、Crayでは電力について心配していなかった。

 しかし、2010年頃までには、Crayにとっても電力が最も重要な課題になった。そこでGPUが浮上してきた。GPUは、膨大な並列スレッドを走らせるために設計されているため、極めて電力効率が高いからだ。我々が設計したような標準的なベクトルプロセッサよりも、さらに電力効率が高い。しかも、ベクトルプロセッサとよく似た部分も多い。このことが、私がCrayからNVIDIAへ移った理由と関連している」。

 Scott氏は、電力効率が急速に重要要因となったことで、流れが一変したと説明する。もともとスパコンでは、電力についての制約はほとんどなかったのが、2005年以降は急速に大型システムでも電力が制約条件として浮上した。その結果、GPUが有力な技術として浮上したという。

 「私がCray時代に、オークリッジ国立研究所(Oak Ridge National Laboratory:ORNL)のスーパーコンピュータを開発した。ORNLの現在のシステム「Jaguar」(Cray XT5ベース、Opteron 224,256コア)は、2008年に設置した。Jaguarを開発したあと、我々は次の世代をどう作るかを検討した。電力が制約要素になったために、電力効率を一定レベルにまで上げる必要があることは明確だった。

 そこで我々が出した結論は、我々が求めている電力効率とパフォーマンスのレベルは、伝統的なマルチコアCPUでは達成できないというものだった。当時Crayは、標準的なマルチコアCPUを使って5世代のスーパーコンピュータを開発して来た。しかし、この先は、Crayが必要とするレートでパフォーマンスを伸ばすことができないと判断した。そこで、2009年、私がCrayにいた時に、我々は、GPUを使うことを決断した」。

 Scott氏がCrayを離れた後で納入されたOak Ridge National LaboratoryのCray製の新スパコン「Titan」は、NVIDIAの「Kepler(ケプラ)」を18,000個使っている。米国のスーパーコンピュータの最重要サイトの1つであるOak Ridge National Laboratoryを抑えたことは、NVIDIAにとって大きなマイルストーンだ。

Cray XK6

●技術モデルとビジネスモデルが合致するNVIDIA

 Scott氏は、こうした技術の潮流の変化が、CrayからNVIDIAへと移ったことに関連しているという。しかし、決定打となったのは、NVIDIAがビジネス面でも優れたモデルを持っていたことだと言う。

 「Crayでは、最初はIntelのハイパフォーマンスコンピューティングプロセッサを検討していた。しかし、Intelはそれをキャンセルしてしまった。Intelがキャンセルした理由は、彼らがビジネスモデルを確立できなかった点にあった。彼らのプロセッサを、大ボリュームで出荷できる見通しが立たなくなったからだ。

 これこそが、私がNVIDIAに惹きつけられた理由だ。NVIDIAは、正しい技術ソリューション、つまりGPUとCPUによるハイブリッド構成のソリューションによって、電力効率の問題への解答を見つけていた。しかし、それだけでなく、NVIDIAはそのソリューションを開発できるビジネスモデルも備えていた。それはグラフィックス市場だ。

 NVIDIAは、同じプロセッサ設計で、グラフィックス市場とHPC市場の両方をカバーできる。それによって、開発を継続するために必要なだけの出荷量を確保できる。HPC市場だけなら、NVIDIAもプロセッサを開発できない。市場が開発コストをまかなえるほど大きくないからだ。膨大なグラフィックス市場のボリュームをテコにすることで、HPC向けの開発コストをまかなうことができる。言ってみれば、NVIDIAは昼間の仕事としてグラフィックス市場を、夜の仕事としてHPC(High Performance Computing)市場を持っているようなものだ(笑)。そのように、技術モデルとビジネスモデルの両方を備えている点が、私にとってNVIDIAの魅力だった」。

 Cray時代に、IntelのLarrabee(ララビ)を検討していたScott氏は、Intelがビジネスモデルを確立できるメドが立たず、Larrabeeの市場投入を諦めるという事態を見た。その結果、技術面だけでなく、その技術を支えるビジネスモデルを持っているという面でNVIDIAに将来性を見いだしたと言う。ちなみに、このストーリーは、専用プロセッサのベクトルマシンから、汎用CPUを使った超並列マシンへの主流が移った90年代のスパコンと似通っている。

マルチコアCPUの課題

●チップのコスト増を埋め合わせる開発コストの償却

 NVIDIAは、本業であるグラフィックスと副業であるHPCを同じGPUアーキテクチャでカバーすることで、旧来のベクトルスーパーコンピュータではできなかった、大ボリュームのベクトルマシンというモデルを作った。同じことは、ゲーム機PLAYSTATION 3(PS3)を背景にしたCell Broadband Engine(Cell B.E.)も試みたが、毎年アーキテクチャを進化させることができるGPUが追い抜くことになった。

 しかし、そのために、NVIDIAは代償としてグラフィックスとHPCの両方の機能をワンチップに詰め込まなければならくなった。これは、NVIDIA GPUのダイを肥大化させる要因となっている。Scott氏は次のように言う。

 「確かにグラフィックスとHPCの両方をカバーすることでのペナルティはある。Fermiでも、コンピュートには使わずにグラフィックスにだけにしか使わない機能ユニットがいくつか存在する。

 しかし、それらのユニットは使わない時にパワーダウンすることが可能なので、電力面ではムダにならない。コスト面では確かに数平方mm分は余計にかかる。しかし、そのコストペナルティはそれほど大きいわけではない。グラフィックス市場の膨大なボリュームの出荷の大きなアドバンテージは、そのコストを埋め合わせて余りある。

 その逆に、HPC向けのチップでは、グラフィックス市場では必要のない機能のコストが加わる。ラフに言えば次の2点だ。まず、高い倍精度浮動小数点演算パフォーマンスで、グラフィックスでは必要とされていない。もう1つはECCで、これは外付けメモリに対するものと、内蔵メモリに対するものの両方で、大スケールのシステムで信頼性を維持するには必須だが、グラフィックスでは必要がない。

 このように、グラフィックスとコンピュートのどちらの用途でも、それぞれに特化したユニットがありコスト負担となっている。しかし、そのためのコスト増より、両市場に対応することで得られるボリュームの利点の方がずっと大きい」。

 トータルで見れば、グラフィックスとHPCの両市場をカバーすることによるスケールメリットの方が、両市場をカバーするためのコスト増より、はるかに大きいとScott氏は見ている。これは、ほんのわずかな顧客向けにしか出すことができないCrayベクトルスパコンを開発して来たScott氏の実感だろう。

●ハイブリッドコンピューティングへと移行するHPC

 NVIDIAのコンピューティングに対する考え方は、今後はハイブリッドコンピューティングへと移行して行くというビジョンに支えられている。ヘテロジニアス(Heterogeneous:異種混合)とも呼ばれる、CPUとGPUを複合したコンピューティングモデルだ。それは、高い電力効率と高い絶対パフォーマンスを両立できるのは、ハイブリッドモデルだけだからだという。Scott氏は次のように語った。

 「HPCでは、ハイブリッドプログラミングパラダイムへの移行が求められている。なぜなら、電力の制約が、世代毎にきつくなっているからだ。プロセッサの駆動電圧が、以前のように低下して行かないため、世代毎に電力効率を高めて行かなければならない。

 現在では、プロセッサコアの設計作業のほとんどは、電力効率の向上に向けられている。そして、現実的な解決策はハイブリッドアーキテクチャに移行することだと、我々は信じてる。なぜなら、シングルスレッド性能と、並列処理性能の両方に最適化したプロセッサコアを設計することはできないからだ。

 例えば、シングルスレッドパフォーマンスに最適化したIntelのXeon Westmere(ウエストミア)では、32nmプロセスで性能当たりの消費エネルギーは1.7nj(ナノジュール)/flopだ。それに対して、スループット性能に最適化したNVIDIAのFermi(フェルミ)は40nmプロセスで0.23nj/flopだ。CPUとGPUを比べると、7倍も性能当たりの消費電力が異なる。

 シリアル処理と並列処理、この両方に最適化したコアを作ることは不可能だ。そのため、それぞれに最適化したコアを組み合わせるハイブリッドアーキテクチャが、電力効率の面では望ましい。ハイブリッドアーキテクチャでは、ほとんどの処理は電力効率の高いコアで実行し、シリアル処理はシングルスレッド性能の高いコアで実行する。それによって、アムダールの法則のボトルネックを回避する」。

 アムダールの法則によって、実行するコードのうち、並列化できない部分が、全体の実行時間を制約してしまう。そのため、並列コアに、シングルスレッド性能の高いコアを組み合わせなければ、最高の性能が得られない。そうした考えから、NVIDIAはハイブリッドコンピューティングを目指している。そして、アプローチに多少の差はあれども、そのビジョンは業界に共通のものとなりつつあるとNVIDIAは見ている。

HPCはハイブリッド化へ向かう
GPUとCPUの消費電力あたりの性能の比較
消費電力あたりの性能が向上
アムダールの法則
PDF版はこちら
プログラムとGPUコンピューティング
PDF版はこちら

●GPUのモデルとよく似たIntelのMICアーキテクチャ

 「IntelのMIC(Many Integrated Core)アーキテクチャ自体は技術的には正しいアプローチだと考えている。我々と同様にハイブリッドアーキテクチャを選択したからだ。MIC自体はスループットに最適化したアクセラレータで、シングルスレッドに最適化したXeonと組み合わせる。我々の、CPUとGPUの組み合わせと、よく似ている。また、AMDもFusionアーキテクチャで同じ結論に達している。

 Intelは我々のGPUのようなスループットに最適化したコアは持っていなかった。しかし、CPUコアではリッチなレガシーがある。そこで、彼らは20年前のPentiumコアを利用することにした。シンプルで電力効率の高いPentiumコアに、ワイドベクトルユニットを加えることで、電力効率の高いアーキテクチャを実現した。MICはXeonよりはるかに電力効率が高い。彼らのMICコアは、x86命令セットを拡張したものだが、x86命令セット自体はそれほど大きなペナルティではない。電力面でいくらかのペナルティがあるが、大きな不利ではないだろう」。

 NVIDIAのScott氏は、IntelやAMDを含めた業界の流れをこのように説明する。NVIDIAの観点では、業界全体が足並みを揃えてハイブリッドコンピューティングモデルへと向かっており、その流れは確実だと見ているようだ。そして、ハイブリッドコンピューティングの先に控えているのは、エクサスケールスパコンだ。

IntelのMIC

●エクサスケールスパコンは20Mワットのゴールを達成できるか?

 ExaFLOPSの演算性能を持つ次世代スパコンについては、米国防高等研究計画局(Defense Advanced Research Projects Agency:DARPA)が、2018年頃を目処に2,000万Wを目標としたマシンを作るという路線を発表している。NVIDIAとIntelは、そのExaFLOPSスパコンでレースを繰り広げており、NVIDIAは「Echelon(エシュロン)」プロジェクトを発表している。1ExaFLOPSを20Mワットで達成するためには、50GFLOPS/Wattの電力効率を達成しなければならない。Scott氏は次のようにコメントする。

 「率直に言うと、その目標には少し届かないかも知れない。我々NVIDIAは、ExaFLOPSコンピュータの開発の展望を検討し続けてきた。実現可能性としては、我々が継続性能でExaFLOPSを達成できるコンピュータを、2018または2019年に作ることはできると思う。しかし、そのシステムの電力は2,000万Wではなく、3,000万Wになってしまうかもしれない。まだ断言するのは時期尚早で、見積もりより改善される可能性はある。2,000万W台後半か、それよりも低くできるかも知れないが、2,000万Wきっかりにできるかどうかは、正直わからない」。

NVIDIAの次世代GPU「Echelon」
PDF版はこちら

 エクサスケールの電力の壁は、非常に険しく、ハイブリッドコンピューティングモデルでも、最初の段階では目標に届かない可能性がある。