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. [1]
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. [2] 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 [3] and an average of 72% reduction in power consumption. [4] 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. [5]
The first Annapurna Labs silicon product launched under the AWS umbrella was the AWS Nitro hardware and supporting hypervisor in November 2017. [6] Following on from Nitro, Annapurna began to develop general-purpose CPUs using its expertise.
The benefits AWS anticipated included:
The first Graviton processor reached these goals. Graviton2 now offers better performance compared to X86-64: 35% faster running Redis, [7] 30% faster running Apache Cassandra, [8] and up to 117% higher throughput for MongoDB. [9] In addition to higher performance, Graviton offers 70% lower power consumption [10] and 20% lower price. [11]
General information | |
---|---|
Launched | November 26, 2018 |
Performance | |
Max. CPU clock rate | 2.3 GHz |
Cache | |
L1 cache | 80 KB per core (48 instructions + 32 data) |
L2 cache | 8 MB total |
Architecture and classification | |
Technology node | 16 nm |
Instruction set | AArch64 |
Instructions | AArch64 |
Extensions | |
Physical specifications | |
Cores |
|
History | |
Successor | Graviton2 |
Support status | |
Supported |
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. [12]
Only the A1 EC2 instance contains the first version of Graviton. [13]
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. [14]
EC2 instances with Graviton2 CPU: M6g, M6gd, C6g, C6gd, C6gn, R6g, R6gd, T4g, X2gd, G5g, Im4gn, Is4gen, I4g. [15] One or more of these instances are available in 28 AWS regions.
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. [14] 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. [16]
Graviton3E is a higher power version of Graviton3. [17]
EC2 instances with Graviton3 CPU: C7g, M7g, R7g; with local disk: C7gd, M7gd, R7gd.
EC2 instances with Graviton3E CPU: C7gn, HPC7g.
The Graviton4 CPU has 96 Neoverse V2 cores, with ARMv9.0-A ISA [18] plus the SVE2-crypto [19] 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, [20] X8g, [21] C8g, [22] M8g, [23] I8g. [24]