Amazon設計のARMプロセッサ「Graviton 2」の性能はIntel製CPUにどれほど迫っているのか?
2019年12月に発表された、Amazon独自設計のARMプロセッサ「Graviton 2」は、すでにAWS EC2のM6gインスタンスなどで利用することができます。そのGraviton 2について、オンラインストレージサービス「MinIO」のエンジニアであるFrank Wessels氏がIntelやAMDのCPUとの性能を比較してみたところ、その結果に衝撃を受けたと語っています。
Intel + ARM Performance Characteristics for S3 Compatible Object Storage
https://blog.min.io/intel_vs_gravitron/
MinIOはApacheライセンスに準拠したAWS S3互換のオンラインストレージです。高いパフォーマンスを維持するため、MinIOはGoによって開発されているとのこと。MinIOが使用する計算量が多いアルゴリズムは、消失訂正とハッシュ、暗号化だとWessels氏は語っています。
今回Wessels氏がベンチマークを行ったのは、AWS EC2のインスタンスのうちSkylake世代のCPUを採用するc5.18xlargeインスタンスと、Graviton 2を採用するm6g.16largeインスタンスで、詳細なスペックは以下となっています。
インスタンス名 | c5.18xlarge | m6g.16large |
---|---|---|
Architecture | x86_64 | aarch64 |
CPU(s) | 72 | 64 |
Thread(s) per core | 2 | 1 |
Core(s) per socket | 18 | 64 |
Socket(s) | 2 | 1 |
NUMA node(s) | 2 | 1 |
L1d cache | 32K | 64K |
L1i cache | 32K | 64K |
L2 cache | 1024K | 1024K |
L3 cache | 25344K | 32768K |
まずは消失訂正の性能を比較するため、リード・ソロモン符号の消失訂正を1MBから25MBまでのデータサイズで実行してみると、左側グラフで表されるシングルコア性能では緑色のSkylakeがリード。しかし、Skylakeではデータサイズ増大につれて性能の低下が見られるのに対し、青色のGraviton 2ではほぼ横ばいとなっています。また、マルチコア性能では物理的に64コアを搭載するGraviton 2が優位であり、その差はデータサイズ増大に従って開いていくという結果に。
ハッシュ計算においても、シングルコアではSkylakeが、マルチコアではGraviton 2が勝るという結果になっています。
同様の傾向がAESによる暗号化のベンチマークでも見て取れます。
コアのスケールによって消失訂正の性能がどのように推移していくかをSkylake、Cascade lake、Graviton 2でテストした結果を表したのが以下のグラフ。緑色のSkylakeはコア数が22あたりまではGraviton 2に勝っていますが、その後はコア数を増やしても性能の向上は頭打ちになっているのに対し、青色のGraviton 2は32コアあたりまで完全な線形に従って性能が向上しています。紫色のCascade lakeもSkylakeと同様、少ないコア数ではGraviton 2よりも高速ですが、ある程度コア数が多いとGraviton 2にはかなわないという結果になっています。
Wessels氏は比較対象の条件をさらに一致させるため、使用するソケットをひとつに絞って消失訂正のパフォーマンスを測定することに。このベンチマークではc5aインスタンスで提供されるAMDの「EPYC 7R32」も測定対象に加わっています。結果としては先ほどのグラフとあまり変わりありませんが、より「滑らか」なグラフになっているとWessels氏。1ソケットの物理コア数の少ないIntelのCPUが早々とピークを迎えているのに対し、64コアを利用できるGraviton 2に性能の下落は見られません。
また、EPYCはIntelのCPUよりも優れたスケールアップを実現していますが、ハイエンド領域ではGraviton 2に一歩届かないという結果に。直上のグラフは、「デュアルソケットサーバーではメモリアクセスが競合するため、パフォーマンスに大きな影響が出ることを示している」とWessels氏は語っています。
それぞれのインスタンスの利用料金と消費電力をまとめた表が以下。Graviton 2を採用するインスタンスであるm6g.16largeが利用料金、消費電力ともに他のインスタンスよりも優れていることがわかります。
また、単位あたりの消費電力と利用料金について、vCPUの数と物理的なコア数を単位として計算するとこんな感じ。Wessels氏はこの表を示した理由として「利用するケースによってはハイパースレッディングの有効性が大きく変わるため」とコメントしています。
AWSがGraviton 2を導入したことにより、ARMプロセッサはIntelのCPUとの差を縮めるどころか、マルチコアに至ってはIntelを超えているとWessels氏は指摘。また、Wessels氏はAmazonと同じくサーバー用ARMプロセッサを開発しているAmpereも話題に取り上げ、ARMに注目しているのはAmazonだけではないとコメントしています。
・関連記事
ARMを採用した80コアのサーバー用プロセッサが元Intel社長による「Ampere」から登場、性能はAMDの第2世代「EPYC」に匹敵 - GIGAZINE
7nmプロセスで独自設計の次世代ARMプロセッサ「Graviton 2」をAmazon Web Servicesが発表 - GIGAZINE
Amazonの独自ARMプロセッサ「Gravition 2」を採用したAWSインスタンス「M6g」のスペック比較表が公開される - GIGAZINE
ARMはサーバー業界を支配するアーキテクチャになりうるのか? - GIGAZINE
NVIDIAが次世代「Ampere」アーキテクチャのデータセンター向けGPU「NVIDIA A100」を発表 - GIGAZINE
・関連コンテンツ