AnandTech has published Amazon's Arm-based Graviton2 against AMD and Intel: Comparing Cloud Compute which includes comprehensive benchmarks across Amazon’s general purpose instance types. The cost analysis section describes ‘An x86 Massacre’, as while the pure performance of the Arm chip is generally in the same region as the x86 competitors, its lower price means the price/performance is substantially better.
In his conclusion, Andrei Frumusanu states:
If you’re an EC2 customer today, and unless you’re tied to x86 for whatever reason, you’d be stupid not to switch over to Graviton2 instances once they become available, as the cost savings will be significant.
AWS announced Graviton2 as ‘Coming Soon’ at re:Invent 2019, and the M6g instances that use it are presently in preview. Compute optimised C6g, memory optimised R6g and SSD block storage M6gd and R6gd instance types are set to follow in due course. The processors are based on Arm’s Neoverse N1 cores fabricated with a 7nm process. N1 was launched in February 2019, so it took Amazon’s Annapurna Labs team just 10 months to go from general availability of the intellectual property (IP) to early availability of in production servers harnessing the design (though it’s possible they got a head start by having early access to the N1 IP).
Each Graviton2 has 64 cores, and an AWS virtual CPU (vCPU) uses an entire core rather than the simultaneous multithreading (SMT) core sharing that’s applied to x86 vCPUs. The largest m6g16xlarge instances are thus an entire system with 256 GiB RAM, whilst the smallest m6g.medium instances have 1 vCPU and 4 GiB RAM. The CPUs combine with AWS Nitro (another product of Annapurna Labs) to provide single root input/output virtualisation (SR-IOV) to manage the security and performance of network and storage. This gives AWS a complete vertically integrated stack connecting compute, storage and network. AWS VP and Distinguished Engineer James Hamilton provides a comprehensive background to Graviton 2 on his blog, which concludes:
The Annapurna team at AWS is doing amazing work. I wish I could show you all the work they currently have underway but only some of it is public. Even with multiple, difficult competing projects concurrently underway, they delivered Graviton2 on an unusually short schedule seldom seen in the semi-conductor world. It’s a great team to work with and Graviton2 is impressive work.
ARM Servers have been inevitable for a long time but it’s great to finally see them here and in customers' hands in large numbers.
The benchmarks compare Graviton2 to the latest x86 based instances from AWS with the M5a using AMD’s EPYC 7571 processor and M5n using Intel’s Xeon Platinum 8259CL. Both of those CPUs are made just for AWS, and there aren’t parts available through original equipment manufacturers (OEMs). The CPUs all offer 64 vCPUs, and come with roughly similar caches and memory channels, though sockets and non-uniform memory access (NUMA) configurations vary across architectures. The most obvious difference is that the 2.9-3.2GHz Xeons consume 210W per socket for a total of 420W, whilst the slower clocked 2.5GHz Graviton2 is estimated at between 80-110W. The EPYC sits in the middle at 180W. That energy saving runs almost directly into cost saving, with M6g.16xlarge at $2.464/hr versus M5n at $3.808/hr and M5a at $2.752. There are some benchmarks where the Arm cores beat the x86 parts, whilst on others they’re a little behind. Overall though, the Arm cores just need to be in the same territory on pure performance in order to win on price/performance due to the reduced energy consumption.
KeyDB has also published benchmarks for Graviton2 with a headline of ‘M6g up to 65% faster’, concluding:
It is clear that not only can these processors provide a performance boost, but also significant cost savings! It seems AWS Graviton2 has lived up to its claims when put to the test. With competitive pricing it looks like Graviton2 will be making its mark in the cloud business.
Prior to Graviton2, AWS brought to market its A1 instances based on the original Graviton processor, with a similar price/performance envelope to the low-cost general purpose T3 instances. Other service providers like Cloudflare have previously announced intentions to use Arm, though in the end those servers didn’t make it into production and Cloudflare recently announced its use of AMD EPYC. This highlights one of the challenges of switching CPU architecture, as depending upon the language being used it may be necessary to build additional deployment pipelines for different binaries. For users who don’t make their own CPUs or use AWS, Ampere recently announced its 80 core Altra, which is also based on the Neoverse N1. Engineers from Arm, Apple and Google have also got together to found Nuvia, which is expected to build server systems on chip (SoCs) for the hyperscaler market. Such newer CPUs contrast with earlier attempts at bringing Arm to the server market like HP’s Moonshot, which provided high density low powered cores, but those cores didn’t come close to contemporary x86 performance. The overall shift that Graviton2 and Altra bring to life is roughly equivalent performance per core combined with energy savings that drive an overall improvement in price/performance.