特別企画

AMDがサーバー向けCPU市場に帰ってきた――、内部アーキテクチャを更新した「第2世代EPYC」の特徴を解説

Intelを性能でもコストでも凌駕と強調するAMD

 半導体メーカーのAMDは7日(米国時間)、「Rome(ローマ)」の開発コード名で開発されてきた新データセンター向けプロセッサを発表した。製品の総称としては「第2世代EPYC」、シリーズ名としては「EPYC 7002シリーズ」となっている。

 このEPYC 7002を、「Naples(ネイプルス)」の開発コード名で知られる第1世代のEPYC(EPYC 7000シリーズ)と比較すると、パッケージ内部のアーキテクチャが大きく改良されている。

 具体的には、CPUコア数が最大で64コア(従来世代は32コア)へと強化されたほか、それぞれのCPUに内蔵されているL3キャッシュが4MBに増やされ、CPUソケットあたり最大256MBへと増量された。また、従来世代では最大8チャネルでSKUによってはそれ以下だったメモリコントローラは、すべてのSKUで8チャネルとなり、PCI ExpressがGen4に対応し、最大で128レーンまで強化されている。

第2世代EPYC

 発表会において、AMD 社長兼CEOのリサ・スー氏は「第2世代EPYCは、競合が数カ月前に出した製品と比較して、約2倍の性能を持っている。しかし、TCOは25~50%低くなっている」と述べ、EPYC 7002シリーズが、競合となる第2世代Xeon Scalable Processors(以下、第2世代Xeon SP、開発コード名:Cascade Lake)と比較して約2倍の性能を発揮し、かつサーバーの導入コストと維持管理にかかるコストを25~50%削減できると強調した。

第2世代EPYCは世界最高性能のx86プロセッサだという

 また発表会では、OEMメーカーとしてHPE、Dell EMC、Lenovoの幹部が招待されたほか、Twitterのような大規模データセンターを展開する顧客、そしてMicrosoftやGoogleといったパブリッククラウド事業者の幹部も登壇し、データセンターそしてクラウドでの採用が進んでいることを印象づけた。

8個のCPUダイとIODを1パッケージにまとめた第2世代EPYC

 今回AMDが発表した第2世代EPYC(EPYC 7002シリーズ)は、2017年にAMDが投入した初代EPYC(EPYC 7000シリーズ)に次ぐ第2世代の製品となる。第1世代と第2世代の違いをまとめると、以下のようになる。

【表1】EPYCの第1世代(EPYC 7000シリーズ)と第2世代(EPYC 7002シリーズ)の違い
第1世代EPYC第2世代EPYC
シリーズ名EPYC 7000シリーズEPYC 7002シリーズ
開発コード名NaplesRome
チップレットアーキテクチャ第1世代第2世代
CPUZenZen2
CPU製造プロセスルール14nm7nm
L1キャッシュ(命令/データ、CPUあたり)64KB/32KB32KB/32KB
L2キャッシュ(CPUあたり)512KB512KB
L3キャッシュ(CPUあたり)2MB4MB
I/O機能(ソケットあたり)CPUに内蔵(PCIe Gen3 128レーン)IOD(PCIe Gen 4 128レーン)
メモリコントローラ(ソケットあたり)CPUに内蔵(8Ch、DDR4-2667)IOD(8ch、DDR4-3200)
IOD製造プロセスルール-14nm
Infinity Fabric通信速度10.7GT/秒18GT/秒
CPUソケット最大2ソケット最大4ソケット

 ハードウェアの観点から第2世代EPYCで変更された点をハイレベルでまとめると、2つになる。それが、AMDがチップレットアーキテクチャと呼ぶ、複数のチップを1つのパッケージに封入する技術の使い方と、もう1つはCPUそのものの進化だ。

 最も大きな改良点は、チップレットアーキテクチャの構造にある。初代EPYCでは、4つのCPUダイ(ダイとはチップのこと、1つのダイにつき8コアCPU+PCI Expressコントローラ+メモリコントローラが実装されている)が最大で4つまで1つのパッケージにまとめられており、1つのCPUダイにCPUが最大8コアとなっていたので、合計で32コアCPUを1つのソケットで実現できていた。

左がIntelのXeonなどのシングルダイ、中央が第1世代のEPYC、右が第2世代のEPYC

 これに対して第2世代EPYCでは、CPUダイはCPUコアだけを内蔵している形になり、新しくIOD(アイオーディー、I/O Die)と呼ばれる、PCI Expressコントローラとメモリコントローラなどから構成されているI/O機能を集中させたダイに分離された。

左の第1世代EPYCと右の第2世代EPYCを比較すると、IODの存在が大きな違いであることがわかる

 第2世代EPYCでは、1つのパッケージに最大で8つのCPUダイと1つのIODという構成になり、最大で9つのダイが実装される形に変更されている。1つのCPUダイには8つのCPUコアが内蔵されているため、8x8=64という計算になり、1ソケットで最大64コアの製品が提供される形になる。

 なお、IODには8つのメモリコントローラが内蔵されており、DDR4-3200まで対応させることが可能になっている。

 PCI ExpressのコントローラはGen4(片方向で16GT/秒、従来のGen3は片方向8GT/秒なので同じレーン数であれば帯域幅が倍になる)になり、初代EPYCと同じソケットあたりで最大128レーンまで対応できる(ただし、2ソケットの場合には2ソケット合わせて162レーンとなる)。

 EPYCでは、AMDがInfinity Fabricと呼ぶインターコネクトを利用して、CPUダイ同士やソケット同士を接続している。従来製品では10.7GT/秒の伝送速度を実現していたが、第2世代EPYCではこれが18GT/秒に引き上げられている。これにより、初代EPYCでは2ソケットまでとなっていたソケット構成も4ソケット構成まで可能になっている。

インターコネクトのInfinity Fabricも速度が向上、4ソケットまで対応
PCI ExpressコントローラはGen4に対応

 なお後述する通り、CPUダイは7nmプロセスルールで製造されるが、このIODは14nmプロセスルールで製造される。異なるプロセスルールによって製造することで、微細化が必要なCPUは最先端のプロセスルールで、そこまでの必要がないIODは14nmという枯れたプロセスルールで製造できることになり、より低コストでの製造が可能になるというメリットがある。

7nmの製造プロセスルールで製造されるZen2で、IPCが15%、セキュリティも向上

 最大8つ搭載できるCPUダイは、Zen2と呼ばれる、AMDのZenアーキテクチャの第2世代に強化されている。

Zen2の特徴

 Zen2は、クライアントPC向けの第3世代Ryzenにも採用されているAMDの最新アーキテクチャで、初代EPYCに採用されていたZenと比較すると、IPC(Instruction Per Clock-cycle:1クロックあたりに実行できる命令数、CPUアーキテクチャの効率を示す指標)が15%ほど改善されている。

 具体的には、分岐予測が改善されていたり、キャッシュの利用効率などが改善されていたりしており、特に浮動小数点演算時の実行効率は、Zenに比べて2倍になっている。

 また、L1の命令キャッシュは64KBから32KBに減っているが、その逆にL3キャッシュは2MBから4MBに増やされており、x86アーキテクチャの特性上、命令キャッシュを64KB一杯に使うのは難しいが、よりメモリに近いL3キャッシュはメモリレイテンシを削減する効果があると考えられるので、このあたりもIPCの15%向上に貢献していると考えることができる。

Zen2の強化点

 このZen2のCPUは、TSMC(台湾セミコンダクター・マニュファクチャリング・カンパニー)の7nmプロセスルールを利用して製造される。初代EPYCに採用されていたZenは14nmで製造されていたので、実に2世代分の製造プロセスのジャンプとなる。

 製造プロセスルールを微細化したメリットは、同じ8コアのCPUダイを製造しても、より小さな底面積で製造することができるため、パッケージの中に実装するCPUダイの数を最大4つから最大8つに増やせたことだ。また、省電力の観点でもメリットがある。

 なお、初代EPYCでは2ソケット時のNUMAによるドメイン(ノード)が3つに分けられており、ほかのNUMAに到達する際のレイテンシが大きくなってしまっている場合があったが、第2世代EPYCでは1つのソケットが1つのドメインとシンプルになり、リモートのドメインにあるメモリへのレイテンシが14~19%削減されたことで、システム全体での性能が高まっている。

NUMAドメインの切り分けがシンプルに、レイテンシが削減されている

 このほか、セキュリティの強化も第2世代EPYCの特徴だ。第2世代EPYCのCPUには「AMD Secure Processor」と呼ばれるセキュリティチップが内蔵されている。Arm Cortex-A5をベースにしたマイクロコントローラで、独自にセキュアOSが動作している。

AMD Secure Processor

 暗号化鍵の管理機能を備えており、それを利用してメモリの暗号化(SME:AMD Secure Memory Encryption)、さらには仮想マシンの暗号化(SEV:AMD Secure Encrypted Virtualization)のv2機能を利用することができる。SEVは、AMD Secure Processorが管理している暗号化鍵を利用してハイパーバイザーや仮想マシン(VM)を暗号化する機能で、仮想マシン環境全体の安全性を引き上げることができる。

 v2では、利用できる暗号化鍵が509に増えていることが特徴となる。今回の発表会ではVMwareが将来のバージョンにおいてSEVをサポートすると明らかにしており、将来的にVMware環境でSEVを利用することが可能になる。

AMD Secure Memory Encryption(SME)
AMD Secure Encrypted Virtualization(SEV)
SEVに対応するハイパーバイザーとVM
VMware 上席副社長兼クラウドプラットフォームビジネス事業部 事業本部長 クリシュ・パラサド氏(左)。右はAMDの上級副社長兼CTOであるマーク・ペーパーマスター氏

 なお、第2世代EPYCではSpectre v2、Spectre v4などに関してはハードウェアでの緩和措置が追加されたことを明らかにした。今後、Meltdownやほかの脆弱性に関しても対応を進めていくとAMDは説明した。

Spectre V2/V4のハードウェアの緩和機能

第2世代EPYCのSKU

 AMDが発表した第2世代EPYCには、合計19のSKUが用意されている。具体的には、2ソケット向けの製品と1ソケット向けの製品となり、1ソケット向けの製品はモデルナンバーの最後に「P」が付く形となる。

【表2】EPYC 7002シリーズのSKU構成
モデルナンバーデフォルトTDP
(W)
cTDPmin
(W)
cTDPmax
(W)
コアスレッドベース周波数
(GHz)
ターボ時最大周波数
(GHz)
L3キャッシュメモリチャネルDDR4最大データレート
(1DPC)
PCIe価格(米ドル)
7742225225240641282.253.425683200x128$6,950
77022001652006412823.3525683200x128$6,450
764222522524048962.33.325683200x128$4,775
755220016520048962.23.319283200x128$4,025
754222522524032642.93.412883200x128$3,400
750218016520032642.53.3512883200x128$2,600
745215515518032642.353.3512883200x128$2,025
740218016520024482.83.3512883200x128$1,783
735215515518024482.33.212883200x128$1,350
7302155155180163233.312883200x128$978
728212012015016322.83.26483200x128$650
727212012015012242.93.26483200x128$625
72621551551808163.23.412883200x128$575
72521201201508163.13.26483200x128$475
7702P2001652006412823.3525683200x128$4,425
7502P18016520032642.53.3512883200x128$2,300
7402P18016520024482.83.3512883200x128$1,250
7302P155155180163233.312883200x128$825
7232P1201201508163.13.23283200x128$450

 TDP(Thermal Design Power:熱設計消費電力)は225W~120Wまで、複数のポイントが用意される。cTDP(Configurable TDP)にも対応しており、OEMメーカー側のデザイン次第ではcTDPmax(Intelで言うところのcTDPup)に設定して、さらにターボモードを有効にした時により高いクロックを維持させて、システム全体の性能を引き上げることもできる。

 例えば最上位SKUのEPYC 7742では、ターボ有効時の最大クロック周波数は3.4GHzだが、それはアクティブなコア数が少ない時の最大値となる。64コア全部を動かした場合には3.2GHzが最大値となるものの、それもcTDPmaxのサーマルポイントでOEMメーカーが設計すれば、もう少し高いクロックで維持するということが可能になる。

最上位同士を比べると価格は3割安いのに性能は倍近く違う?

 AMDは、8月7日(米国時間)に行った記者会見の中で、EPYCの性能に関しても説明を行った。

 第2世代EPYCの最上位SKUとなるEPYC 7742と、Intelの最新製品、第2世代Xeon SPのXeon Platinum 8280L(28コア/56スレッド、2.7GHzベース/4GHzターボ、TDP205W)との比較では、SPECrate 2017 Integer-Peakで97%、SPECrate 2017 Flooting Point-Peakで88%、SPECjbb 2015 MultiJVM MAXで84%高いスコアになると説明した。

 AMDのスー氏によれば「競合の同等製品と比較して約2倍の性能を持っている」という表現になる。そして、スーによれば、TCO(Total Cost of Ownership、導入コストと維持管理コストを足したライフサイクル全体でのコスト)は、同社の試算によれば「25~50%低く抑えることができる」と述べている。

競合よりもTCOが25~50%低いとAMDはアピールしている
SPECrate 2017 Integer-Peakの結果
SPECrate 2017 Flooting Point-Peakの結果
SPECjbb 2015 MultiJVM MAXの結果

 なお、Xeon Platinum 8280Lの参考価格は1万9ドル、EPYC 7742のそれは6950ドルとなっており、導入時の段階でEPYC 7742の方が30%低価格に抑えられており、それがTCOが低く抑えられる大きな要因の1つだ。仮にAMDの主張通り2倍の性能があるのであれば、同じ処理を半分の時間で終えてしまうことになる。

 必要になる電力も減らすことができることになるので、そうしたこともTCOに大きな影響を与えると考えることができる。

多くのOEMメーカーやクラウドサービス事業者が採用

 今回の第2世代EPYCの発表会は、AMDにとって大きなマイルストーンになったといえる。というのも、発表会に多くのOEMメーカー、大規模な顧客、CPUやGPUを利用するクラウドサービス事業者などが参加した。

 大きなOEMメーカーなどの発表はなく、静かだった初代EPYCの発表会とは対照的と言える。

 OEMメーカーとしてステージに立ってスピーチしたのはHPE、Dell EMC、Lenovoというサーバー機器ベンダー大手。CARYなどのHPC機器メーカーも参加し、各社は展示ブースなどで第2世代EPYC製品を発表した。

HPE CTOのマーク・ポッター氏(左)
Dell EMC 副社長 ロバート・フルムス氏(左)
Lenovo データセンター事業部 上級副社長 兼 COO ダグラス・フィッシャー氏(左)
CARY CEOのペーター・ウンガロ氏(左)

 また、大規模なデータセンターを自社で運営しているTwitterは、Xeonと思われる現在使用しているラックサーバーを第2世代EPYCに置き換えたところ、1240コアが1792コアとラックあたりCPUコアが40%増え、消費電力は変わらず、TCOは25%削減できる見通しだと説明した。

Twitterのエンジニアリング担当シニアダイレクター ジェン・フラサー氏(左)、右はAMD 社長 兼 CEOのリサ・スー氏
Twitterのデータセンターで競合CPUを採用していたラックに第2世代EPYCを入れたら、同じ電力でCPUコア数が40%増えた
TCOは25%削減されたという

 パブリッククラウドのサービス事業者としても、すでにAmazon Web Services(AWS)とMicrosoft Azure、また中国のBaiduなどで、EPYCを利用したサービスが提供されてきたが、この発表会では、GoogleのGCP(Google Cloud Platform)でも同日からサービス提供が開始されると発表された。

Googleも第2世代EPYCを搭載したCPUのクラウドサービスを提供開始
Microsoft Azureでも引き続きEPYCを採用するという

Intelが打てる手は値下げのみ?

 このように、多くのOEMメーカーやクラウドサービスプロバイダーがAMDベースの製品やサービスを提供しているという事実は、第2世代EPYCが、AMDの主張するように、競合製品よりも性能が高い、TCOが低いといった主張を、それらのOEMメーカーや事業者が認めているということの裏返しだ。

 これにより、AMDとIntelのサーバー向けCPUの競争は、完全に攻守を入れ替えたと言っていいだろう。

 それを象徴するできごとが、AMDの発表会が行われる前日(米国時間8月6日)に発生している。Intelは、サーバー向けの次世代製品であるCooper Lake(クーパーレイク)に関する報道発表を行い、Cooper Lakeが1ソケットあたり56コアをサポートすること、bfloat16と呼ばれる新しい命令に対応したディープラーニング時の推論を高速化すること、そしてCooper Lakeの後継として投入される10nmプロセスルールで製造されるIce Lakeとピン互換になっており、2020年の上半期に投入する計画であることなどを発表した。

 もっとも、bfloat16や、Ice Lakeとピン互換であることはすでに2018年7月に発表されており、新しい事実は、現在はソケット向けには提供されていない(BGAパッケージだけで提供されている)56コアのSKUが提供されることと、投入時期が2020年上半期とされたことだ。

 現在、Intelが第2世代Xeon SPとして提供しているCascade Lake、そして次世代のCooper Lakeは、実質的に、2017年に投入された初代Xeon SP(開発コード名:Skylake-SP)と同じ14nmプロセスルールで製造されており、かつCPUのダイもほぼ同等で、リビジョンアップ程度にとどまっている。

 というのも、本来であればSkylake-SPの後に、10nmプロセスルールで製造されるIce Lakeが投入されるはずだったのだが、10nmプロセスルールの立ち上げがIntelの予定よりも遅れてしまい、それをカバーするため、Cascade LakeとCooper LakeがSkylake-SPの改良版として投入されることになったからだ。

 つまり今のIntelは、本来の予定通りに製品を出せていない状況で、改良版でなんとかしのいでいる、ということになる。

 実際、IntelとAMDのサーバープロセッサの歴史上、14nmのバリエーションといっていい12nmは別にして、メインのプロセスルールでAMDがIntelよりも進んだプロセスルールで製造し、実際に出荷できたというのは、この第2世代EPYCが初めての例になる。

 だからこそIntelは、わざわざAMDの発表会の前日に、Cooper Lakeに言及したプレスリリースを出さなければいけなかったのだ。

 AMDもこの状況を正確に理解している。AMDのスー氏は講演の最後に、「われわれは初代のEPYC、第2世代EPYCをきちんと予定通り出すことができた。今順調に開発が進んでいる7nm+の製造プロセスルールのZen3を採用したMILAN、そして現在開発中のZen4を搭載したGENOAを予定通りに出していく」と述べ、10nmプロセスルールの遅れにより、Ice Lakeのリリースが当初予定よりもずれ込んでいるIntelとの違いを強調した。

AMDの開発ロードマップ、予定通りであることを強調

 Intelにとって、この状況に対してカウンターを打つのは容易な状況ではない。少なくとも、来年の前半にCooper Lakeが出荷されるまでは、両社の競争はハードウェア的にはこれで固定ということになるので、Intelにできることは第2世代Xeon SPの価格をさげるぐらいしか考えられない。それだけに、今後は価格競争が激化していくことが予想される。

 スー氏が、「AMDはこの市場に帰ってきた」という言うのは決して強がりでもなんでもなく、AMDの市場シェアが数十%に達するという、2000年代半ば~後半までのOpteron時の状況が再現される可能性は、十分にありうるのではないだろうか。