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

ホモジニアスな構成が可能な新生Xeon Phi「Knights Landing」の強味

長い助走を経てついに正式発表されたKnights Landing

 Intelは、メニーコアプロセッサ「Xeon Phi」の新製品「Knights Landing(ナイツランディング: KNL)」を正式にリリースした。1チップに最大72コアを搭載、各コアが512-bit幅のベクタユニットを2基備え、32-bit単精度浮動小数点演算で6TFLOPS以上の性能のCPUだ。

 発表の場になったのは、6月後半にドイツで開催された「ISC(International Supercomputing Conference) 2016」。Intelは、Knights Landingの技術概要を、これまでにも段階的に公開しており、一部のアーリーカスタマーには製品を提供してきた。しかし、製品としての正式発表や、幅広い顧客に向けた発売は行なっていなかった。IntelのHugo Saleh氏(Director of Segment Marketing, DCSG Technical Computing Group, Intel)は次のように説明する。

Hugo Saleh氏(Director of Segment Marketing, DCSG Technical Computing Group, Intel)

「今回は、Xeon Phiのフォーマルラウンチだ。最終的に一般的なアベイラビリティがあることを発表した。実際には、Intelは過去数カ月の間、アーリーカスタマーにKnights Landingを提供してきた。しかし、アーリーカスタマーの要求も強かったため、その間、Knights Landingは常にソールドアウト状態だった。アーリーカスタマーの中には、トップ500の候補システムが8つ含まれている。

 現在は、Knights Landingを望む幅広いカスタマーに、製品を提供して行くことができる。全世界で、今年(2016年)中に10万ユニットのXeon Phiの出荷を見込んでいる。既に3万4,000から3万5,000ユニットは顧客の元に届いているはずだ。アーリーカスタマーからは既にフィードバックがあり、高い評価を得ている。また、OEMやISVからも幅広い支持も受けている」。

 これまでは、Intelと協力している一部のスーパーコンピュータセンターしかKnights Landingを導入できなかった。しかし、今はそれ以外のHPC(High Performance Computing)の顧客やシステムベンダーが、Knights LandingベースのXeon Phiを注文することができる。Intelは、最終的な製品仕様とSKU(Stock Keeping Unit=アイテム)も明らかにしている。

Knights Landingの製品SKU
Knights Landingのパートナー

 「Knights Landingの製品は4SKUで、それぞれにファブリック統合版と統合していないバージョンがある。最高性能のXeon Phi 7290から、ベストバリューのXeon Phi 7210まで、異なる性能と電力、価格の組み合わせの中から選ぶことができる。

 1つ重要な点は、トップツーボトムで16GBのオンチップメモリを維持したことだ。メモリ帯域が重要であることを理解しているため、そこには差を付けなかった。5,000ドル以下の低価格で、シングルXeon Phiノードのデベロッパシステムを提供することを目指している」(Hugo Saleh氏)

 Knights Landingはオンパッケージで、Micron TechnologyのHMC(Hybrid Memory Cube)技術をベースにした広帯域メモリ「MCDRAM」を搭載している。IntelのSKUは、最上位の製品から再下位の製品まで、このMCDRAMの量が変わらない。DRAMのデータ転送レートは、上位の3 SKUが7.2Gbpsであるのに対して、ローエンドのSKUは6.4Gbpsで、メモリ帯域には差があるが、致命的なほどの差ではない。

アーキテクチャを一新して生まれ変わったXeon Phi

 Intelは、前世代のXeon Phi「Knights Corner(ナイツコーナー:KNC)」をHPC市場向けに投入したが、HPC市場を席巻するまでには至らなかった。HPC市場では、依然としてGPUをアクセラレータとして使うシステムが目立つ。IntelのHugo Saleh氏は、今回のKnights Landingが、Knights Cornerと大きく違うことを強調、より優れた製品になったとアピールする。

 「Knights Landingでは、“初めて”が多い。まず、Knights Landingは、初めてのブータブルXeon Phiだ。これまでのXeon Phiやアクセラレータように、ブートするホストのXeonプロセッサを必要としない。また、HPCファブリックを統合した最初の製品だ。Ethernetを統合した製品はあったが、Knights Landingの場合はHPCファブリックであり、複数ノードをクロスさせてスケーラブルにシステムを構築できる。さらに、Knights Landingは広帯域メモリを統合している。多くのアプリケーションで制約となっているメモリ帯域を、大きく広げるものだ。

 性能も非常に高い。シングルソケットでのSPECfp_rate2006ベンチマークで最高の記録を持つ。GPUシステムに対しても優位だ。現行のGPUに対しては生化学で5倍、ビジュアライゼーションで最大5.2倍(Kepler Tesla K80との比較)の性能優位を持つ」。

ブータブル、HPCファブリックの統合、広帯域メモリの統合がKnights Landingの大きな利点とIntelは謳う
NVIDIAの既存のGPUとの性能比較

 従来のXeon Phi(Knights Corner)やGPUは、ブートしてOSを走らせるためにホストCPUを必要とする。それに対して、今回の新Xeon Phi(Knights Landing)は、自身でブートしてスタンダードなOSを走らせることができる。これが、今回のKnights Landingの最大のアピールポイントとなっている。Intelはコプロセッサ型のKnights Landingも提供するが、主眼はセルフブート型に置いている。

スカラパフォーマンスを伸ばしたKnights Landingのコア

 Knights Landingがブートできる理由の1つは、各CPUコアのベクタ性能だけでなく、スカラ性能も上がったからだ。Knights Cornerのスカラパイプは、Pentiumベースのインオーダ実行2-wayスーパースカラだった。だが、Knights Landingでは、22nm Atom(Silvermont)ベースの、アウトオブオーダ実行2-wayスーパースカラになった。そのため、コア当たりのシングルスレッド性能は大幅に伸びた。Intelは3倍のスカラ性能と説明しており、ホストとしてOSを走らせることに耐えられる性能となっている。

右がKnights CornerのCPUコア、左がKnights LandingのCPUコア
Knights Landingマイクロアーキテクチャ

 もう1つの理由は、IntelのメインストリームCPUと命令セット互換になったことだ。従来のXeon Phi(Knights Corner)では、スカラパイプのレガシ命令セットにも差異があり、スカラコードもリコンパイルが必要だった。しかし、Knights Landingではレガシ命令も互換となり、レガシバイナリが、原則としてリコンパイルなしでそのまま走るようになった。そのため、OSもそのままブートさせることができる。ちなみに、今後のXeonとは512-bitベクタ命令についてもベースは互換となる。

Knights LandingとメインストリームCPUとの命令セット比較
次のXeonとはAVX-512命令も基本は互換となる
IntelのAVX/SSEレジスタ構成

 性能については、Intelは慎重な比較を行なっている。比較対象としているのは、NVIDIAの現在のHPC向けGPUアーキテクチャであるKepler系。しかし、実際にはGPU世代では、NVIDIAの新世代アーキテクチャ“Pascal”ベースの「Tesla P100」とKnights Landingはぶつかることになる。この辺りは、Pascal P100が本格的に登場して来ないと、精密な比較はできないだろう。

コプロセッサ型のソリューションとは異なるアプローチ

 GPUシステムは、ホストCPU側でブートして、ホストCPU側からカーネルをGPUにダウンロードして実行する。Intelは、GPUに対するKnights Landingの利点として、前述のセルフブートとともに、IntelのメインストリームCPUとの命令セット互換を強く打ち出している。Intelはこれらの特性から、Knights Landingが真の汎用プロセッサでありながら、HPCワークロードに適応した最初のプロセッサだと説明する。

 「Knights Landingは、類を見ないもの(one of a kind)ではなく、これまでになかった類の初めて(最高)の(first of its kind)プロセッサだ。Knights Landingの強味は、真に汎用アーキテクチャであり、多くの種類のアプリケーションをサポートできる点だ。特定用途にのみ強味を発揮する、カスタムアーキテクチャとの大きな違いだ。この点については、Intel自身より当社の顧客が証明してくれるだろう。

 特に重要な点は、Knights Landingが自己ブートできるブータブルXeon Phiであることだ。Xeon Phi自体でブートできるため、ホストとなるXeonを必要とぜず、単体プロセッサで動作できる。これは使いやすさという面で、非常に価値がある。

 また、XeonとXeon Phiの命令セットの互換性も重要だ。Xeonで走るどんなアプリケーションも、Knights LandingベースのXeon Phiの上で走る。自己ブートと命令の互換性は、コプロセッサやアクセラレータでは実現できないことだ。コプロセッサ型のソリューションと比べると、Knights Landingは遥かにシンプルで使いやすい」(Hugo Saleh氏)

バイナリ互換性と、スカラとベクタの両方の性能アップがKnights Landingの特徴

 Intelの主張のポイントの1つは、Knights Landingなら、ベクタ演算のワークロードとスカラワークロードを同じCPUコアで実行できる点だ。より幅広いアプリケーションに対応できるとしているのは、ベクタとスカラの入り交じるアプリケーションでも性能を発揮しやすいためだと推測される。

 また、GPUプログラミングのハードルとなる最適化についても、Intel CPUの最適化手法の延長にあるKnights Landingが有利だとIntelは説明する。IntelメインストリームCPUとの命令セットの互換性が高いことは、コードのポータビリティの面で強味となる。Xeonシステムでも、Xeon Phiシステムでも、ほぼ同じコードが走るなら、バイナリレベルでコードを持っていくことができる。

 Intelは、メインストリームCPUとXeon Phiの互換性だけでなく、将来的な互換性も重要で、Intelはそれを保つことができるとしている。HPCの世界であっても、プログラミング労力を中長期に渡って抑えることができれば、利点があるという主張だ。

命令の互換性が将来に渡って保たれるとしたIntelのスライド

 ただし、Xeon側のベクタ命令がKnights Landingと互換のAVX-512になるのは、来年(2017年)のSkylakeアーキテクチャべースのXeonになってからだ。また、“first of its kind”と表現していることから、IntelがKnights Landingのアーキテクチャ路線で今後のXeon Phiを推し進めていくことが分かる。

Knights Landingを評価するスーパーコンピュータセンター

 ISC16に合わせてIntelが開催したプレスラウンドテーブルでも、Knights Landingのパートナーのスーパーコンピュータシステムの担当者達から、ホモジニアスなKnights Landingシステムの使いやすさを評価する声が上がった。

 例えば、Xeon Phiベースのスーパーコンピュータ「Stampede」で知られるTexas Advanced Computing Center(TACC)のDan Stanzione氏(Executive Director, Texas Advanced Computing Center)は次のように語る。

 「3~4年前に、Xeon PhiとGPUのどちらが優れたアクセラレータかの議論があった。この時のXeon PhiはまだKnights Cornerで、一種のアクセラレータだった。そして、アクセラレータによるヘテロジニアスシステムでは、CPUからアクセラレータへオフロードしなければならず、プログラミングに多くの複雑性を持ち込んでいた。

 しかし、今回のKnights Landingは異なる。Knights Landingはアクセラレータではなく、(メイン)プロセッサだ。それも、膨大なメモリ帯域を備えている。将来のプロセッサは、こうだろうと我々が考えていたようなプロセッサだ。Knights Landingの均質性(ホモジニシティ)は、システムをシンプルにする」。

 このラウンドテーブルには、Knightsシリーズを導入、または導入しようとしている有力なスーパーコンピュータの担当者や研究者が集合。Knights Landingの利点を語った。もちろん、ポイントとなるのは、なぜGPUではなくXeon Phiなのか、という点だ。Intelと密接なTexas Advanced Computing Center(TACC)がKnights Landingを評価するのは当然だが、ほかのラウンドテープル出席者からも、温度差はあれ、似たような意見が出た。

 「(スーパーコンピュータの)リスト上で電力効率の高いシステムは現在はGPUだ」(Rick Stevens氏, Associate Laboratory Director for Computing Environment and Life Sciences, Argonne National Laboratory)と、GPUの利点を認める発言もあった。しかし、コードをGPUに移植最適化する労力などを考えると、総合的なバリューはXeon Phiにあるという声が大勢を占めた。

ラウンドテーブルの様子

Intelの出した解はホモジェニシティの重視

 CPUは、65nmプロセス以降の電力効率の制約のために、シングルスレッド性能と動作周波数の向上がスローダウンしてしまった。そのため、HPC(High Performance Computing)のように、ヘビーなワークロードに直面している世界では、コンピューティング性能を向上させるためには、プロセッサ当たりのコア数を増やし、コア当たりのベクタ演算性能を増やすしかなくなっている。これは、ほぼ業界の共通認識となっている。

 課題は、並列性を増やす方法で、CPUコアをメニーコアにする、GPUを汎用コンピューティングに使う、FPGA(Field-Programmable Gate Array)を導入する、ASIC(Application Specific Integrated Circuit:特定用途向けIC)のアクセラレータを開発する、といった形に分かれる。そして、並列性を抽出する方法によって、プログラミングモデルも分かれる。

 IntelがKnights Landingで最終的に到達した解は、メインストリームCPUとメニーコアCPUを命令互換にし、(2)メニーコアCPUのスカラパフォーマンスを低電力メインストリームCPU並に引き上げ、(3)セルフブート可能で単体で動作できるプロセッサとし、(4)メインストリームCPUと親和性のある最適化手法が通用するメニーコアCPUとする、という方法だった。そのため、Intelは、Knights CornerからKnights Landingでは、CPUコア数を増やすより、CPUコアの性能アップにポイントを置いた。

 結果として、今回、GPUかKnights Landingかという議論は、ヘテロジニアスシステムで電力効率を追求するか、ホモジニアスシステムでシステムの使いやすさを優先するか、という方向性の違いとなっている。Intelは、ホモジニアスの利点を評価するユーザー達に支持されている。ただし、Intelは命令セットの統合によって、Core iブランドの大型コアと、Knights Landing系の小型コアの半ヘテロジニアスな構成も可能になっている。

 この議論は、ターゲットとする市場によっても異なってくる。HPCの世界はプログラミングスキルが高い。しかし、企業やクラウドのデータセンターでは、ソフトウェアの生産性がHPCよりシビアだ。そして、今はディープニューラルネットワーク(Deep Neuronal Network:DNN)ベースの機械学習によって、Xeon PhiやGPUのようなシステムが、一般のデータセンタ-でも強く求められるようになっている。Knights Landingの利点は、そうした市場で武器になりそうだ。