Company
Solutions
Developers
Careers
Search
EN
EN
Ampere Computing Logo
Solutions
Solutions Home
Systems
Solutions
Performance Overview
Tutorials Overview
Workload Briefs Overview
Tuning Guides Overview
Where to Try
Ampere Systems
Ampere Altra
Azure
Equinix
Google Cloud
Oracle
Tencent Cloud
Ampere AIDownloadsHow It WorksFAQs
Developers
Developer CenterDesigning Cloud ApplicationsBuilding Cloud ApplicationsDeploying Cloud ApplicationsUsing Your DataEnabling the Open-Source CommunityAmpere Ready SoftwareAmpere Developer Community Forum
Support
Search
Workload Briefs for Ampere Computing

Redis on Google Cloud Workload Brief

Tau T2A Machines Powered by Ampere Altra Processors

Print
Download
Overview
Results and Key Findings
Benchmarking Configuration
Key Findings and Conclusions
Footnotes
Overview

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.

redis.jpg

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.

Results and Key Findings

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.

Fig.1.Redis Performance On Google Cloud Tau T2A VMs Powered By Ampere Altra Processors

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.

Fig.2.Redis Price-Performance On Microsoft Azure Dpsv5 VMs Powered By Ampere Altra Processors
Benchmarking Configuration

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.

Key Findings and Conclusions

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.

Footnotes

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

Ampere Computing

4655 Great America Parkway

Suite 601 Santa Clara, CA 95054

Tel: +1-669-770-3700

info[at]amperecomputing.com

About
image
image
image
image
© 2023 Ampere Computing LLC. All rights reserved. Ampere, Altra and the A and Ampere logos are registered trademarks or trademarks of Ampere Computing.