「Skylake-SP」世代のサーバー向けIntel Xeonが登場、「AMD EPYC」とどちらが高性能なのか?


Skylake-SP」マイクロアーキテクチャ世代のサーバー向けXeonをIntelが発表しました。すでに発表済みのライバルAMDの新プロセッサ「EPYC 7000」シリーズとのサーバー市場をかけた激突がいよいよ始まるということで、AnandTechが「Xeon Platinum 8176」と「EPYC 7601」を使ったベンチマークテストを行っています。

Sizing Up Servers: Intel's Skylake-SP Xeon versus AMD's EPYC 7000 - The Server CPU Battle of the Decade?
http://www.anandtech.com/show/11544/intel-skylake-ep-vs-amd-epyc-7000-cpu-battle-of-the-decade

◆「Skylake-SP」世代のXeon
AMDのEPYC 7000シリーズ、Intel Skylake-SP Xeon、Intel Broadwell-EP Xeonのスペックを比較するのが以下の表。プロセッサあたりの最大コア数はSkylake-SPが28コア、EPYCが32コアとなっています。


旧世代の「Intel Xeon E5」(Broadwell-EP)が256KBのL2キャッシュメモリだったのに対して、「Skylake-SP」アーキテクチャを採用する新世代のXeonプロセッサは1MBのL2キッシュメモリを採用し、「AVX-512」ユニットを追加するという進化を遂げました。AVX-512の採用はAMDのサーバー向けプロセッサ「EPYC」にはない機能であり、Intelプロセッサの大きな優位点の一つです。

しかし、実際にはAVX-512 ISAの複雑さゆえにソフトウェアで利用するにはIntelのエンジニアとの最適化作業が不可欠で、性能をフルに発揮するまでには長い時間がかかるとAnandTechは指摘しています。さらに、旧来のAVX2.0やAVX機能なしの場合に比べると、AVX-512ではクロック数を落として使用しなければならないことから、AVX-512採用による優位性はさらに小さくなるとのこと。


ちなみに、複数のCPUダイをモジュールとして接続するMulti-Chip Module(MCM)構成のAMD EPYCに対して、IntelのSkylake-SP Xeonはメッシュ内に最大28個コアを統合するマルチコアトポロジーを採用しており、製造コストの面では、AMDが有利だとのこと。

Intelは何世代にもわたって使ってきた命名方式をSkylake-SP世代で一新。最上位のPlatinum 8000シリーズを筆頭に、以下、Gold 5000/6000シリーズ、Silver 4000シリーズ、Bronze 3000シリーズというラインナップになっています。


従来のXeon E7シリーズの後継となる最上位モデルのXeon Patinumは、最大8つのソケット(8CPU)をサポートし、24コア・26コア・28コアが用意されます。


Skylake-SP Xeonは、すべてのCPUコアが定格クロックで動作するわけではなく、アクティブなCPUコアの数に応じてクロック数を変えるというターボモードを採用します。「Xeon Platinum 8180」のアクティブコアの数に応じた最大クロック数は以下の通りで、AVX機能の有無によっても最大周波数は異なります。


また、最大クロック数で動作するブーストコアの数も、クロック数帯に応じて変化します。例えば、8180(AVX-512有効)の場合、28コア全てが動作する最大クロック数は2.3GHzとなっています。


Skylake-SP世代Xeon Platinumの価格は以下の通り。拡張DRAMをサポートする「8180 M」は1万3011ドル(約148万円)という前世代の最上位モデルの約2倍。通常のDRAM対応の「8180」でさえ1万ドル(約113万円)オーバーという強気の価格設定になっています。クレイジーとも思える価格設定ですが、Xeon Platinumを大量に導入する規模の大きなクライアントは個別に契約を締結するのでかなりのディスカウントが見込まれるとはいえ、一部のアナリストはSkylake-SP世代の値付けに批判的だとのこと。


ライバルのAMD EPYCのプロセッサと、価格帯で競合しそうなモデルを並べるとこんな感じ。なお、Intelの値付けは総じてAMDよりも高価であり、クライアントは実績に対してプレミアムを払うはずだというIntelの考えが反映されています。とはいえ、EPYCの最上位モデル「7601」が4200ドル(約48万円)で、それ以上のモデルがないことから、Xeon Platinumの値付けは並べる対象がない状態。8ソケット構成が利用できるというメリットを考慮しても、従来モデル比で約2倍というXeon Plutinam 28コアモデルの価格はかなり高価なのは間違いなさそうです。


◆性能比較
AnandTechは「Intel Xeon Platinum 8176」(2.1GHz、28コア、L3キャッシュ38.5MB、TDP165W)と、「AMD EPYC 7601」(2.2GHz、32コア、L3キャッシュ8MB×8、TDP180W)、旧モデルの「Intel Xeon E5-2699」(2.2GHz、22コア、L3キャッシュ55MB、TDP145W)を、各種ベンチマークテストによって比較しています。なお、すべてのテストはUbuntu Server Xenial 16.04.2 LTS(Linuxカーネル4.4.0 64ビット)で行っています。


メモリサブシステムの帯域幅を調べるための「John McCalpin's Stream bandwidth benchmark」のスコアはEPYC 7601が優勢。


メモリとキャッシュ間のレイテンシ(遅延)を調べるための「LMBench」のスコア。ブロックサイズが8MB未満ではEPYC 7601が郵趣ですが、それ以上のサイズになるとXeonが優勢。しかし、ブロックサイズが大きな領域では、Broadwell-EP世代のXeon E5-2699が最も優秀という結果になっています。


「LZMA」による圧縮テストはXeon Platinum 8176が優勢。


しかし、「LZMA」による解凍テストはEPYC 7601が優勢。


「Sysbench」を使ったMySQLデータベースのパフォーマンステスト。L3キャッシュが重要な小さなデータベースでは、EPYCは非常に不利だとのこと。


Javaのパフォーマンスを調べるための「MultiJVM SPECJbb」のテストでは、Xeon Platinum 8176とEPYC 7601はほぼ互角。


ビッグデータ用の「Apache Spark 2.1」テストでは、わずかにXeon Platinum 8176がEPYC 7601を上回ります。


浮動小数点演算性能を調べる「C-ray」では、EPYC 7601にXeon Platinum 8176は惨敗。


同じく浮動小数点演算用の「POV-Ray 3.7」でも、EPYC 7601がXeon Platinum 8176を上回りました。


POV-Rayテストで前スレッドを使用していたときの消費電力は以下の通り。EPYC 7601の低消費電力が際立っています。


各種ベンチマーク試験を終えて、AnandTechはAMDシステムはわずか1週間、Intelシステムは2週間しか使えなかったことから、チューニング不足は明らかではあるものの、全体的なイメージははっきりしていると述べ、価格辺りのパフォーマンスが重要な場合、Skyalake-EPに対してEPYCが非常に強い競争力を持つと結論づけています。Skylake-SPのXeonは8ソケット構成という強力なシステムが可能ですが、それほどのハイスペックを求めるサーバー市場は急速に縮小中であり、多くのユーザーはデュアルソケットで満足するだろうとのこと。

もっとも、高性能計算(HPC)ソフトを使う場合は、IntelのAVX2.0やAVX-512は大きなメリットになり、これまでの信頼性なども考慮してIntel Xeonの高価格も障害にはならないだろうとAnandTechは述べています。いずれにせよ、浮動小数点演算などでSkylake-SPよりもはるかに高速なEPYCは、サーバー向けCPUとしてIntelの強力なライバルになったことだけは確実と言えるようです。

・関連記事
Intelの22コアXeonを47%も上回る高性能32コアモデル&16コアで7万円強からという激安モデルなどサーバー向け「EPYC 7000」シリーズをAMDが正式に発表 - GIGAZINE

Intelの新ハイエンドCPU「Skylake-X」はグリスバーガー状態による爆熱問題を抱えていると判明 - GIGAZINE

Intelの10コアCPU「Core i9-7900X」はたしかに高性能だが高価すぎる - GIGAZINE

16コア/32スレッドのハイエンドCPU「AMD Ryzen Threadripper」まとめ、IntelのハイエンドCPUを打ち倒せるのか? - GIGAZINE

Intelがプロセッサ「Xeon D」ファミリーにこっそり12コア・16コアモデルを追加 - GIGAZINE

95

in ハードウェア, Posted by logv_to