【IDF 2011レポート】
Justin Rattner氏キーノートスピーチ
~メニイコア時代が到来する

Rattner氏

会期:9月13日~15日(現地時間)
会場:米国サンフランシスコ モスコーンウエスト



●IntelのCPUの未来の方向性を明確にしたRattner氏

 「2コアから4コアが生まれ、4コアから8コアが生まれ、今、我々はメニイコア時代の始まりにいる。もっともっと多くのコアが実現する」。

 米サンフランシスコで開催されたIntelの開発者向けカンファレンス「Intel Developer Forum(IDF)」のキーノートスピーチで、同社の研究部門を束ねるJustin Rattner(ジャスティン・ラトナー)氏(VP, Director, Intel Labs, Intel)は、メニイコア時代の到来を宣言した。

 ラトナー氏はスピーチの冒頭で、2006年から始まったIntelのマルチコア化の流れを説明。電力効率を高めるために、CPUが急速にコア数を増やしてきた過去5年間を振り返った。そして、冒頭のように、いよいよ数十コアをワンチップに載せたメニイコア時代へと突入することを告げた。

5年前はデュアルコア10コア時代の到来

 Rattner氏は、今回のキーノートスピーチでは、Intelのプロセッサの大きな流れを概観した。小型のCPUコアを集めたメニイコアへと向かうハイエンド向けCPUと、CPUとGPUの統合へと向かうクライアント向けCPUの流れを説明。それぞれ、既存のCPUコアより効率的に高いコンピューティング性能を発揮できることを示した。

 Rattner氏はハイパフォーマンスコンピューティング(HPC)での高パフォーマンスを必要とする顧客の例として「CERN(欧州原子核研究機構)」の世界最大の粒子加速器「LHC(Large Hadron Collider)」を紹介。また、メニイコアの用途はHPCに限られないと説明、より幅広いプログラムがメニイコアを扱えるようにするためのツールやコンパイラにも触れた。

 一方、クライアントCPUでは、Sandy Bridge(サンディブリッジ)のCPUコアの高い演算性能によって、負荷が高く通常は専用システムを必要とする4G LTE無線の基地局のリアルタイム処理をCPUだけで行なえることを紹介。また、顔認識によるセキュリティシステムをSandy BridgeのGPUコアを使って高速処理するアプリケーションも示した。

 さらに、Rattner氏は、2018年以降のExa(エクサ)FLOPSスーパーコンピュータでは、極めて高い電力効率が必要になることを指摘。そのための、要素技術としてCPUを超低電圧駆動させる「ニアしきい電圧(Near-Threshold Voltage)」技術や、消費電力を抑えたまま超広帯域メモリを実現できる「Hybrid Memory Cube」技術をデモを交えて紹介した。まとめると、Rattner氏は、今後のIntelのメニイコア化するCPUの方向性を示し、必要となる技術の開発が着々を進んでいることを証明した。

CERNでの利用LTE無線基地局での処理さまざまな技術の方向性

●メニイコアのプログラミングモデルを強調
32コアのCPU

 Intelは、現在、ハイパフォーマンスコンピューティング(HPC)市場向けにソフトウェア開発のプラットフォームとして「Knights Ferry(ナイツフェリー)」と呼ばれる32コアのメニイコアCPUを一部の研究者に提供している。Rattner氏が示した右のスライドがKnights Ferryで、チップ自体のコードネームは「Aubrey Isle」だ。アーキテクチャ自体を、Intelは「MIC(マイク:Many Integrated Core)」と呼んでいる。MICは、XEON系など通常のIntel CPUと組み合わせたヘテロジニアス構成で使うことを前提とした、コプロセッサとなっている。

 Rattner氏は、スピーチの中で、Knights Ferryでの経験を活かして、次のバージョンのMICアーキテクチャCPUを、正式な製品として出荷すると語った。22nmプロセスで50コア以上を集積する「Knights Corner(ナイツコーナー)」が、初の製品版メニイコアとなる。もっとも、Knights Cornerのアナウンス自体はすでに行なわれているため、IDFでの発表はその再確認に過ぎない。

 MICの紹介の中でRattner氏は、Intelのヘテロジニアス(Heterogeneous:異種混合)コンピューティングが、他社のアプローチとは本質的に異なることを強調した。「他社の中にはGPUのような特定用途向けプロセッサに、ワークロードの一部を実行させる」(Rattner氏)が、Intelの「KnightsファミリとMICアーキテクチャでは、基本的に極めて一貫したプログラミングモデルを提供する。例えば、Xeonなどのプログラミングに慣れているなら、非常に簡単にMICコアをプログラムできるだろう」と言う。

 MICアーキテクチャが簡単にプログラムできる理由は、Larrabee(ララビ)命令セット拡張を実装した小さなIA(x86)CPUコアを集積したメニイコアだからだ。Intel CPUのプログラミングに慣れていれば、拡張命令さえ対応すればMICをプログラムできる。MICは、パフォーマンスアップのために、各コアが512-bit幅のベクタ実行パイプラインを備えている(Sandy BridgeのAVXは256-bit幅)。下はLarrabeeの時のベクタパイプラインだ。MICでも、ベクタパイプの基本構造は大きく変わらないと見られている。

Larrabeeのベクタユニット
PDF版はこちら

 初代Larrabeeでは、長いベクタ演算ユニットに対して、通常のスカラ演算パイプは2命令実行のPentiumパイプラインだった。Intelは、Larrabeeの後継CPUではスカラパイプをAtom系のSilverthorne(シルバーソーン)アーキテクチャに置き換える予定だった。MICも、基本アイデアは、同じで、スカラパイプは低パフォーマンスな構成となっていると見られる。これは、IntelのCPU設計の経験則『ポラックの法則(Pollack's Rule)』で、CPUのサイズを2倍にしても、整数系演算のパフォーマンスは平方根程度にしか向上しないためだ。そのため、CPUコアを小さくした方が、電力当たりのパフォーマンス効率が向上する。メニイコアの基本的な発想は、コアを小さくしつつ、ベクタ演算性能を上げる点にあり、その意味ではGPUとも共通している。

ポラックの法則
PDF版はこちら

●世界最大の粒子加速器のデータを解析

 MICアーキテクチャは、膨大な演算を必要とするアプリケーションを劇的に高速化できる。Rattner氏は、そうした、アプリケーションの例としてCERNでのLHC粒子加速器での、実験結果の解析を紹介した。IDFの壇上にCERNのopenlabのAndrezj Nowak氏が登場、LHCでは1秒間に4,000万回の衝突が発生、その結果、年に15~25PB(ペタバイト)のデータの解析を行なう必要があると説明した。そのため、CERNでは25万のIntel CPUコアを、分散したノードで稼働させているという。

 コンピューティングインテンシブなLHCの解析では、40コアでほとんど40倍のスピードアップが得られる。そのため、MICアーキテクチャでも、劇的なパフォーマンスアップが期待できるという。CERNのNowak氏は、実際にKnights Ferryの上で解析アプリケーションを走らせ、Knights Ferryの1個のMICコアでの動作時と、32個のMICコアでの動作時で、パフォーマンスが劇的にアップするところをデモした。

HPCでの応用

 もっとも、HPCだけがメニイコアのターゲットではない。Rattner氏は、IntelがKnightsファミリの前にも、いくつものメニイコアCPUの試作を行なって来たことを振り返った。そして、メニイコアのリサーチを通じて、ハードウェアの設計だけでなく、ソフトウェア側のメニイコアでのパフォーマンスアップの可能性を探ったと説明。その上で、Rattner氏は「最も重要なことは、MICアーキテクチャのアプリケーションは技術系やHPCのアプリケーションに限られてはいないことだ」と強調した。

 下のグラフは、アプリケーションの種類毎に、CPUコア数によってどれだけパフォーマンスがアップするかを示したものだ。Rattner氏は、ゲームやビデオと言った一般アプリケーションも含めて、多くのソフトウェアが、64メニイコアで30倍以上のパフォーマンスアップを得られることを示した。

CPUコア数によるパフォーマンスアップ

●ニンジャプログラマを不要とするRiver Trail技術

 とはいえ、メニイコアのプログラミングのハードルが高くては、幅広い普及は望めない。スパコン並の膨大な並列コアのプログラムは、極めてスキルの高いプログラマだけがなせるというイメージが強い。Rattner氏は、そうしたプログラマを「ニンジャプログラマ」と呼んだ。その上で、メニイコアのプログラミングには、ニンジャプログラマである必要はなくなっていると強調した。

 Rattner氏が、簡単にメニイコアプログラミングができる例として取り上げたのはJavaScriptでマルチ/メニイコアプログラミングを可能にするプロジェクト「River Trail(リバートレイル)」だ。River Trailは、JavaScriptを並列プログラミング拡張するオープンソースのプロジェクトだ。Rattner氏のキーノートスピーチでは、JavaScriptの産みの親であるBrendan Eich氏(CTO Mozilla)が登場。「JavaScriptはこれまでシーケンシャル(プログラム)のための有力な言語だったが、我々はこれをマルチコアハードウェアの機能をフルに活かせるものにしたいと考えている」と語った。

 River Trail自体は、JavaScriptを並列プログラミング向けに拡張した仕様で、IDF会場での研究員の説明によると、いったんコードをOpenCLの中間言語に落とし込むと言う。そのため、下層のハードウェアがOpenCLランタイムをサポートする限り、スケールアップできる。IDFでのデモでは、IntelのOpenCL SDKを使い、CPUコアのSSE/AVX命令セットを使っていた。

 Rattner氏のスピーチでは、Nボディ物理シミュレーションをRiver Trailで15倍に高速化するデモを公開した。表示も、Webブラウザベースの3Dグラフィックス拡張WebGLを使い、高速化している。現在、River Trailをスクリプト言語の標準化を行なうECMAscriptに働きかけているという。

 現在、欧米ではWebプログラミングが、アプリケーションプログラマの主流スタイルとして広まりつつあり、Webプログラミングから入門してくる新プログラマ層も増えている。それに呼応して、HTML5やWebGLなど、Webブラウザ層でのプログラミングをリッチにする仕様がどんどん整備されつつある。Googleが発表する新しいスクリプト言語として噂されている「Dart」も、こうした流れにあると見られる。

 この潮流では、ネイティブ命令や中間言語への変換の役割は、Webブラウザへと集中される方向にある。つまり、Webブラウザをあたかもユニバーサルなトランスレーションレイヤへと変身させ、Webブラウザが下層のハードウェアを完全に抽象化する構造を目指している。これが完遂すると、OSではなくWebブラウザがアプリケーションプラットフォームとなる。

 そのため、Intelがマルチ/メニイコア化を推進する場合には、Webプログラミングの世界から、簡単に多数のCPUコアを使えるようにする仕組みが必須となる。Rattner氏は、今回、そうした流れに沿った研究にIntelが積極的に関わっていることを示した。ただし、このプロジェクトはOpenCLに落とし込むため、Intel向けだけのソリューションではなく、汎用的なソリューションだ。

●GPUコアを使った顔認識セキュリティアプリケーション

 IDFのキーノートスピーチで、Rattner氏は上記のようなメニイコアへの取り組みを説明した後、PC CPUでの進展も説明した。Intelの現在の戦略の問題点は、ハイエンドのMICベースのメニイコアコプロセッサと、PC向けのGPUコアの2系統のアーキテクチャに分割されていることだ。もともとは、PC側もLarrabeeコアをGPUコアとして載せるはずだったのが、Larrabeeをグラフィックス市場に投入しないという決定を下したことで、PC側は旧来のシェーダGPUコアの拡張へと変わってしまった。上と下のシステムで、アーキテクチャの一貫性を取るはずだったのが、現在は完全に分断されている。

 Rattner氏は、そのアーキテクチャ分断には触れず、クライアントCPU側では、マルチコア+AVX命令による性能アップと、GPUコアを汎用コンピューティングに使う事例の紹介だけを行なった。

 最初に紹介したのは4G無線のLTE規格の基地局をSandy Bridge CPUで試作したものだ。これは中国のChina Mobileと連携して行なったもので、簡単に言えばPCをソフトウェアで4Gの基地局に仕立ててしまうと言う試みだ。4コアのSandy Bridgeの、CPUコア内のAVXベクタエンジンを使うことで、基地局の機能をPCで実現してしまう。

 Rattner氏が示したもう1つの例は、顔認識を使ったコンピュータセキュリティだ。Intelによると、ソーシャルメディアが発達した現在、コンピュータとネット上には守りたい個人情報や写真、ビデオなど様々なオブジェクトが溢れているという。それらを効果的に守るためには、例えば画像の暗号化などが必要となる。とはいえ、ユーザーが手軽に自分のコンテンツにアクセスできなければ、使い勝手が落ちてしまう。

 IDFでのデモでは、この二律背反する課題を解決するために、コンテンツの暗号化と顔認識によるユーザー認証を組み合わせた。Rattner氏がカメラの前に立つと、PCがRattner氏を認識して、写真などのコンテンツが表示されるところが示された。このデモのうちの顔検知やRSA処理などコンピューティング負荷の高い処理はSandy BridgeのGPUコアが担当、その他の処理をCPUコアへと分散した。

ヘテロジニアス(Heterogeneous:異種混コンピューティングのデモ。左の画面ではユーザーを認識した途端に写真が複合化され表示された。右側はCPUとGPUの負荷のチャート。水色がCPU、緑色がGPU

●エクサFLOPSのパフォーマンスを目指すスーパーコンピュータ

 米国はスーパーコンピュータ大国で、特に軍がスパコンの強力な顧客となっている。そして、軍の研究プロジェクトを司る米国防高等研究計画局(Defense Advanced Research Projects Agency:DARPA)は、昨年(2010年)、2018年頃をメドにExa(エクサ)FLOPSの演算パフォーマンスを持つスパコンのプロトタイプを作るプロジェクトを発表した。Intelはこのエクサスケールスパコンプロジェクトの試作を行なうメーカーであり、NVIDIAに対抗してマシンの開発を始めている。

 DARPAの仕様に従うエクサスケールプロジェクトの最大のチャレンジは、パフォーマンス効率にある。「難題はExaFLOPSのコンピューティングパワーを、たった20MW(メガワット)の電力内で達成しなければならないことだ。今日のPeta(ペタ)FLOPSコンピュータは、5から7MWの間だ」とRattner氏は指摘する。ちなみに、小型原子力発電所の出力の実例が460MWだ。20MWに抑えたとしても、小型原子炉の5%の電力を1施設で消費してしまう。

 しかし、20MWは現在のコンピュータの水準からすると、極めて難しい。50GFLOPS/Wにまでパフォーマンス効率を高める必要があるからだ。Rattner氏は20pj(ピコジュール)/FLOPSにまでエネルギー消費を抑える必要があると指摘した。つまり、スパコンも、今や携帯電話並に電力効率が重要な時代となりつつある。このことは、スパコンも携帯デバイスも、同じような電力効率化のアプローチが適用できることを意味している。そのため、DARPAでは、エクサスケールへのプロジェクトに「UHPC(Ubiquitous High Performance Computing)」という、広汎に適用できる技術を示唆する名前を付けている。このレベルのパフォーマンス効率が達成されるなら、コンピュータのパフォーマンスは下の図のようになる。


UHPCのパフォーマンス
PDF版はこちら

●厳しい電力効率目標を達成するためのニアしきい電圧技術

 IDFでのRattner氏のキーノートスピーチには、IntelでExaFLOPSスパコンを担当するShekhar Borkar氏(Intel Fellow and Principal Investigator DARPA Ubiquitous High Performance Computing)が登場。プロジェクトの難しさについて語った。下のスライドは、100GFLOPSのシステムでの電力消費の内訳だ。左が現在のXeonシステム、右が2018年のエクサスケールスパコンでの100GFLOPSのシステム。200Wの電力消費を、携帯電話にも入る2Wにまで押さえ込まないと実現できない。CPUの電力消費は155Wから0.5Wへと下げる必要があることがわかる。500mWの電力のCPUは、現在の水準でもかなり低い。

 実は、Borkar氏がExaFLOPSプロジェクトについて語るのは、このIDFが最初ではない。Borkar氏は、今年4月に来日し、日本の横浜で開催されたプロセッサカンファレンス「COOL Chips XIV」でも講演を行なっている。その際には、ExaFLOPSの難題を、より詳しく説明している。下はCOOL Chips XIVからのスライドだ。

 では、どうやってこの目標を達成するのか。Borkar氏が、まず例として挙げたのは、初日のキーノートスピーチにも登場したニアしきい電圧(Near-Threshold Voltage)の回路設計技術だ。Intelはこの技術に力を入れており、今回のIDFではPentiumクラスのCPUを同技術を使って試作。10mW以下の電力で動作させるデモを行なった。通常の動作電圧の範囲より、さらに低い、しきい電圧に近い電圧で動作させることで、極端な低電力を実現している。トランジスタは、しきい電圧より高い電圧をかけることで動作し、通常は、しきい電圧に近い低電圧では安定動作できない。Intelは、超低電圧時に安定動作する回路設計を行なった。

 下のスライドはCOOL Chips XIVでのより詳しいスライドだ。チャートの左側が低電圧時で、電圧を下げるとトータルの電力消費が動作周波数の上限よりも下がり、その結果、パフォーマンス/電力の効率が上がることがわかる。IDFでのデモチップでは、5倍の電力効率まで上げることができたという。ただし、これは試作チップが古いPentium相当アーキテクチャであるため、電圧を下げても電力効率が低かったという。Borkar氏は、「まっさらの状態から設計をスタートさせれば、我々は8倍から10倍の効率を達成できる」と語った。

COOL Chips XIVでのスライドニアしきい電圧の技術デモ。真ん中のCPUが試作チップ

●超広帯域メモリを実現するHMC技術

 Borkar氏が次に示した例は、電力効率の高いメモリだ。IntelはMicron Technologyと共同で開発したとするシリコン貫通ビア(TSV:Through Silicon Via)技術を使ったメモリ技術「Hybrid Memory Cube(HMC)」を紹介した。右がIDFのキーノートスピーチでのスライドだ。1個のHMCで128GB/secのメモリ帯域を8Wの消費電力で実現する。電力効率は62mW/GB/secで、これはスマートフォン&タブレット向けのメモリLPDDR2の電力効率80mW/GB/secよりも低い。簡単に言えば、携帯機器向けのメモリ並の電力効率で、従来のメモリをはるかに上回るメモリ帯域を実現できる技術だ。

 HMCの仕組みは下のスライドのようになっている。キューブの一番下にはインターフェイスロジックチップがありホストCPUなどと接続する。インターフェイスは現状は独自仕様だ。ロジックチップの上にはDRAMチップが8枚積層されており、DRAMチップ間とロジックチップはTSV技術によって接続されている。マイクロバンプで多ピン接続を行なうことで広帯域の転送を実現している。


 基本的な考え方はWide I/Oと似ている部分があるが、ロジックチップを使ってCPUと接続することを前提としている点が大きく異なる。これは、ハイパフォーマンスプロセッサでは、CPU側のダイ(半導体本体)にTSVで穴を開けることが現状では難しいからだ。Intelは、これまでDRAMスタックの上にCPUを載せた構想図を示してきたが、それはフェイクで、実際にはキューブメモリの共同開発を進めていたことがIDFで明らかになった。

 ただし、IDF会場でのMicronの説明員によると、必ずしもIntelエクスクルーシブな技術ではないと考えているという。ロジックチップのインターフェイスは、プロセッサメーカー側の仕様に合わせることができるため、他のメーカーの仕様に合わせることも可能だという。NVIDIAのExaFLOPSスパコンの「Echelon(エシュロン)」で示されていたメモリも、HMCと良く似た構造だった。また、HMC型のメモリは、JEDEC(米国の電子工業会EIAの下部組織で、半導体の標準化団体)でも規格化の候補として議論されているという。

キーノートスピーチでデモを行なったHMCの実働システム実働システムでHMCを120GB/sec以上で動作させたところ

 IntelのJustin Rattner(ジャスティン・ラトナー)氏は、今回のIDFのキーノートスピーチで、包括的なIntelプロセッサの方向性を示して見せた。2018年までを展望するビジョンの中核にあるのは、電力効率を高める道筋だ。ただし、プロセッサアーキテクチャの面では、IAベースのメニイコアのハイエンドシステムと、GPUコアを統合したPC向けCPUの分断は目立った。LarrabeeをPC市場に投入しないとしたIntelの決断が果たして正しかったかどうか、まだ答えは出ていない。

(2011年 9月 20日)

[Reported by 後藤 弘茂 (Hiroshige Goto)]