AWS Made Easy

Migrate AWS ElastiCache to Graviton2 to improve cost and performance

Learn how to upgrade your AWS Elasticache instances to Graviton2

If you are running an M or R class AWS Elasticache cluster, migrating to Graviton2 is an easy way to get higher performance at a lower cost. More efficient than x86 instances, upgrading to Graviton2 can provide up to 57% improvement in the price and operational performance of your AWS Elasticache instances. In addition, if you are using Elasticache for Redis, you can gain additional savings by enabling the auto scaling feature to automatically resize your instances.

Upgrade checklist:

  • The node type modification process is designed to make the best effort to retain your data – it replicates data to your new instance before removing the old instance. The instance modification only succeeds if replication was successful.
  • If you have reserved instances, make sure that you can reallocate reservations on the old instance to some other workloads. For even greater savings, you might want to procure reserved instances for your new Graviton2 instance type.
  • You can upgrade Redis 5.0.6 + and Memcached 1.15.16+ to Graviton2 instances with no downtime. You should upgrade lower versions to the latest version to take advantage of security and performance improvements.

Why do Graviton2 instances offer better price and performance ratios?

The AWS Graviton2 (Alpine ALC12B00) is a 64-core 2.5GHz ARMv8.2 SoC built on the Neoverse N1 architecture designed by Amazon (Annapurna Labs) for Amazon’s own infrastructure, serving as a successor to the original AWS Graviton. Each core of the AWS Graviton2 processor is a single-threaded vCPU, in contrast to Intel chips that implement Simultaneous multithreading (SMT), where multiple threads are executed simultaneously on one CPU core. Intel and AMD EC2 instances can map a physical CPU core to between 2 and 8 vCPUs. So while the Graviton2 processor only runs at 2.5GHz and the Intel Xeon runs faster at 3.1GHz, the per-thread performance is higher on the Graviton2 because its core runs only one thread.

At full utilization of CPU resources, Graviton2 instances offer approximately 40% better single-threaded performance than the equivalent Intel instances, and 23% better than the equivalent AMD instances. AWS prices a Graviton2 vCPU at 20% less than an equivalent Intel based vCPU – this lower price and higher performance result in high price-to-performance ratios.

Redis deployed on AWS Graviton2 provides up to 35% more throughput, with 24% reduced latency and a 20% cost benefit compared to the equivalent x86 based EC2 instances. Redis is also single threaded, so high per-thread performance directly translates into high Redis performance.

Memcached on AWS Graviton2 instances provides 51% greater throughput, 12% lower latency than the equivalent x86 based EC2 instances, and a 20% cost benefit.

Future performance

The ARM roadmap commits to 30% year-over-year performance improvements through 2021. In April 2021, ARM released the Neoverse V1 architecture, which has improved scalability, security and single-thread performance over the Neoverse N1 (on which the AWS Graviton2 is built). The Neoverse V1 has on average a 50% IPC (instructions per cycle) increase over Neoverse N1 for most workloads and an approximately 7X improvement over N1 for vector workloads (cryptography, packet processing, ML, etc). We expect that the next version of the Graviton chip (perhaps built on the 2021 ARM Neoverse V1 architecture) will see a similar performance improvement.

How to upgrade your AWS Elasticache instances

  1. To change Node Type, select the Cache Cluster in the AWS Management Console and click on Modify.
    image 2
  2. Select the new Graviton2 Node Type, decide if you want to apply the change immediately, and click on Modify to proceed.
    image 1

Leave a Reply

Your email address will not be published.