Processor Options & Comparison on AWS – Is Graviton a game changer?
Anand Apte
Cloud Advisory Director
Anand Apte
Cloud Advisory Director
AWS offers a range of processor options including x86, AMD and Graviton each with its own unique advantages. In this blog, I’ll delve into these options for what they are, their features, benefits and use cases. We’ll go through a compute benchmarking for EC2 instances running with 3 different processors, each with equal compute capacity. We’ll end with some of the key benefits of Graviton processors and understand if they really are the game changer in cloud computing.
Intel x86
Intel x86
- Architecture
- Intel’s x86 processors are based on Complex Instruction Sets Computing (CISC) processing design and has been the most popular processor type for many years. It powers a wide range of processors used in personal computers, servers, and data centers. Examples are Intel core & Xeon proessors.
- Performance
- x86 processors such as Intel Xeon based instances offer robust compute performance. They are capable of handling a wide range of workloads from general purpose applications to high performance computing.
- Price
- The pricing varies depending on the specific instance type, configuration and region. But generally x86 compute of comparable sizes have higher price point compared to alternative options like AMD or Graviton.
- Compatibility – Operating Systems
- x86 processors have widespread compatibility with popular operating systems such as Windows, Linux (including distributions like Ubuntu, CentOS, RHEL) and FreeBSD. All these operating systems have extensive support for x86 architecture and a vast ecosystem of software and applications.
- Compatibility – Applications
- x86 processors have widespread compatibility with applications across various domains, including enterprise software, web applications, databases, content management systems and more. Majority of commercial and open source software are readily available on x86 architecture, ensuring broad compatibility.
Advanced Micro Devices (AMD)
- Architecture
- AMD’s x86 or popularly known as AMD are also based on CISC processing design. It has been a competitor to Intel’s x86 processors for years in enterprise and consumer markets, although comparatively less popular. Examples include AMD Ryzen and AMD EPYC series.
- Performance
- AMD processors particularly AMD EPYC series and designed to provide higher core counts, increased memory bandwidth and competitive performance. They can delivery excellent performance for virtualization, data analytics and memory intensive workloads.
- Price
- Compute based on AMD processors can offer price advantage compared to some x86 counterparts. But some applications may not perform as well as they might on comparable x86 based compute.
- Compatibility – Operating Systems
- AMD processors being x86 compatible, support the same range of operating systems as x86 processors.
- Compatibility – Applications
- Applications that are compatible with x86 processors are also compatible with AMD processors. The software ecosystem for AMD processors is aligned with the broader x86 ecosystem, ensuring compatibility with a wide range of applications across industries.
AWS Graviton
- Architecture
- Graviton is AWS’s custom designed ARM based processor, designed entirely for efficiency & workload / price performance. ARM based processors are based on Reduced Instruction Set Computing (RISC) and focus on simplified instruction sets and atomic transactions to achieve performance and energy efficiency
- Performance
- Graviton processors have been designed specifically for workload performance and specifically Graviton 2 & 3 are proven to give 40% performance benefits on same applications being run on comparable x86 instances.
- Price
- AWS Graviton processors are known for their cost-effectiveness. They are designed to offer high performance at a lower cost compared to traditional x86 processors. AWS provides various instances powered by Graviton processors, such as the Amazon EC2 A1 and M6g instances. AWS Graviton is expected to give up to 40% price performance benefit over x86 based compute.
- Compatibility – Operating Systems
- Graviton processors are built on ARM architecture and as a result, they are compatible with operating systems specifically compiled for the ARM platform. This includes various Linux distributions specifically optimised for ARM, such as Amazon Linux 2, Ubuntu, Debian, CentOS, and SUSE Linux Enterprise Server (SLES). Note, they are not yet compatible with Windows.
- Compatibility – Applications
- The compatibility of applications on Graviton processors depends on their specific ARM architecture support. Many popular open-source applications and frameworks have already been ported and optimised for ARM, allowing them to run smoothly on Graviton processors. Additionally, many containerized applications and microservices are compatible with ARM-based systems, making them a good fit for Graviton instances. Refer to aws-graviton for supported platform and applications details.
Performance Benchmarking Tool, Sysbench
Let’s now go through a simplistic performance benchmarking for comparable EC2 instances running on x86 vs ARM architectures using sysbench. Sysbench is an open source scriptable multi-threaded benchmark tool based on LuaJIT. It is mainly used for database benchmarks, but can also be used to create arbitrarily complex workloads that do not involve a database server.
Performance Benchmarking
Benchmarking was done against CPU and memory by running 16 worker threads, random numbers generated with prime number limit set to 2000 for 1000 seconds. Please refer to the sysbench github page for different parameters that can be set for benchmarking CPUs. Price performance is calculated as (cost/Hr) * transctions processed by x86/transaction processed by AMD or Graviton respectively). Please note, the benchmarking performed is only indicative. For more accurate results, real application traffic should be simulated and metrics captured for different instance types.
Performance Scenario 1 – CPU Benchmarking
- Chosen instance sizes – 16 vCPU, 32 GB memory, compute optimised
- x86 – c5.4xlarge
- AMD – c5a.4xlarge
- Graviton – c6g.4xlarge (Graviton Gen 2)
- Results
- x86 and AMD processors show comparable performance with AMD processing slightly lesser number of events, although out performing x86 on price performance aspect.
- Graviton shows a significant jump in performance based on the number of events processed and even larger in terms of price performance ratio.
Performance Scenario 2 – Memory Benchmarking
- Chosen instance sizes – 16 vCPU, 32 GB memory, memory optimised
- x86 – r5.4xlarge
- AMD – r5a.4xlarge
- Graviton – r6g.4xlarge (Graviton Gen 2)
- Results
- x86 based r5.4xlarge performed the best in terms of number of events processed for the duration of test.
- Graviton (Gen 2) processed less number of events for the same duration, but edged out slightly on price performance.
- AMD based instance was out performed in this run.
Although the test was very basic and is indicative only, we can already see that the Graviton 2 processor is able to deliver much better price performance ratio especially while benchmarking the CPU performance. That said, Graviton 3 processor is expected to derive a 25% uplift in price performance compared to Gen 2.
AWS Graviton’s Key differentiators
- Its based on ARM architecture → ARM architecture is known for its energy efficiency and power optimisation. Supporting sustainability in terms of energy efficient computing and reduced carbon emmissions is at the core of Graviton design.
- Cost optimisation → Graviton based compute is priced competitively, aiming to provide cost savings compared to some x86 alternatives. This cost optimisation makes them attractive for price-conscious users and workloads.
- Better Performance → Graviton is built to provide better performance to variety of workloads. Performance combined with price (aka price performance) is expected to be upto 40% over the comarable x86 based compute for Gen 2 based instances and a further 25% for Gen 3 based instances.
- Variety of AWS services including Amazon Aurora, Amazon ElastiCache, Amazon EMR, AWS Lambda, and AWS Fargate, also support Graviton2-based instances for a fully managed experience with significant price performance benefits.
AWS Graviton’s Use cases
Graviton2-based instances support a wide range of general purpose, burstable, compute-optimised, memory-optimised, storage-optimised, and accelerated computing workloads including application servers, microservices, high-performance computing (HPC), CPU-based machine learning (ML) inference, video encoding, electronic design automation, gaming, open-source databases, and in-memory caches.
Guidance when making the transition to Graviton
The following are some areas to look out for when making the switch to Graviton
Application compatibility
- There may be compatibility issues with the applications which are specifically design and compiled for x86 architecture. While the ARM ecosystem has been growing and many popular open-source applications have been ported to ARM, certain proprietary or specialized software may not be readily compatible. It’s essential to verify application compatibility before migrating to Graviton instances.
Limited Instance Availability
- Graviton processors are available on a subset of AWS EC2 instance types. While the range of available instances has been expanding, there may be instances where the desired instance type or configuration is not available with Graviton processors.
Ecosystem & Tooling Support
- While the ARM ecosystem has been growing, it may not be as mature or extensive as the x86 ecosystem. Some specialized tools, libraries, or development environments may have better support or optimisations for x86 processors. It’s crucial to evaluate the availability of ARM-compatible tools and the level of support within the ecosystem for your specific development and operational needs.
If you are looking to assess migration from x86 to Graviton, use the below link
Guide to transition to AWS Graviton
Its still early days for Graviton (although they have been around for over 5 years) compared to x86 and AMD. But I do think, it is going to be more widely adopted as more and more applications are ported on ARM and more ecosystem and tooling support is available. I do believe it is a game changer. We at Versent can always help you assess your migration and help achieve your performance, cost optimisation and sustainability goals.
Great Tech-Spectations
Great Tech-Spectations
The Versent & AWS Great Tech-Spectations report explores how Aussies feel about tech in their everyday lives and how it measures up to expectations. Download the report now for a blueprint on how to meet consumer’s growing demands.