The first ever trial on an AWS EC2 Graviton2 instance took place this week after Amazon announced the availability of the t4g on September 14th 2020. As a reminder the Graviton2 is the new ARM based CPU designed by Amazon for its cloud services.
The Graviton2 shows up as Neoverse-N1 in linux (lscpu). The CPU frequency is nowhere to be found in lscpu output but it is believed to be 2.5GHz.
$ lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: ARM
Model: 1
Model name: Neoverse-N1
Stepping: r3p1
BogoMIPS: 243.75
L1d cache: 128 KiB
L1i cache: 128 KiB
L2 cache: 2 MiB
L3 cache: 32 MiB
NUMA node0 CPU(s): 0,1
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dc
pop asimddp ssbs
Curiously, /proc/cpuinfo shows very little information about this processor:
$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 243.75
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
We used a t4g.medium for the tests with 2 vCPUs and 4GB RAM, 40GB EBS SSD storage and the OS was Ubuntu 20.04 for the ARM architecture. Just as its predecessors, the t4 range of instances is burstable meaning that you don't get full unlimited access to each vCPU. Instead you get CPU credits and in the case of the t4g.medium, it's only 20% base usage. As long as you have CPU credits, you benefit from the full CPU cores but the credit balance goes down as soon as usage goes over 20%. When credits run out, you'll start seeing CPU steal on the system, up to 80%.
VPSBenchmarks did not leave the "unlimited" box checked in the instance details. This box is checked by default and it's a marketing ploy to get you to pay the m6 price when you ordered a t3 or t4 instance by allowing you to go over (and be charged for) your credit balance.
VPSBenchmarks waited until the credit balance was over 60 before starting the tests. The balance stayed positive all through the Web Runs, Network Transfers and Sysbench tests but it got fully depleted shortly after the start of the Endurance tests.
On all EC2 instances with small EBS volumes, disk IO throughput is severely throttled so the sysbench disk IO results are predictably bad and will not be considered in this article.
The full list of results can be found on the t4g.medium performance trial page.
In terms of web performance, the t4g.medium gets results on par with the most recent CPUs from AMD and Intel: 48ms response time and almost 20 HTTP requests per vCPU per second without error.
It is a lot faster than the Intel based t3.medium tested back in January: https://www.vpsbenchmarks.com/trials/amazon_ec2_performance_trial_04Jan2020/web_runs. This instance was only able to handle 15 requests per second for a latency above 53ms at all load levels.
Detailed Web comparison of t3 and t4g.
The performance improvement is even more striking with Sysbench CPU tests: the t4g is more then 200% faster than t3 or t3a (medium).
All the sysbench test results for the t4g.medium can be found here.
On-Demand prices as of 9/16/2020:
t4g.medium: $0.0336/hour
t3.medium: $0.0416/hour
t3a.medium: $0.0376/hour
The t4g instances with Graviton2 are a clear improvement over the t3 generation even without counting the 20% price reduction. The only downside is the architecture (arm64) that can make it difficult to find the required binaries for those who have very specific needs.