Redis on Google Cloud Workload Brief
Tau T2A Machines Powered by Ampere Altra Processors
Ampere® Altra® processors are designed from the ground up to deliver exceptional performance for Cloud Native applications such as Redis. With an innovative architecture that delivers high performance, linear scalability, and amazing energy efficiency, Ampere® Altra® allows workloads to run in a predictable manner with minimal variance under increasing loads. This enables industry leading performance/watt and a smaller carbon footprint for real world workloads like Redis.
Google Cloud offers the cost-optimized Tau T2A VMs powered by Ampere Altra processors for scale out Cloud Native workloads in multiple predetermined VM shapes – up to 48 vCPUS per VM, 4 GB of memory per vCPU, up to 32 Gbps networking bandwidth, and a wide range of network-attached storage options. These VMs are suitable for scale-out workloads like web servers, containerized microservices, data-logging processing, media transcoding, and Java applications.
Redis is an open source, in-memory, key-value data store that is typically used as a database or a cache. It uses an in-memory dataset, but data can be persisted through periodic writes or appends to disk. Due to its in-memory nature, Redis is very fast, and it can deliver high throughput at sub-millisecond latencies. It continues to rank highly in popularity among key value stores in the cloud, according to DB-engines.
In this workload brief, we compare Redis running on Google Cloud Tau T2a VMs powered by Ampere Altra® processors to the Intel® Xeon® Icelake-based n2-standard and AMD EPYC™ Milan-based n2d-standard VMs while measuring the throughput and latencies on each of these instances.
As can be seen in Figure 1, the GCP T2a-standard VMs powered by Ampere Altra processors go head-to-head with the Intel Icelake N2 and beat the N2D VMs by 55%, all under an p99 SLA of 10ms.
As can be seen in Figure 2, on price-performance, we observed a 21 % improvement on the GCP T2A VMs powered by Ampere Altra processors compared to the N2 VMs and 43% better than the N2D ones.
We have used memtier_benchmark (Developed by Redis Labs) as a load generator for benchmarking Redis. Each test was configured to run with multiple threads, multiple clients per thread, and with pipelining enabled.
We recommend compiling Redis server with GCC (GNU Compiler Collection) 10.2 or newer as recent compilers have made significant progress towards generating optimized code for aarch64 applications.
We used Ubuntu 20.04.4 LTS with Redis-server 6.0.12 compiled with GCC 10.2 for our tests. For each of the tests, we used similar clients to generate requests to Redis-server.
Since it is realistic to measure throughput under a specified Service Level Agreement (SLA), we have used a 99th percentile latency (p99) of 10 milliseconds. This ensures that 99 percent of the requests have a response time of 10 ms in the worst case.
The test ran for 3 minutes with a 1:10 get:set ratio, which is common for in-memory caches. We initially used an appropriate number of clients and threads/client to load one instance of Redis, while ensuring the p.99 latency was at most 10 ms. Pipelining is a feature whereby Redis can process new requests even if the client has not already read older responses. This feature can dramatically reduce response times and we used 150 concurrent pipelined requests.
Next, we successively increased the number of Redis instances till one or more instances violated the p99 latency SLA. The aggregate throughput of all instances was used as the primary performance metric. We ran the test three times and saw minimal run-to-run variations.
Fast, open-source, in-memory key-value stores are used in most cloud caching usages today. Redis is a popular high throughput in-memory key-value store that is applicable to low latency applications in scale-out configurations. On Cloud Native applications such as Redis, the Ampere Altra-based Google Tau T2A VMs handily outperform their legacy x86 counterparts – by up to 55% on performance and 70% price-performance. For cloud architects, choosing Ampere Altra-based VMs on Azure leads to better performance and price-performance while reducing their carbon footprint.
For more information about the Google Tau T2D virtual machines with Ampere Altra processors, please visit the Google Cloud blog for further details.
All data and information contained herein is for informational purposes only and Ampere reserves the right to change it without notice. This document may contain technical inaccuracies, omissions and typographical errors, and Ampere is under no obligation to update or correct this information. Ampere makes no representations or warranties of any kind, including but not limited to express or implied guarantees of noninfringement, merchantability, or fitness for a particular purpose, and assumes no liability of any kind. All information is provided “AS IS.” This document is not an offer or a binding commitment by Ampere. Use of the products contemplated herein requires the subsequent negotiation and execution of a definitive agreement or is subject to Ampere’s Terms and Conditions for the Sale of Goods.
System configurations, components, software versions, and testing environments that differ from those used in Ampere’s tests may result in different measurements than those obtained by Ampere.
©2023 Ampere Computing. All Rights Reserved. Ampere, Ampere Computing, Altra and the ‘A’ logo are all registered trademarks or trademarks of Ampere Computing. Arm is a registered trademark of Arm Limited (or its subsidiaries). All other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
Ampere Computing® / 4655 Great America Parkway, Suite 601 / Santa Clara, CA 95054 / amperecomputing.com