There is much touting about the new AWS Graviton 2 (ARM64) offering as a game changer. Let us run some benchmark to test it out.
Settings
We pick 3 EC2 instance types to compare:
- a1 – First generation of ARM64 AWS Graviton CPU
- m6g – Second generation of ARM64 Graviton 2 CPU
- m5 – Intel Xeon Platinum 8259CL CPU
We run Geekbench 4 on all xlarge instances of these EC2 types. We mostly focus on 64bit performance, but we will also touch 32bit performance as well.
Overview
Instance type | a1.xlarge | m6g.xlarge | m5.xlarge |
vCPU | 4 | 4 | 4 |
Memory(GB) | 8 | 16 | 16 |
Hourly price(us-ea-1,Linux) | 0.102 | 0.154 | 0.192 |
64bit single-core score | 1899 | 3609 | 3647 |
64bit multi-core score | 5227 | 11142 | 8017 |
From the above table, several observations are obvious:
- Graviton 2 has doubled the performance of Graviton 1.
- For single core performance Graviton 2 is similar to Intel Xeon CPU
- For multi-core performance, Graviton 2 scales up much better, likely because Intel uses hyper-threading technology, where vCPU count is only 1/2 of true CPU core count. By contrast, vCPU count in Graviton CPU is true CPU core count.
I also listed the pricing. It looks like Graviton 2 is a good deal!
Look into the Details
This link gives detailed scores for each test suite and each instance type. A few highlighted cells indicate interesting contrast between Intel Xeon and Graviton 2:
- Intel Xeon is 20 times faster than Graviton 2 in AES test! This is *very* likely due to non-optimized implementation for ARM64, i.e., it is not using NEON instructions. Otherwise the performance should be more comparable.
- Intel Xeon are 2x better in SGEMM and 50% better in SFFT, both heavily relying Intel AVS/SSE instructions while ARM64 using NEON instructions.
- Graviton 2 shines in memory area, 2x better in Memory Copy and 4x better in Memory bandwidth.
32bit Performance
While 32bit performance is probably not interesting on those servers, it is still interesting to take a look. Below is the overview comparison table and this link gives detail scores.
Instance type | a1.xlarge | m6g.xlarge | m5.xlarge |
32bit single-core score | 1707 | 2975 | 3053 |
32bit multi-core score | 4692 | 9016 | 6886 |
Overall we see similar patterns in 64bit case:
- Graviton 2 is about 2x faster than Graviton 1
- Intel Xeon performs relatively same as Graviton 2 in single core and wanes in multi-core performance.
- Detail scores also reflect similar pattern as 64bit case.