ニュース

Intel、最大56コアになった第2世代Xeonスケーラブル・プロセッサ

~DL Boost搭載でDL推論性能が向上

Cascade Lake-APのコードネームを持つ第2世代Xeon SPのLGA版

 Intelは4月2日(米国時間、日本時間4月3日)に報道発表を行ない、同社が「Cascade Lake-AP (CLX-AP)」の開発コードネームで開発してきたデータセンター向けプロセッサを、「第2世代Xeonスケーラブル・プロセッサ」(以下第2世代Xeon SP)として正式発表した。

 第2世代Xeon SPは、2017年に投入された開発コードネーム“Skylake-SP”ことXeonスケーラブル・プロセッサ(以下初代Xeon SP)の後継となる製品だ。

マイクロアーキテクチャはSkylake-SPを継承、2ダイ/1パッケージのXeon Platinum 9200シリーズを導入

第2世代Xeonの概要(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 CPUソケットは、初代Xeon SPと同じLGA3647になっており、チップセットも同じ「Intel C620 (Lewisburg)」を利用する。このため、マザーボード側のファームウェアが新しい第2世代Xeon SPに対応していれば、初代Xeon SP用マザーボードでそのまま利用することができる。

 だが、同じなのはインフラだけではない。基本的に第2世代Xeon SPは、基本的なアーキテククチャを初代Xeon SPから引き継いでおり、いわゆるマイクロアーキテクチャと呼ばれるCPUのハードウェア仕様は、初代Xeon SPとほぼ同等になっている。

 CPUコア数は最大で28コアになっており、CPU 1つにつき1MBのL2キャッシュ、コアあたり最大38.5MBのLLCなどのスペックは、初代Xeon SPとまったく同等だ。

 また、Intelは第2世代Xeon SPの製造プロセスルールを“14nm”とだけ説明しており、それが14nm+なのか、14nm++なのかも含めて、具体的な説明をしていない。こうしたことや、Intel自身がそう言っているとおり、後述するIntel DL Boostへの対応させるための改良を除けば、ほぼSkylake-SPと変わらないと言って良いだろう。

Xeonのスペックの変遷(Intel社の資料などより筆者作成)
ブランド名Xeon 5600番台Xeon E5Xeon E5 v2Xeon E5 v3Xeon E5 v4Xeon SP第2世代Xeon SP
開発コードネームWestmere-EPSandy Bridge-EPIvy Bridge-EPHaswell-EPBroadwell-EPSkylake-SPCascade Lake-SP
リリース年2010年2012年2013年2014年2016年2017年2019年
製造プロセスルール32nm32nm22nm22nm14nm14nm14nm
CPUコア(最大)681218222856
ダイ構成(HCC/MCC/LCC)6815/10/618/12/824/15/1028/18/1028/18/10
パッケージあたりのダイ数1最大2
HT対応対応
L2キャッシュ(コアあたり)256KB1MB
LLCキャッシュ(コアあたり)2MB2.5MB1.375MB
LLCキャッシュ(ダイあたり最大)12MB20MB30MB/20MB/15MB45MB/30MB/20MB55MB/37.5MB/25MB38.5MB/24.75MB/13.75MB
コアマイクロアーキテクチャNehalem世代Sandy Bridge世代Sandy Bridge世代(改良版)Haswell世代Haswell世代(改良版)Skylake世代
コア間インターコネクト-リングメッシュ
CPUソケットSocket B(LGA1366)Socket R(LGA2011)Socket R3(LGA2011v3)Socket P(LGA3647)Socket P(LGA3647)/BGA(5903ball、2ダイ構成)
最大ソケット22/4/82/4/8
最大メモリ容量288GB384GB768GB1.5TB1.5TB1.5TB4.5TB(Optane DCPM利用時)
メモリDDR3-1333DDR3-1600DDR3-1866DDR4-2133DDR4-2400DDR4-2666DDR4-2933
Optane DC Persistent Memory対応非対応対応
メモリチャネル数(CPUソケットあたり)3466/12
命令セットSSE4.2SSE4.2/AVXSSE4.2/AVX2SSE4.2/AVX2/TSXSSE4.2/AVX2/TSX/AVX512SSE4.2/AVX2/TSX/AVX512/Intel DL Boost
QPI/UPI(ダイあたり)2x最大6.4GT/s2x最大8GT/s2x最大8GT/s2x最大9.6GT/s3x最大10.4GT/s3x最大10.4GT/s
PCI ExpressPCI Express Gen2(チップセット側)PCI Express Gen3
PCI Expressレーン数36(チップセット側)4064(MCC/LCCは48)48
DMI-DMI/Gen2(4レーン)DMI/Gen3(4レーン)
チップセット5500(Tyrusburg)C600(Patsburg)C610(Wellsburg)C620(Lewisburg)
Xeon Platinum 9200のパッケージ内での構造(出典: Intel Xeon Platinum 9200 Processors/Intel Server System S920 Product family/Intel Data Center Blocks、Intel Corporation)
Xeon Platinum 9200のパッケージのスペック(出典: Intel Xeon Platinum 9200 Processors/Intel Server System S920 Product family/Intel Data Center Blocks、Intel Corporation)

 だが、この世代でもっとも大きな変化として、Xeon Platinum 9200シリーズが投入されることが挙げられる。

 Xeon Platinum 9200シリーズでは、2つのCascade Lake-APのダイを1つのパッケージに搭載している。具体的には、3つあるUPI(XeonでCPUとCPUを接続するのに使われるインターコネクト)を、1つは内部のダイ同士を接続するのに利用し、残り2つでもう1つのソケットに搭載されるパッケージ上の2つのダイとダイレクトに接続されることになる。

1ダイ構成と2ダイ構成の比較(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 これにより、パッケージ内部で接続されるダイ同士は70nsのレイテンシで、ほかのパッケージに搭載されるダイには130nsのレイテンシでアクセスすることが可能になる。

 また、1つのパッケージが利用できるメモリのチャネルは倍になり、最大で12チャネルまでサポートされる。パッケージあたりのメモリ帯域は281GB/sとなり、従来の1パッケージ=1台実装での140.5GB/sに比べて倍になる。

 メモリは、初代Xeon SPではDDR4-2666までの対応だったが、第2世代Xeon SPではDDR4-2933まで対応する。前述のXeon Platinum 9200シリーズは未対応だが、1パッケージ1ダイの製品の多くでは、「Intel Optane DC Persistent Memory」に対応可能で、その場合には、1パッケージあたりの最大メモリ容量は初代Xeon SPの3倍になる4.5TBまで増やすことができる(Intel Optane DC Persistent Memoryに関しては別記事参照)。

Intelが公開したXeon Platinum 9200を搭載したサーバー、1CPUあたりメモリが12チャネルになっている

 ただし、この2ダイ1パッケージのXeon Platinum 9200シリーズは、LGA3647向けには提供されず、マザーボードに直接貼り付けるかたちのBGAパッケージのみ提供される。そして最大TDPは、LGAパッケージ製品(205W)の倍にあたる400Wとなり、ユーザーによっては、28コアを4ソケットで実装した方が利便性が高いという可能性がある。

 このため、Intelは従来とおり1ダイ1パッケージも同様に提供し、Xeon Platinum 9200シリーズは、2ダイ1パッケージを採用した方が有利なユーザーなどをターゲットにしていく考え方だ。

 具体的には、オンプレミスのデータベースなどで、CPUソケット数でライセンス価格が決まってくるユーザーなどにとっては、CPUコア数が最大になり、パッケージあたりのメモリ帯域も上がることになるので、採用するメリットがあると言えるだろう。

VNNI/DL Boostに対応することで、INT8を利用したディープラーニングの推論性能を285倍に

DL Boostに対応する効果、初代Xeon SPで最適化していない状態と比較して285倍に(出典: AI/ML Performance、Intel Corporation)

 今回の第2世代Xeon SPで新しく導入された機能として、「VNNI(Vector Neural Network Instructions)」と呼ばれるAVX512の拡張命令が追加されたことが挙げられる。

 このVNNIは、Xeon Phiシリーズですでに導入されていたもので、vpdpbusd(8ビット)、vpdpswwd(16ビット)という2つの命令セットが導入される。Intelではこれらを総称して「Intel DL Boost」というブランド名で訴求している。

DL Boostの概要(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)
INT8で演算するときに、従来は3クロックサイクルかかっていたものが、1クロックサイクルになる(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 とくに注目したいのはvpdpbusdで、8ビットの整数(INT8)を、CPUのINT32アキュムレーターを利用して演算するとき、より効率よく演算する仕組みだ。

 従来のAVX-512命令では、CPUが備えているINT32のアキュムレーターにINT8を入力するとき、3つの命令(vpmaddubsw、vpmaddwd、vpaddd)を実行する必要があった。つまり、3命令を3クロックサイクルをかけて実行していた。

 しかし、vpdpbusdを利用することで、INT32のアキュムレーターへの格納を1クロックサイクルで済ませることができるため、理論上は処理能力が3倍になる。

 IntelのXeonプロセッサは、データセンターのなかでディープラーニングの推論に利用されていることが多い。そうした推論の演算を行なうさいには、精度が学習ほどは必要ないため、FP32(単精度)やFP16(半精度)などの精度は使わずに、INT8で演算させると演算性能が大きく向上する。

 このため、今回導入されたVNNIを効率よく活用することで、FP32で演算していた時と同じような消費電力のまま、より高い性能でディープラーニングの推論を実現できる。

ソフトウェア側がVNNIに対応するにはMKL-DNNの最新版を利用する(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 なお、VNNIを利用するには、従来の世代で導入された新命令セットと同じように、プログラムのコードをVNNIに対応させる必要がある。

 Intelは、TensorFlowやCaffeなどのフレームワークに対応したオープンソースの開発ライブラリとして「MKL-DNN」を提供しており、プログラマーはMKL-DNNの最新版を利用することで、VNNIに自分のソフトウェアを対応させることができる。

DL Boostの効果(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 Intelによれば、2017年の7月に、ディープラーニング向けの最適化を行なっていなかった段階の初代Xeon SPで、Caffeを利用したディープラーニングの推論を行なった性能を1とすると、その後リリースされたMKL-DNNなどを利用し、最適化を行なったことで性能は50倍に、さらに今回のVNNIなどを利用した最適化を行なったこと、CPU自体の性能が上がったことで、そこから5.7倍となり、初代Xeon SPの未最適化状態から比べると、第2世代Xeon SPは285倍になるという数字を公開している。

 VNNIを採用することで、ディープラーニングの推論が5.7倍高速に行なえると考えると、大きな効果があると言え、データセンター内でXeonに推論をやらせているユーザーにとっては、注目すべき数字だろう。

RDT、SSTなどのリソースをより効率よく活用する機能や、ハードウェアでのサイドチャネル攻撃対策が行なわれている

Intel Resource Director Technology(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 第2世代Xeon SPには、「Intel RDT(Resource Director Technology)」と呼ばれる、サーバーの使い方に応じてリソースの使い方を管理する機能が導入されている。RDTには大きく2つの機能があり、リソースをモニタリングする機能と、管理する機能がそれにあたる。

 たとえば、特定のスレッドを監視していて、レイテンシへの要求が多いスレッドや、帯域幅への圧迫が多いスレッドをモニタリング機能で検出する。すると管理機能を利用して、メモリ帯域への割り当てやキャッシュへの割り当ての順序を入れ替えるなどして、キャッシュやメモリ帯域をより効果的に利用できるようになる。

RDTの説明(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 そして、もう1つの新機能である「Intel SST(Speed Select Technology)」は、名前だけを見ると、クライアントPC向けのCoreプロセッサなどで導入されている「Intel Speed Step Technology」かと勘違いするかもしれないが、両者の機能はまったく異なっている。

Intel Speed Select Technology(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 Intel Speed Step Technologyが、CPUがP1ステート(通常動作モード)で動作しているときに、負荷に応じて動的に電圧とクロック周波数を変化させていくことで、無駄な消費電力を減らすという省電力のための技術である。それに対しIntel Speed Select Technologyは、CPUで行なわれているタスクの内容をCPUが動的に管理し、高い優先度のジョブが走っているコアの周波数を上げ、それ以外は下げることで、CPU全体が発生する電力を一定にするとともに、優先するジョブが走っているCPUコアがTurbo Boostに入りやすくなるよう調整して動作させる効果を実現する。

Speed Selectは対応SKUでのみ利用できる(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 Speed Selectではいくつかのプロファイルが設定されており、たとえば少ないコア数で高いクロック周波数で動くことを優先する設定、より多くのコアがあるが、低い周波数で動かすなどの設定が用意される。プロファイルは、POST時にファームウェアの設定などにより動作するモードが決定することになる。

 従来のXeonでは、そうした設定は購入時のSKUにより決められていた。それに対してSpeed Selectではそれらの設定を、システム管理者が設定できることが特徴となる。つまり、購入した後で、そのSKUの位置づけを変えることができる機能とも言うことができる。

 なおSpeed Selectが利用できるのは、Speed Select対応に設定されているSKU(プロセッサナンバーの末尾にYがついている8260Y/6240Y/4214Y)のみとなる。

サイドチャネル攻撃への対策(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)
対策の効果(出典: 2nd Gen Intel Xeon Scalable Processors-Architecture Foundation for the data-centric era、Intel Corporation)

 第2世代Xeonでは、昨年(2018年)1月にGoogleなどから公表されて話題になった、分岐予測による情報漏洩を狙ったサイドチャネル攻撃に対する対策も行なわれている。

 Variant 1に対しては、OSと仮想化ソフトウェアですでに対策済みで、Variant 2に関しては、ハードウェア分岐命令のハンドリングとOS/仮想化ソフトウェアで対策、Variant 3は、メモリフォールトをハードウェア強化で対策、Variant 3aはハードウェアで対策、Variant 4はハードウェアとOS/仮想化ソフトないしはランタイムで対策、L1TFに関しては、Variant 3対策のハードウェア強化で解決と対策が行なわれている。

 これらの対策により、ソフトウェアで対策するよりも、処理能力への影響が減っているとIntelでは説明している。

2ダイ/1パッケージのXeon Platinum 9282は、7nmの次世代EPYCよりも上回るというデモを公開

 Intelは、第2世代Xeon SPのSKUと価格を以下の表のように発表している。先端性能と名付けた2ダイ/1パッケージのSKU、コアあたりの性能最適化版として従来の通常版に相当するSKU、スケーラブル性能としたソケット数を増やしていくことを前提としたSKU、Intel Speed Select対応のSKU、NFV特化型のSKU、ロングライフ/熱設計に配慮したSKU、検索アプリケーションに特化したSKUなど、標準的なSKUだけでなく、顧客のアプリケーションや目的に特化したSKUを用意している。

第2世代Xeon SPのSKU構成(Intel社が公表した資料などより筆者作成)
用途ブランドプロセッサナンバーCPUコア数ベースクロック最大クロック(TB時)キャッシュTDPOptane DCPM対応価格(米ドル)
先端性能Xeon Platinum 9200シリーズ9282562.6GHz3.8GHz77MB400W-未定
9242482.3GHz3.8GHz71.5MB350W-未定
9222322.3GHz3.7GHz71.5MB250W-未定
9221322.1GHz3.7GHz71.5MB250W-未定
コアあたりの性能最適化版Xeon Platinum 8200シリーズ8280282.7GHz4GHz38.5MB205W10,009ドル
8270262.7GHz4GHz35.75MB205W7,405ドル
8268242.9GHz3.9GHz35.75MB205W6,302ドル
8256243.8GHz3.9Ghz16.5MB105W7,007ドル
Xeon Gold 6200/5200シリーズ6254183.1GHz4GHz24.75MB200W3,803ドル
624483.6GHz4.4GHz24.75MB150W2,925ドル
6242162.8GHz3.9GHz22MB150W2,529ドル
623483.3GHz4GHz24.75MB130W2,214ドル
6226122.8GHz3.7GHz19.25MB125W1,776ドル
522243.8GHz3.9GHz16.5MB105W1,221ドル
521783GHz3.7GHz16.5MB115W1,522ドル
5215102.5GHz3.4GHz16.5MB85W1,221ドル
Xeon Silver 4200シリーズ421582.5GHz3.5GHz16.5MB85W794ドル
スケーラブル性能Xeon Platinum 8200シリーズ8276282.2GHz4GHz38.5MB165W8,719ドル
8260242.4GHz3.9GHz35.7MB165W4,702ドル
8253162.2GHz3GHz35.7MB165W3,115ドル
Xeon Gold 6200/5200シリーズ6252242.1GHz3.7GHz35.75MB150W3,665ドル
6248202.5GHz3.9GHz27.5MB150W3,072ドル
6240182.6GHz3.9GHz24.85MB150W2,445ドル
6238222.1GHz3.7GHz30.25MB140W2,612ドル
6230202.1GHz3.9GHz27.5MB125W1,894ドル
5220182.2GHz3.9GHz24.75MB125W1,555ドル
5218162.3GHz3.9GHz22MB125W1,273ドル
Xeon Silver 4200シリーズ4216162.1GHz3.2GHz16.5MB100W-1,002ドル
4214122.2GHz3.2GHz16.5MB85W-684ドル
4210102.2GHz3.2GHz13.75MB85W-501ドル
420882.1GHz3.2GHz11MB85W-417ドル
Xeon Bronze 3200シリーズ320461.9GHz1.9GHz8.25MB85W-213ドル
Intel Speed Select対応Xeon Platinum 8200シリーズ8260Y242.4GHz3.9GHz35.75MB165W5,320ドル
Xeon Gold 6200/5200シリーズ6240Y182.6GHz3.9GHz24.75MB150W2,726ドル
Xeon Silver 4200シリーズ4214Y122.2GHz3.2GHz16.5MB85W-768ドル
NFV特化Xeon Gold 6200/5200シリーズ6252N242.3GHz3.6GHz35.75MB150W3,984ドル
6230N202.3GHz3.5GHz27.5MB125W2,046ドル
5128N162.3GHz3.9GHz22MB105W1,375ドル
VM密度特化Xeon Gold 6200/5200シリーズ6262V241.9GHz3.6GHz33MB135W2,900ドル
6222V201.8GHz3.6GHz27.5MB115W1,600ドル
ロングライフ/熱設計フレンドリーXeon Gold 6200/5200シリーズ6238T221.9GHz3.7GHz30.25MB125W2,742ドル
6230T202.1GHz3.9GHz37.5MB125W1,988ドル
5220T182.2GHz3.9GHz24.75MB105W1,727ドル
Xeon Silver 4200シリーズ4209T82.2GHz3.2GHz11MB70W-501ドル
検索アプリケーション特化Xeon Gold 6200/5200シリーズ5220S182.7GHz3.9GHz24.75MB125W2,000ドル

 同時にIntelは、2ダイ/1パッケージのXeon Platinum 9282、1ダイ/1パッケージの最上位SKUとなるXeon Platinum 8280と、初代Xeon SPの最上位SKUとなるXeon Platinum 8180との比較データや、直接の競合となるAMDのEPYCプロセッサとの比較ベンチマークデータを公表している。

Intelが公表したベンチマーク結果。最上段がXeon Platinum 9282(2ダイ/1パッケージ)とXeon Platinum 8180(初代Xeon SPのトップSKU)、2代目がXeon Platinum 8280(1ダイ/1パッケージ)とXeon Platinum 8180の比較(出典: 2nd Gen Intel Xeon Scalable Processors Performance Overview、Intel Corporation)

 Xeon Platinum 9282とXeon Platinum 8180の比較では、メモリ帯域幅が最大で2倍、整数演算時のスループットは最大2.7倍、浮動小数点演算時のスループットは最大で2.1倍、LINPACKは最大1.98倍、サーバー側でのJavaが2.01倍、AI/イメージ認識が最大3.5倍となっており、平均して2倍の性能を実現しているとIntelでは説明している。

 言うまでもなく、Xeon Platinum 9282ではパッケージに封入されているダイが倍になっており、CPUコア数も倍になっているので、それだけの性能を発揮してもおかしくはないが、実際には、I/O関連がボトルネックになってスケーラブルに性能を発揮しないことも少なくない。それにも関わらず、2倍近い性能を発揮しているのは、CPUのダイとダイを接続するUPIが十分な帯域や低レイテンシを確保しているため、こうした結果になっていると考えられる。

 一方で、同じ1ダイ/1パッケージ同士の例として、Xeon Platinum 8280とXeon Platinum 8180との比較では、メモリ帯域幅が最大で1.06倍、整数演算時のスループットは最大1.03倍、浮動小数点演算時のスループットは最大で1.05倍、LINPACKは最大1.07倍、サーバー側でのJavaが1.07倍、AI/イメージ認識が最大2.3倍となっており、VNNIへの対応という新しい要素が加えられたAI/推論時の性能を除けば、数%程度の性能向上でしかない。

 かつ、実際には8280は8180に比べて、ベースクロック周波数、ターボ時の最大周波数が引き上げられており(8280はベース2.7GHz/ターボ最大4GHz、8180はベース2.5GHz/ターボ時最大3.8GHz)となっており、アーキテクチャ的な性能向上は、事実上AI周りだけとするのが正当な評価だろう。

AMD EPYCとの比較(出典: 2nd Gen Intel Xeon Scalable Processors Performance Overview、Intel Corporation)

 なお、Intelは2ソケット時のAMD EPYCとの比較データも公開しており、2ダイ/1パッケージとなったXeon Platinum 9282とAMD EPYC 7601の比較では、メモリ帯域幅が最大で1.4倍、整数演算時のスループットは最大2.25倍、浮動小数点演算時のスループットは最大で1.96倍、NAMD apoa1が最大2.1倍、サーバー側でのJavaが最大2.2倍、データベースは最大2.4倍、LINPACKは最大5.8倍(ただしIntel側はAVX512を利用)、AI/イメージ認識が最大25倍(ただしIntel側はDL Boostを利用)となっている。

 LGA向けの最上位SKUとなる、Xeon Platinum 8280とEPYC 7601では、メモリ帯域幅が0.75倍の性能と負けているが、整数演算時のスループットは最大1.12倍、浮動小数点演算時のスループットは同等、NAMD apoa1が1.1倍、サーバー側でのJavaが2.2倍、データベースは1.6倍、LINPACKは最大3.1倍(ただしIntel側はAVX512を利用)、AI/イメージ認識が最大16倍(ただしIntel側はDL Boostを利用)となっている。

AMDがCESで公開したのと同じデモ(別記事参照)をXeon Platinum 9282と比較したところ、7nmのEPYCよりも上回る

 またデモとして、AMDがCESで公開した、7nmで製造される次世代EPYC(開発コードネームRome)の1ソケットと、Xeon Platinum 8180の2ソケットとの比較デモを逆手にとって、その7nm EPYCと2ダイ/1パッケージのXeon Platinum 9282とを比較するデータを公開し、いずれも7nm EPYCの1ソケットより、Xeon Platinum 9282の1ソケットが上回るとアピールした。