AWS Graviton: Unlocking Performance and Cost Efficiency in the Cloud
Nishant Thorat
October 17, 2024
•
5 min read
A
WS Graviton processors are designed to improve the performance and cost-efficiency of workloads running on Amazon EC2. With the increasing importance of ARM architecture in cloud computing, Graviton represents a significant advancement for AWS users seeking to optimize their infrastructure. This blog will explore the development of Graviton, its evolution, key benefits, and how users can enhance their cloud efficiency with it.
What is AWS Graviton?
The AWS Graviton processors are custom-designed by AWS and built around the ARM architecture, known for its energy efficiency and performance benefits. These processors originated from AWS's 2015 acquisition of Annapurna Labs, which initially focused on enhancing the AWS Nitro System. This partnership evolved to create a custom line of CPUs designed to handle scale-out workloads, with the first generation, Graviton1, introduced in 2018.
Graviton processors offer distinct architectural advantages over x86 processors. Unlike x86 processors, which use hyper-threading, Graviton processors have physical cores for each vCPU, allowing for more isolation and greater efficiency. This distinction is crucial for workloads that benefit from physical core isolation.
In addition to performance improvements, Graviton processors include several security features, such as always-on 256-bit DRAM encryption, which helps protect data both in transit and at rest, enhancing the overall security of workloads running on AWS. Graviton4 places a spotlight on security, being the first to include features such as Branch Target Identification (BTI), a component of the Arm architecture designed to protect against sophisticated cyber threats while delivering significant performance gains.
AWS Graviton Generations: A Timeline
The AWS Graviton processors have evolved significantly with each generation:
2018: AWS Graviton1
- Introduced with EC2 A1 instance types
- 16 Cortex A72 cores with a clock speed of 2.3 GHz
2019: AWS Graviton2
- Featured 64 Neoverse N1 cores clocking at 2.5 GHz
- Introduced always-on 256-bit DRAM encryption for improved security
- Available in a wide range of EC2 instances, including M6g, C6g, R6g, and more
2022: AWS Graviton3
- Enhanced core count and performance with 64 Neoverse V1 cores at 2.6 GHz
- Support for advanced extensions like 4x128-bit Neon SIMD for high-performance computing
- Available in EC2 instances like C7g, M7g, and R7g
2023: AWS Graviton4
- Introduced 96 Neoverse V2 cores, based on Armv9.0-A ISA
- Currently available in R8g instances, designed for memory-intensive workloads
Key Benefits of AWS Graviton
Enhanced Performance
Compute-Intensive Tasks: This processor is perfect for tasks such as high-performance computing (HPC), video encoding, and machine learning inference. The Graviton2 showed a 40% improvement in price/performance compared to similar 5th-generation Intel/AMD processors, while the Graviton3 boasted a 25% performance increase over its predecessor. The Graviton4 is even faster, with some estimates suggesting up to 40% faster speeds for databases, 30% for web applications, and 45% for large Java applications compared to Graviton3. Honeycomb, an observability platform, achieved more than double the throughput per vCPU compared to when they started using Graviton processors four years ago.
Enhanced Networking: Graviton processors support features such as the C6gn network, which offers 100 Gbps networking capabilities through the Elastic Fabric Adapter (EFA), resulting in improved performance for network-intensive applications.
Database Workloads: Graviton-powered instances are designed to optimize database operations, resulting in faster query processing and improved throughput.
General-Purpose Applications: Applications like mid-sized data stores, application servers, and microservices see significant performance gains.
Energy Efficiency
Graviton3-based virtual servers in EC2 consume up to 60% less energy for equivalent performance compared to similar AMD/Intel based EC2 instances, leading to a reduction of 20 million tons of CO2 emissions annually.
Cost Efficiency
AWS Graviton offers a significant cost advantage over traditional x86 processors. Users experience:
Improved Price-Performance Ratio: More compute power for each dollar spent, reducing overall cloud spending.
Reduced Energy Consumption: The energy-efficient ARM architecture translates to reduced power usage, aligning with sustainability initiatives.
Savings Plans: AWS Compute Savings Plans apply to Graviton instances, providing discounts of up to 66%. These plans are flexible, allowing users to switch instance families, sizes, regions, and even transition to services like Fargate or Lambda while still benefiting from the cost savings.
Broad Ecosystem Support
Graviton processors support various Linux-based operating systems and popular software stacks. Many managed AWS services, such as Amazon RDS, ElastiCache, EMR, and Lambda, run on Graviton, providing seamless migration opportunities
Security Features in Graviton4 Processors
Branch Target Identification (BTI): Graviton4 utilizes BTI, a component of the Armv8.5-A architecture, to defend against branch prediction attacks.
Pointer Authentication: Working alongside BTI, Pointer Authentication adds an extra layer of cryptographic security to memory pointers. The Pointer Authentication feature of Graviton4 attaches a cryptographic signature to these pointers. This allows the processor to verify their integrity and prevent attacks that try to manipulate memory by altering pointers.
Encrypted High-Speed Interfaces: Graviton4 includes encryption for all high-speed hardware interfaces, such as memory and AWS Nitro cards. This encryption safeguards data as it moves within the server and the AWS data center, reducing the risk of man-in-the-middle attacks.
AWS Services Running on Graviton
AWS Graviton powers a variety of services that benefit from enhanced performance and cost efficiency:
AWS Service
Instance Types
Benefits
Amazon EC2
T4g, C6g, R6g, M7g, R8g, C7g, and more
Supports general-purpose, compute-, memory-, and storage-intensive workloads
Amazon RDS
Aurora (MySQL, PostgreSQL)
Better price-performance for relational databases
AWS Lambda
Graviton-powered
Cost and performance improvements for serverless functions
Amazon ElastiCache
Graviton-powered instances
Improved performance and lower cost for in-memory caching
Amazon OpenSearch
Graviton-powered instances
Enhanced performance and cost efficiency for search and analytics workloads
Amazon EMR
Graviton-powered instances
Cost savings and performance benefits for big data processing
AWS Fargate
Works with Amazon ECS and EKS
Abstracted server management with ARM support for containerized apps
Amazon Neptune
Graviton-powered
Improved cost-effectiveness for graph database services
Ideal early adoption workloads for AWS Graviton
Graviton processors are versatile and can benefit a wide range of workloads, such as:
Non-Production Environments: Development, testing, and staging environments are ideal for initial Graviton adoption.
Managed AWS Services: Graviton is supported by a wide range of AWS managed services, which simplifies migration. However, it's important to ensure that any connected applications are tested for compatibility with Graviton. Not all versions or generations of these services support Graviton, so you will need to verify compatibility and upgrade if necessary.
Non-Interactive Workloads: Batch jobs and data processing tasks are generally more tolerant of potential performance variations, making them suitable candidates for early Graviton adoption.
Stateless Applications: Applications like AWS Lambda, which do not retain user session data, can be quickly deployed and tested across multiple instances, minimizing risks associated with early adoption.
Containerized Applications: Container workloads, especially on AWS Fargate, benefit from Graviton's adaptability without requiring architectural changes.
AWS Graviton Drawbacks
While Graviton has many advantages, there are some limitations:
Compatibility Issues: Some x86-based applications may not be able to migrate to ARM without changes. Refactoring may be necessary.
Operating System Limitations: Graviton instances currently only support Linux-based OS, which limits options for users reliant on other operating systems.
Only 64-bit architecture: Graviton4 no longer supports the 32-bit instruction set and AArch32 architecture. Binaries compiled for AArch32 will fail with "invalid instruction" messages and need to be recompiled.
AWS Graviton Migration Considerations
Migrating to Graviton requires careful planning:
Application Compatibility: Assess applications and dependencies for compatibility. X86-based software may require modifications. Identify all 32-bit binaries and use a compatible compiler (e.g., GCC, Clang) with 64-bit flags to recompile them.
Performance Testing: Make sure to conduct performance tests to ensure that your workloads run efficiently on Graviton.
Cost Analysis: Compare the running costs of Graviton versus x86 instances, taking into account savings from rightsizing and energy efficiency.
AWS Graviton Cost Optimization Strategies
AWS Graviton plays a critical role in cost optimization. Here are some strategies:
Rightsizing with Reserved Instances/Savings Plans: Combine Graviton instances with rightsizing strategies and use Reserved Instances or Savings Plans to achieve the best price-performance.
Migration to gp3 EBS Volumes: Switching to gp3 volumes from gp2 results in cost savings.
Utilize Graviton Processors for AWS Lambda: Running your serverless functions on Graviton-powered AWS Lambda instances can offer cost savings and performance improvements.
Run Apache Kafka and OpenSearch on Graviton: These services are well-suited for Graviton instances, delivering optimal performance and cost efficiency.
Leverage Graviton for Managed Services: To optimize cost efficiency, consider using Graviton instances for services such as OpenSearch and Apache Kafka.
Before deciding whether to migrate to Graviton or implement other optimization strategies, it's important to have a clear view of your current cloud spending. Knowing how your costs are divided among various services, teams, and projects is essential for making well-informed decisions about your infrastructure and cost management practices.
The AWS Graviton processors are a significant advancement for cloud users looking to optimize performance, cost, and energy efficiency. They support a wide range of workloads and integrate with numerous AWS services, providing a compelling alternative to traditional x86-based solutions. However, it's important to carefully consider compatibility, testing, and migration planning to ensure a smooth transition. By leveraging the benefits of Graviton, users can achieve substantial cost savings and performance improvements, ultimately enhancing the efficiency of their cloud environments.
Nishant Thorat
Stay Informed
Get the latest updates, news, and exclusive offers delivered to your inbox.
CloudYali Budget Alerts makes it easy to manage cloud costs across multi-cloud infrastructures. With flexible budgets, advanced filters, and smart alerts, users can track spending in real-time across AWS and GCP. Whether you need a unified budget for multiple accounts, environment-specific budgets, or departmental cost allocation, CloudYali’s tools provide visibility and control to prevent budget overruns. Getting started is simple: set up your first budget to monitor critical expenses, then expand as needed. CloudYali Budget Alerts ensures you stay informed and in control of cloud spending, helping to eliminate waste and improve financial accountability.