特別企画
AMDがサーバー向けCPU市場に帰ってきた――、内部アーキテクチャを更新した「第2世代EPYC」の特徴を解説
Intelを性能でもコストでも凌駕と強調するAMD
2019年8月13日 06:00
半導体メーカーの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レーンまで強化されている。
発表会において、AMD 社長兼CEOのリサ・スー氏は「第2世代EPYCは、競合が数カ月前に出した製品と比較して、約2倍の性能を持っている。しかし、TCOは25~50%低くなっている」と述べ、EPYC 7002シリーズが、競合となる第2世代Xeon Scalable Processors(以下、第2世代Xeon SP、開発コード名:Cascade Lake)と比較して約2倍の性能を発揮し、かつサーバーの導入コストと維持管理にかかるコストを25~50%削減できると強調した。
また発表会では、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 | 第2世代EPYC | |
シリーズ名 | EPYC 7000シリーズ | EPYC 7002シリーズ |
開発コード名 | Naples | Rome |
チップレットアーキテクチャ | 第1世代 | 第2世代 |
CPU | Zen | Zen2 |
CPU製造プロセスルール | 14nm | 7nm |
L1キャッシュ(命令/データ、CPUあたり) | 64KB/32KB | 32KB/32KB |
L2キャッシュ(CPUあたり) | 512KB | 512KB |
L3キャッシュ(CPUあたり) | 2MB | 4MB |
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つのソケットで実現できていた。
これに対して第2世代EPYCでは、CPUダイはCPUコアだけを内蔵している形になり、新しくIOD(アイオーディー、I/O Die)と呼ばれる、PCI Expressコントローラとメモリコントローラなどから構成されているI/O機能を集中させたダイに分離された。
第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ソケット構成まで可能になっている。
なお後述する通り、CPUダイは7nmプロセスルールで製造されるが、このIODは14nmプロセスルールで製造される。異なるプロセスルールによって製造することで、微細化が必要なCPUは最先端のプロセスルールで、そこまでの必要がないIODは14nmという枯れたプロセスルールで製造できることになり、より低コストでの製造が可能になるというメリットがある。
7nmの製造プロセスルールで製造されるZen2で、IPCが15%、セキュリティも向上
最大8つ搭載できるCPUダイは、Zen2と呼ばれる、AMDのZenアーキテクチャの第2世代に強化されている。
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のCPUは、TSMC(台湾セミコンダクター・マニュファクチャリング・カンパニー)の7nmプロセスルールを利用して製造される。初代EPYCに採用されていたZenは14nmで製造されていたので、実に2世代分の製造プロセスのジャンプとなる。
製造プロセスルールを微細化したメリットは、同じ8コアのCPUダイを製造しても、より小さな底面積で製造することができるため、パッケージの中に実装するCPUダイの数を最大4つから最大8つに増やせたことだ。また、省電力の観点でもメリットがある。
なお、初代EPYCでは2ソケット時のNUMAによるドメイン(ノード)が3つに分けられており、ほかのNUMAに到達する際のレイテンシが大きくなってしまっている場合があったが、第2世代EPYCでは1つのソケットが1つのドメインとシンプルになり、リモートのドメインにあるメモリへのレイテンシが14~19%削減されたことで、システム全体での性能が高まっている。
このほか、セキュリティの強化も第2世代EPYCの特徴だ。第2世代EPYCのCPUには「AMD Secure Processor」と呼ばれるセキュリティチップが内蔵されている。Arm Cortex-A5をベースにしたマイクロコントローラで、独自にセキュアOSが動作している。
暗号化鍵の管理機能を備えており、それを利用してメモリの暗号化(SME:AMD Secure Memory Encryption)、さらには仮想マシンの暗号化(SEV:AMD Secure Encrypted Virtualization)のv2機能を利用することができる。SEVは、AMD Secure Processorが管理している暗号化鍵を利用してハイパーバイザーや仮想マシン(VM)を暗号化する機能で、仮想マシン環境全体の安全性を引き上げることができる。
v2では、利用できる暗号化鍵が509に増えていることが特徴となる。今回の発表会ではVMwareが将来のバージョンにおいてSEVをサポートすると明らかにしており、将来的にVMware環境でSEVを利用することが可能になる。
なお、第2世代EPYCではSpectre v2、Spectre v4などに関してはハードウェアでの緩和措置が追加されたことを明らかにした。今後、Meltdownやほかの脆弱性に関しても対応を進めていくとAMDは説明した。
第2世代EPYCのSKU
AMDが発表した第2世代EPYCには、合計19のSKUが用意されている。具体的には、2ソケット向けの製品と1ソケット向けの製品となり、1ソケット向けの製品はモデルナンバーの最後に「P」が付く形となる。
モデルナンバー | デフォルトTDP (W) | cTDPmin (W) | cTDPmax (W) | コア | スレッド | ベース周波数 (GHz) | ターボ時最大周波数 (GHz) | L3キャッシュ | メモリチャネル | DDR4最大データレート (1DPC) | PCIe | 価格(米ドル) |
7742 | 225 | 225 | 240 | 64 | 128 | 2.25 | 3.4 | 256 | 8 | 3200 | x128 | $6,950 |
7702 | 200 | 165 | 200 | 64 | 128 | 2 | 3.35 | 256 | 8 | 3200 | x128 | $6,450 |
7642 | 225 | 225 | 240 | 48 | 96 | 2.3 | 3.3 | 256 | 8 | 3200 | x128 | $4,775 |
7552 | 200 | 165 | 200 | 48 | 96 | 2.2 | 3.3 | 192 | 8 | 3200 | x128 | $4,025 |
7542 | 225 | 225 | 240 | 32 | 64 | 2.9 | 3.4 | 128 | 8 | 3200 | x128 | $3,400 |
7502 | 180 | 165 | 200 | 32 | 64 | 2.5 | 3.35 | 128 | 8 | 3200 | x128 | $2,600 |
7452 | 155 | 155 | 180 | 32 | 64 | 2.35 | 3.35 | 128 | 8 | 3200 | x128 | $2,025 |
7402 | 180 | 165 | 200 | 24 | 48 | 2.8 | 3.35 | 128 | 8 | 3200 | x128 | $1,783 |
7352 | 155 | 155 | 180 | 24 | 48 | 2.3 | 3.2 | 128 | 8 | 3200 | x128 | $1,350 |
7302 | 155 | 155 | 180 | 16 | 32 | 3 | 3.3 | 128 | 8 | 3200 | x128 | $978 |
7282 | 120 | 120 | 150 | 16 | 32 | 2.8 | 3.2 | 64 | 8 | 3200 | x128 | $650 |
7272 | 120 | 120 | 150 | 12 | 24 | 2.9 | 3.2 | 64 | 8 | 3200 | x128 | $625 |
7262 | 155 | 155 | 180 | 8 | 16 | 3.2 | 3.4 | 128 | 8 | 3200 | x128 | $575 |
7252 | 120 | 120 | 150 | 8 | 16 | 3.1 | 3.2 | 64 | 8 | 3200 | x128 | $475 |
7702P | 200 | 165 | 200 | 64 | 128 | 2 | 3.35 | 256 | 8 | 3200 | x128 | $4,425 |
7502P | 180 | 165 | 200 | 32 | 64 | 2.5 | 3.35 | 128 | 8 | 3200 | x128 | $2,300 |
7402P | 180 | 165 | 200 | 24 | 48 | 2.8 | 3.35 | 128 | 8 | 3200 | x128 | $1,250 |
7302P | 155 | 155 | 180 | 16 | 32 | 3 | 3.3 | 128 | 8 | 3200 | x128 | $825 |
7232P | 120 | 120 | 150 | 8 | 16 | 3.1 | 3.2 | 32 | 8 | 3200 | x128 | $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%低く抑えることができる」と述べている。
なお、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製品を発表した。
また、大規模なデータセンターを自社で運営しているTwitterは、Xeonと思われる現在使用しているラックサーバーを第2世代EPYCに置き換えたところ、1240コアが1792コアとラックあたりCPUコアが40%増え、消費電力は変わらず、TCOは25%削減できる見通しだと説明した。
パブリッククラウドのサービス事業者としても、すでにAmazon Web Services(AWS)とMicrosoft Azure、また中国のBaiduなどで、EPYCを利用したサービスが提供されてきたが、この発表会では、GoogleのGCP(Google Cloud Platform)でも同日からサービス提供が開始されると発表された。
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との違いを強調した。
Intelにとって、この状況に対してカウンターを打つのは容易な状況ではない。少なくとも、来年の前半にCooper Lakeが出荷されるまでは、両社の競争はハードウェア的にはこれで固定ということになるので、Intelにできることは第2世代Xeon SPの価格をさげるぐらいしか考えられない。それだけに、今後は価格競争が激化していくことが予想される。
スー氏が、「AMDはこの市場に帰ってきた」という言うのは決して強がりでもなんでもなく、AMDの市場シェアが数十%に達するという、2000年代半ば~後半までのOpteron時の状況が再現される可能性は、十分にありうるのではないだろうか。