後藤弘茂のWeekly海外ニュース
Intelのサーバー戦略の要となるXeon PhiとFPGA
2016年7月6日 06:00
Xeon Phiベースのシステム構築のためのリファレンスを開発
Intelは14nmプロセス世代の新しいメニーコアプロセッサ「Knights Landing(KNL)」を正式発表した。PCI Expressカードベースのコプロセッサである従来のXeon Phi(Knights Corner)とは異なり、Knights Landingでは自己ブート可能なメインCPUのバージョンが投入された。また、Knights Landingでは、Intelの開発したHPCファブリック「Omni-Path」をパッケージに統合したバージョンが提供されている。
IntelはKnights Landingプロセッサを提供するだけでなく、システム構築のリファレンスとなるフレームワークも提示する。ホストCPUとしてブート可能で、ファブリックで相互接続可能なKnights Landingに合わせたフレームワークだ。「Intelスケーラブルシステムフレームワーク(SSF: Scalable System Framework)」は、Xeon Phiシステムだけでなく、Xeon Phi+XeonまたはXeonのみの構成も含めたシステムのリファレンスとなる。IntelのHugo Saleh氏(Director of Segment Marketing, DCSG Technical Computing Group, Intel)は次のように説明する。
「10年ほど前までは、スーパーコンピュータと言えば、適用とスケールが難しいことで悪名高かった。高性能システムを構築したり、あるいは1つのシステムをスケール(アップまたはダウン)することは非常に難しい。そこで我々は、Knights Landingでは、適用とスケールを容易にするSSFを提供することにした。
これは、HPCシステムを容易に導入したりスケールできるようにするフレームワークだ。SSFを使えば、HPCシステムを、シンプルで効率良く簡単に適用できる。中規模から小規模のシステムにとっては、導入の負担を減らす、非常に良いソリューションになるだろう。だが、それだけでなく、HPC業界のビッグネームも採用している。
SSFは、BroadwellベースのXeonで設計を始め、Knights LandingのXeon Phiを後から加えた。我々は、エンジニアリング労力をかけて、Xeon PhiとXeonの両方、またはどちらかで構成するシステムのフレームワークについて、設計と評価を行なってきた。両プロセッサのシステムでのソフトウェア互換性についても検証を行なっている。
互換性は、異なるシステム間や、異なるシステム世代間でも保持できるようにする。また、OEMベンダに提供するバリデーションツールも開発して来た。SSFでは、Intelが推奨する、リファレンスのXeon Phiシステムコンフィギュレーションを2種類、年内に提供する予定だ。ベンダにとっては、システムを構築する際のガイダンスとなる」。
機械学習をターゲットとするIntel
IntelはKnights Landing(KNL)とスケーラブルシステムフレームワーク(SFF)では、特に機械学習をターゲットに据える。それは、機械学習のパイプライン全体において、Intelのアプローチが有効だからだという。
「Xeon PhiとXeonに対応するSSFは、機械学習においても強味を発揮する。機械学習における、認識フェイズを(トレーニングと)同じアーキテクチャで実現できるからだ。そのため、認識での誤りを減らすことができる。
また、機械学習のアルゴリズムがIA(Intel Architecture)上でスケールできることは、機械学習の研究においても強味がある。例えば、機械学習の研究者が、自分のノートPCのシングルノードで走らせたアルゴリズムを、そのまま大きなシステムのXeon Phiの数100のノードで走らせることができる」。
機械学習には、膨大なデータからニューラルネットワークが学習を行なう「トレーニング」フェイズと、トレーニングによって構築されたニューラルネットワークによって認識を行なう「インフェレンス(推論)」の2つのフェイズがある。トレーニングには、膨大なコンピューティング性能が必要であり、Xeon PhiやGPUのような、並列演算性能が重要となる。それに対して、インフェレンスは相対的に処理が軽い。Intelは、同社のアーキテクチャの元では、機械学習における両フェイズを同種のアーキテクチャで統一することで、機械学習を容易で高い精度のものにすると主張している。
HPC向けの技術が機械学習でデータセンタに流入
IntelがHPCに向けて開発したXeon Phiで、機械学習もターゲットとするのは、機械学習が急速に膨れ上がる市場である上に、必要とされる技術がHPCに近いからだ。
Saleh氏は、「多くの事例で、機械学習アルゴリズムは、HPCワークロードと類似の技術、類似の性能、類似のスケーラビリティ、類似の帯域を要求する。HPCと機械学習は、技術的に非常に近い。そのため、HPCに向けた当社のSFFは、機械学習にも適用できると考えている。
機械学習自体は、クラウドサービスなどで非常に重要となって来ている。そのため、現在、Intelは機械学習の市場にフォーカスしている。機械学習のツールやライブラリに膨大な投資をしている」と語る。
機械学習が必要とする技術とHPCの親和性については、多くのHPC関係者が同意する。ISCでも「Deep Learning goes HPC」(Janis Keuper, Competence Center High Performance Computing, Fraunhofer ITWM, Kaiserslautern, Germany)と、そのものずばりのタイトルの講演が行なわれた。
現在の「ディープラーニング(Deep Learning)」または「ディープニューラルネットワーク(Deep Neuronal Network)」と呼ばれる機械学習では、高速なマトリックス計算や高速なインターコネクト、広帯域メモリなどが必要とされる。これらは、HPCシステムが追求して来た方向だ。そのため機械学習は、HPCのアプリケーションの1つとして急速に伸びている。
その一方で、HPCカテゴリではないデータセンターでも、機械学習を走らせるために、システムを変革しようとしている。そして、機械学習に向いたシステムを構築しようとすると、企業データセンターもクラウドデータセンターも、HPC的な技術に向かうことになる。言い換えれば、機械学習によって、これまで分かれていたHPCとデータセンターが技術的に接近しつつある。
現在のHPCの技術トレンドである、ベクタプロセッサ(KnightsやGPUなど)によるアクセラレーション、広帯域メモリ、広帯域のファブリック、ノードのスケーラビリティ、ソフトウェアインフラストラクチャ、これらは全て機械学習にとって有用だ。機械学習によって、これまでHPCの世界に閉じていた技術が、一般的なデータセンターにも浸透して行く。
このトレンドは昨日今日始まったものではなく、ビッグデータが叫ばれ始めた頃から予言されていた。ビッグデータの時代になると、データセンターとスーパーコンピュータのコンバージェンスが起きるという分析は、東京工業大学の松岡聡教授などが唱えていた。今では、その認識は広く浸透している。
ビッグデータを解析する機械学習によって突破口が開けると、HPC向けにこれまで開発して来た技術が、もっと広い市場へと開放される。プロセッサビジネスの話になると、より高価格なプロセッサがより多く売れるようになり、HPC側から見れば市場の拡大による、コストの低減が期待できる。データセンター側から見れば、システムの大転換期だ。Intelは、そうした展開を考えて、Knights Landingをプロモートしている。
棲み分けるXeon PhiとFPGAアクセラレータ
Intelは、機械学習時代に向けて、サーバー向け製品ラインナップの厚みを増している。マルチコアXeonとメニーコアXeon Phiに加えて、FPGA(Field-Programmable Gate Array)も、Alteraの買収によってラインナップに加えた。しかしそのために、Intelの戦略は、今ひとつ焦点が絞り込まれていないものになっている。
プログラマブルにハードロジックを変えることができるFPGAは、原理的にはさまざまなアプリケーションに適用できる。アプリケーションに最適なロジックをハードウェアで組むことで、FPGAは効率的にアクセラレートできる。FPGAは、Microsoftがデータセンタに基本要素として組み込んだことで、注目度が高まっている。そして、アプリケーションロジックを加速するFPGAは、並列性でアクセラレートするXeon Phiとは、部分的に競合するように見える。
Saleh氏は、Intelの戦略の中でのFPGAの位置付けについて次のように説明する。
「我々は、Xeon、Xeon Phiに加えて、FPGAも(サーバー向け製品の)ラインナップに備えている。FPGAとXeon Phiは併存していく。アプリケーションの中で頻繁に使われる、特定のアルゴリズムをFPGAに持っていくことで、性能を大幅にアップするからだ。
業界では、伝統的にASIC(Application Specific Integrated Circuit: 特定用途向けIC)がアクセラレータとして使われてきた。カスタムASICを設計できるだけの資金があり、アクセラレートするアルゴリズムが決まっていれば、ASICはいい解だ。しかし、機械学習のように、アルゴリズムをアップデートしなければならない場合は、FPGAの方が適している。FPGAなら、フレキシビリティとASIC的な性能を両立できる。
FPGAはデータセンターの、特にクラウド型サービスにおいて役に立つだろう。大規模なクラウドプロバイダで、1つのアプリケーションの性能をアップしたいといった場合だ。そのアプリケーションで性能を必要とする、特定のアルゴリズムをFPGAで実行すると、全体の性能がアップする。FPGAは、機械学習のような特殊化されたワークロードの一部で大きな利点を持つだろう。
しかし、現状でのFPGAの難点は、使うことが難しいことだ。FPGAプログラミングでは、通常のコードを書くのではなく、VHDL(VHSIC Hardware Description Language)などの知識が必要となるからだ。しかし、一旦FPGAをプログラムしてしまえば、FPGAで走る部分はアクセラレートすることができる。だから、繰り返し使われる部分をFPGAに持っていくことが望ましい」。
この説明では、IntelにおけるFPGAの位置付けがよく見える。FPGAプログラミングは、通常のプロセッサのプログラミングとは異なり難度が高い。プログラミングを容易化するツールが提供されているが、それでも最適化にはFPGAハードウェアと、ハードウェア記述言語に対する知識がある程度必要とされる。そのため、アプリケーションロジックを全てFPGAに持っていこうとすると、大変な手間になってしまう。
しかし、アプリケーションの中で、特にコンピューティング性能を必要とする特定アルゴリズム部分なら、手間をかけてFPGAでプログラミングしても見合う。ボトルネックになっている部分が、FPGAハードウェアで実行されることで、性能が大幅にアップするからだ。そして、FPGAなら、カスタムASICのようなチップ開発コストをかけずに利用できる。
CPUへの統合が進むIntelのFPGA
IntelはFPGAの活用を、このように見ている。FPGAは汎用に使われるXeonやXeon Phiとは棲み分け、ASICに置き換わるという構想だ。プログラミングの難しさから、FPGAがXeon Phiのようなプロセッサに置き換わっていくことはないだろうと見ている。最も、長期的にはその状況も変わっていく可能性があると示唆する。
「今後数年間で、技術によってFPGAプログラミングは容易化されていくだろう。現在の問題も、軽減されていくだろう。
また、それと共に、FPGAはプロセッサに統合されたソリューションになっていく。Intelは2種類の異なるFPGAソリューションを用意している。1つはディスクリートFPGAで、IntelのCPUソケットに装着できるもので、QPIによってCPUと接続する。
もう1つは、FPGAを、Broadwell CPUと共に1つのソケットに統合した製品だ。プロセッサとFPGAが1パッケージに収められている。このFPGA統合バージョンは、まだ発売していないが、開発ビークルをすでに顧客に提供している。2つの異なるソリューションを、異なるアプリケーションに対して用意している。
では、CPUとFPGAを同じダイ(半導体本体)に統合するのはどうなのか。それについては、将来には多くの可能性があり、我々はさまざまなコンビネーションを予想している、としか言えない」(Hugo Saleh氏)。
Intelは、昨年(2015年)のFPGAメーカーAltera買収の際に、FPGAをCPUに統合するソリューションを提示している。Alteraは、Intel CPUソケットに対応したディスクリートをすでに提供していたが、Intelとの統合によってCPUとFPGAを統合したパッケージ製品が予告されていた。Broadwell-EPと統合した製品については、「Open Compute Project U.S. Summit 2016」でアナウンスされている。さらにその先には、CPUとFPGAを完全に統合した製品も描かれている。
Intelは、特定用途のアクセラレーションを行なうASIC型のアクセラレータには、あまり肯定的ではない。しかし、クラウドサービス最大手のGoogleは、機械学習をアクセラレートする専用プロセッサ「Tensor Processing Unit (TPU)」を自社開発して導入しつつある。メニーコアより、さらにアプリケーションに寄ったソリューションだ。こうした動きはどう見ているのか。
「まず、一般論で言えば、業界は革新を続けていくだろう。そして、GoogleのTPUについては、我々は非常にカスタム化されたワークロードのアプリケーション向けたものだと見ている。非常にASIC的なアプローチだと思う。
もちろん、GoogleはIntelにとって最も重要な顧客の1つで、継続的に彼らが望む改革に合わせたものを提供していく。彼らはXeon Phiも持っているし、我々が協力できるチャンスがあると考えている」
Googleのアプリケーション特化型プロセッサTPU、MicrosoftのFPGA、現在データセンターはアーキテクチャの転換期にあり、大きく揺れている。Intelは、その荒波を複数のソリューションに分散することで乗り切ろうとしている。