# AWS Graviton

AWS Graviton is a family of 64-bit ARM-based CPUs designed by the Amazon Web Services (AWS) subsidiary Annapurna Labs. The processor family is distinguished by its lower energy use relative to x86-64, static clock rates, and lack of simultaneous multithreading. It was designed to be tightly integrated with AWS servers and datacenters, and is not sold outside Amazon.
In 2018, AWS released the first version of Graviton suitable for open-source and non-performance-critical scripting workloads as part of its A1 instance family. The second generation, AWS Graviton2, was announced in December 2019 as the first of its sixth generation instances, with AWS promising 40% improved price/performance over fifth generation Intel and AMD instances and an average of 72% reduction in power consumption. In May 2022, AWS made available Graviton3 processors as part of its seventh generation EC2 instances, offering a further 25% better compute performance over Graviton2.

## Origin

The first Annapurna Labs silicon product launched under the AWS umbrella was the AWS Nitro hardware and supporting hypervisor in November 2017. Following on from Nitro, Annapurna began to develop general-purpose CPUs using its expertise.
The benefits AWS anticipated included:
* Offering more choice in terms of selection of EC2 instances for customers
* Targeting Arm-based applications
* Providing high availability and security, while reducing virtualization costs
* Offering decent server performance with lower prices for customers
The first Graviton processor reached these goals. Graviton2 now offers better performance compared to X86-64: 35% faster running Redis, 30% faster running Apache Cassandra, and up to 117% higher throughput for MongoDB. In addition to higher performance, Graviton offers 70% lower power consumption and 20% lower price.

## Graviton

The first Graviton CPU has 16 Cortex A72 cores, with ARMv8-A ISA including Neon, crc, crypto. The vCPUs are physical cores in a single NUMA domain, running at 2.3 GHz. It also includes hardware acceleration for floating-point math, SIMD, plus AES, SHA-1, SHA-256, GCM, and CRC-32 algorithms.
Only the A1 EC2 instance contains the first version of Graviton.

## Graviton2

The Graviton2 CPU has 64 Neoverse N1 cores, with ARMv8.2-A ISA including 2×128 bit Neon, LSE, fp16, rcpc, dotprod, crypto. The vCPUs are physical cores in a single NUMA domain, running at 2.5 GHz.
EC2 instances with Graviton2 CPU: M6g, M6gd, C6g, C6gd, C6gn, R6g, R6gd, T4g, X2gd, G5g, Im4gn, Is4gen, I4g. One or more of these instances are available in 28 AWS regions.

## Graviton3

The Graviton3 CPU has 64 Neoverse V1 cores, with ARMv8.4-A ISA including 4×128 bit Neon, 2×256 bit SVE, LSE, rng, bf16, int8, crypto. Organized in a single NUMA domain, all vCPUs are physical cores running at 2.6 GHz. Graviton3 has 8 DDR5-4800 memory channels.
Compared to Graviton2, Graviton3 provides up to 25% better compute performance, up to 2× higher floating-point performance, up to 2× faster cryptographic workload performance, up to 3× better performance for machine learning workloads including support for bfloat16, and 50% more memory bandwidth. Graviton3-based instances use up to 60% less energy for the same performance than comparable EC2 instances.
Graviton3E is a higher power version of Graviton3.
EC2 instances with Graviton3 CPU: C7g, M7g, R7g; with local disk: C7gd, M7gd, R7gd.
EC2 instances with Graviton3E CPU: C7gn, HPC7g.

## Graviton4

The Graviton4 CPU has 96 Neoverse V2 cores, with ARMv9.0-A ISA plus the SVE2-crypto extension. It has 2 MB of L2 cache per core (192 MB total), and 12 DDR5-5600 memory channels. Graviton4 supports Arm's Branch Target Identification (BTI).
Amazon claims that Graviton4 is up to 40% faster for databases, 30% faster for web applications, and 45% faster for large Java applications than the Graviton3.
EC2 instances with Graviton4 CPU: R8g, X8g, C8g, M8g, I8g.