AMD EPYC PLATFORM
【手直し】AMD EPYCプラットフォーム
AMDが「最高性能のx86 CPU」と謳うサーバーCPUマルチコア、広いメモリ帯域、PCIeGen4 …使いやすい高性能をお手元に。
EPYCシリーズは、2017年にAMD社がサーバ・組み込みシステム向けにリリースを開始したx86-64(x64)アーキテクチャのプロセッサです(コンシューマ向けはRyzenシリーズ)。高性能なメニーコアプロセッサで、コストパフォーマンスの点でも優れた製品です。HPC分野に加えて、仮想化環境/クラウド利用、メディア/エンタテインメント分野などでも注目されています。
BASIC CONFIGURATIONEPYCシリーズの基本構成
メニーコアを志向する現在のCPUでは、多くのCPUコアを単一のダイ(シリコンウェハーのチップ)上に作り込むことは、半導体製造の歩留まりの点からも非常に難しくなっています。
AMDは、単体コアの性能向上に努めるとともに、1つのCPUソケット上に多くのコアを集積するための方法として、2005年ごろからK8アーキテクチャと称するAthlon64 やOpteronなどで、MCM(Multi-Chip Module)によるマルチダイ化を進めてきました。次第に集積されるコア数が増え、第1世代のEPYCであるNaplesでは、DDR4メモリ/PCI Express3.0/USBコントローラなどのIOを内蔵した8CPUコアのSoC(System on a Chip)を4モジュール搭載する構成で、1CPUソケットで最大32コア/64スレッドのCPUとなりました。
第2世代(Rome)第3世代(Milan)では、7nmプロセスを使用して微細化し、コア数の倍増と処理性能の大幅な向上に成功しました。 8個のCPUコアのダイを8モジュール搭載、1CPUソケットで最大64コア/128スレッドのCPUとなっています。このダイは、第1世代のような個別にI/Oモジュールを持つCPUの集合ではなく、I/Oモジュールや大容量のキャッシュを共用する構成とすることで、1つのダイはコンパクトとなり、高性能でありながらコストパフォーマンスにも優れたCPUとなっています。
各モジュールはChipletと呼ばれ、CPUチップレット(CCD CPU Complex Die)とI/Oチップレット(sIOD:Server I/O Die)はそれぞれ独立して、進化できるように考えられています。
EPYC7001シリーズ(開発コード名:Naples)
8チャンネルのDDR4による高速大容量メモリ、1コア2スレッド処理やキャッシュ周りの強化によるコア性能の大幅強化などを特徴とするZenアークテクチャに基づくプロセッサ製品です。最大32コアが比較的高クロックで動作し、PCIe Gen3で128レーンをサポートすることも特徴でした。また、社会問題化しているサーバ環境への様々な攻撃に対しても、仮想環境での利用も想定し各種セキュリティ対策が導入されました。
EPYC 7002シリーズ(開発コード名:Rome)
ZenアーキテクチャはZen+/Zen2と改良され、7nmのプロセスルールを使用するサーバ向けプロセッサです。2019年8月に発表されました。IPC(Instruction Per Clock-cycle:1クロックサイクルあたりに実行できる命令数)でもIntel製品に追いつきました。最大64コア/128スレッド、8チャネルDDR4、128レーンPCIe Gen4をサポートする、コストパフォーマンスに優れた画期的な高性能プロセッサへと進化しました。またセキュリティ関連機能も強化されました。
EPYC7003シリーズ(開発コード名:Miran)
2021年3月に発表されたZen3アーキテクチャです。プロセスルールはそのままに、キャッシュ階層や内部の分岐予測、実行ユニットなどの見直しなどによるIPCの改善(約19%増)などの性能の向上と、セキュリティ関連機能に手が加えられました。またEPYC 7002シリーズとのソケット互換性を持ち(対応BIOSが必要)、6チャネルのメモリ構成に対応することで、用途に応じた、より柔軟なメモリ構成が可能になりました。
FEATUREZen2/3アーキテクチャ(Rome/Milan)の特徴
Zen2アークテクチャは、SIMD(Single Instruction Multiple Data)演算ユニットを128-bit幅から256-bit幅に拡張(浮動小数点演算性が2倍)し、1クロックで実行できる命令数(IPC:Instructions Per Cycle)を15%改善、動作クロックの向上、分岐予測の改良、キャッシュサイズの見直し、各種キューやレジスタの拡張など、Zenアークテクチャ(EPYC 7001シリーズ)から多岐にわたる改良が施されています。Zen3では更にIPCが19%改善されています。
Zen2/3プロセッサの基本構造は同じで、8コアを単位とした「Chiplet」チップ(CPU Complex ダイ)と、メモリコントローラやPCIeコントローラなど各種コントローラを集約したI/O Chiplet(sIOD:Server I/O ダイ)による構成となっています。そのためEPYC 7002シリーズ(開発コード名:Rome)及びEPYC 7003 シリーズ(開発コード名:Milan)は、最大8コア(1Chiplet)x8=64コアのプロセッサとなっています。
Rome/Milan搭載サーバーは絶対的な性能とコストパフォーマンスによって、HPC分野はもとより、消費電力効率の良さから各種エンタープライズ用途、レンダリング処理を中心としたメディア/エンタテインメント、仮想環境やクラウドでの利用など、広く活用されています。
↓ZenアーキテクチャとZen2/3アーキテクチャのデザイン比較
↓Zen2/3アーキテクチャの特徴
ROADMAP & OVERVIEWロードマップと機能の概要
EPYC 7001シリーズ(Naples)の概要
https://www.amd.com/ja/products/epyc-7000-series
- Zen CPU Core8 + I/O(SoC)ダイ ×4(~32 core / 64 thread)
- 14nm GlobalFoundries
- Socket SP3
- 120W-180W TDP
- 128レーンPCIe Gen3
- 8チャネルDDR4 2666メモリ(最大2TB)
EPYC 7002シリーズ(Rome)の概要
https://www.amd.com/ja/processors/epyc-7002-series
- Zen2 CPU core 8:CCD(CPU Complex Die)×8+ sIOD(Server I/O ダイ)(~64 core / 128 thread)
- CCD:7nm TSMC、sIOD:14nm GlobalFoundries
- Socket SP3
- 120W-225W TDP
- 128レーンPCIe Gen4
- 8チャネルDDR4 3200メモリ(~256GB DIMM, 最大4TB)メモリインターリーブが動作するためには、8メモリチャネルで16枚のDMM構成が必要。
EPYC7003シリーズ(Miran)の概要
https://www.amd.com/ja/processors/epyc-7003-series
- Zen2 CPU core 8:CCD(CPU Complex Die)×8 + sIOD(Server I/O ダイ)(~64 core / 128 thread)
- CCD:7nm TSMC、sIOD:12nm GlobalFoundries
- Socket SP3 Drop-in Compatible(要BIOS対応)
- 155W-280W TDP
- 28レーンPCIe 4.0
- 8/6チャネルDDR4 3200メモリ(~256GB DIMM, 最大8チャネル4TB)
メモリインターリーブが動作構成が、4/6/8メモリチャネルに対応し、より柔軟なより少ないDIMM枚数で性能が発揮できる。
Next Generation Zen4 (Genoa)
We will report as soon as the information is confirmed
SECURUTY FUNCTIONセキュリティ関連機能
EPYCプロセッサは、AMD独自のセキュリティ機能群「Infinity Guard Security」を実装しています。
https://www.amd.com/ja/technologies/infinity-guard
たとえば、SME:Secure Memory Encryption機能は、メモリ空間への直接攻撃や、物理的にサーバにアクアセスするコールドブートアタックに対応するため、暗号化されたメモリへのアクセスをサポートします。
また仮想環境向けに、SEV:Secure Encrypted Virtualization機能を実装し、暗号鍵を生成して仮想マシン(VM)同士を隔離することで、1つの仮想環境の管理者権限やハイパーバイザが攻撃者に侵害された場合でも、その他の仮想マシンを保護することができます。
Zen2:EPYC7002シリーズ(Rome)以降のEPYCプロセッサでは、CPUとは独立したASP:AMD Secure Processerを内蔵しており、「Root of Trust」としてブートROM/ブートローダ/BIOSといった各層での認証を行いOSのセキュアなBootを保証します。これによりBIOS改ざん攻撃などに対するハードウェアレベルのセキュリティ機能を提供しています。またSEVの暗号鍵の生成などもASPが行います。
Zen3:EPYC7003シリーズ(Miran)では、仮想環境向けのセキュリティであるSEVが、従来のVM単体からVMの中に作られたVM(ネストされたVM)にも適用される(SEV-ES)など、強化されています。
- SEV:Secure Encrypted Virtualization
Encrypt Each VM with Unique Keys - SEV-ES:SEV – Encrypted State
VM Integrity with Protected CPU Registers - SEV-SNP:SEV – Secure Nested Panging
Hardware Protection Against Malicious Hypervisors
※Root of Trust:デバイスの信頼性を保証するための、ハードウェア/ソフトウェアコンポーネント。ソフトウェアの完全性検証とは、セキュアブート及び、セキュアアップデート機構をいう。