Ampere Computing Logo
Contact Sales
Ampere Computing Logo
High performance compute workloads

Redis 工作负载简介

一种开源的,内存、键值数据存储系统,通常用作数据库或缓存。

AMPERE—赋能未来

Ampere® Altra® 和 Ampere® Altra® Max 处理器是为云原生应用构建的完整片上系统 (SOC) 解决方案。 Ampere Altra Max 最多支持 128 个内核。 除了提供大量高性能内核外,其创新架构还提供可预测的高性能、线性扩展和电源效率。

Redis 是一种开源的,内存中键值对数据存储系统,通常用作数据库或缓存。它使用内存中的数据集,但数据可以通过定期写入或附加到磁盘来实现持久化。 Redis 在内存中读些非常快,并且可以在亚毫秒级延迟下提供高吞吐量。根据 DB-engines.,Redis在云中的键值存储系统中一直非常流行。

在本工作负载简介中,我们将 Ampere Altra Max M128-30 与运行 Redis 的 Intel® Xeon® Platinum 8380 和 AMD EPYC™ 7763 处理器进行比较,测试每种处理器的吞吐量和延迟。

在 Ampere Altra Max 处理器上部署Redis

Ampere Altra Max 通过使用创新的架构设计、以一致的运行频率以及更能抵抗“相邻干扰”问题的单线程内核,为 Redis 等云原生应用提供卓越的性能,可以让工作负载在负载不断增加的情况下,以可预测的方式或最小的差异下运行。

Ampere处理器旨在提供卓越的电力效率,提供行业领先的性能/瓦特能力和更低的碳足迹。

在 Ampere Altra Max 处理器上运行Redis的收益
  • 云原生:Ampere Altra Max 旨在为云客户提供更高性能和更大的可扩展性,对于 NGINX 这样的工作负载,性能相比最好的 x86 服务器可以达到1.9倍。

  • 高能效:凭借多达 128 个节能的 Arm 内核,Ampere Altra Max 可以降低 32% 的功耗,同时提供与最佳 x86 服务器相当的性能。

  • 降低碳足迹:行业领先的性能和高能效使得 Ampere Altra Max 表现出高达2.8倍的性能/瓦特,实现更低的 TCO 和更少的碳足迹。

  • 一致性和可预测性:运行多个NGINX 实例时,以固定最大频率运行的单线程内核,确保在严格的 SLA 和高负载下进行线性扩展。

Ampere Altra Max 处理器
  • 128个 64-bit内核,最大主频3.0 GHZ
  • 单核 64 KiB i-Cache, 64 KiB d-Cache
  • 单核 1MiB L2 Cache
  • 16MB SLC (System Level Cache)
  • 一致性网格互联架构

内存

  • 8x72 bit DDR4-3200 channels
  • 支持ECC & RAS
  • 最大可配 16x DIMMS (2 DPC) 和 4TB 内存容量

外部连接

  • 单颗CPU提供128路 PCIe Gen4
  • 支持双路一致性互联
  • 4x16路 CCIX协议通道

系统

  • Armv8.2 指令集,SBSA Level 4认证
  • 高级电源管理模块

性能

  • SPECrate®2017Integer Estimated: 350
Figure 1: Using Redis as an in-memory cache for traditional databases

RedisCache

基准测试配置信息

我们使用 memtier_benchmark(由 Redis Labs 开发)作为负载生成器来对 Redis 进行基准测试。 每个测试都配置为使用多个线程、每个线程多个客户端,并启用流水线运行。

我们建议使用 GCC(GNU 编译器集合)10.2 或更高版本编译 Redis 服务器系统,因为较新的编译器在编译优化方面已经有了很多进展,可以进一步优化AArch64的程序代码,大幅提升性能。

我们使用 CentOS 8.3(内核 4.18)和使用 GCC 10.2 编译的 Redis 服务器 5.0.12 进行测试。对于每个测试,我们使用类似的客户端来生成对 Redis 服务器的请求。

在指定的服务水平协议 (SLA) 下测量吞吐量更接近实际情况,所以我们使用了 1 毫秒的第 99 个百分位延迟 (p.99)的前提条件,即要确保 99% 的请求在最坏情况下的响应时间不超过1 毫秒。

测试以 1:10 的 get:set 比率运行了 3 分钟,这对于内存缓存很常见。我们最初使用适当数量的客户端和线程/客户端来加载一个 Redis 实例,同时确保 p.99 延迟最多为 1 毫秒,流水线是 Redis 可以处理新请求的功能,即使客户端尚未读取旧响应情况下依然凑效,此功能可以显著减少响应时间。测试中,我们使用了 45 个并发流水线请求。

接下来,我们依次增加 Redis 实例的数量,直到一个或多个实例违反 p.99 延迟 SLA。所有实例的总吞吐量用作主要性能指标。我们进行了 3 次测试,结果发现每次运行时,数据变化都非常小。

Figure 2(A-B): Ampere Altra Max M128-30 Industry-leading Performance and Energy Efficiency with Redis

基准测试结论

如图 2A 所示,我们观察到与 Intel Xeon 8380 相比,Ampere Altra Max 的吞吐量提高了 92%,与 AMD EPYC 7763 相比,吞吐量提高了 27%。

对于大规模云部署,性能/瓦特(即能源效率)是除了原始性能之外的重要指标。 与 Intel Xeon 8380 相比,Ampere Altra Max 处理器在指定 SLA 下的性能功耗比提高了 2.8 倍,相比 AMD EPYC 7763 提高了 1.85 倍(参见图 2B)。

当今许多云工作流都使用快速内存缓存。Redis 是一种流行的高吞吐量内存键值存储系统,用于横向扩展配置中的低延迟应用程序。Ampere Altra Max 处理器旨在为 Redis 等云原生应用程序提供卓越的性能和能源效率。在 Ampere 的测试中,与 x86 处理器相比,Ampere Altra Max处理器展示了引人注目的性能和出色的能效。

脚注

此处包含的所有数据和信息仅供参考,Ampere 保留更改它的权利,恕不另行通知。本文档可能包含技术错误、遗漏和印刷错误,Ampere 没有义务更新或更正此信息。 Ampere 不作任何形式的陈述或保证,包括但不限于对不侵权、适销性或适用于特定目的的明示或暗示保证,并且不承担任何形式的责任。所有信息均“按原样”提供。本文件不是 Ampere 的要约或具有约束力的承诺。使用此处设想的产品需要随后的谈判和最终协议的执行,或者受 Ampere 的商品销售条款和条件的约束。

与 Ampere 测试中使用的不同的系统配置、组件、软件版本和测试环境可能会导致与 Ampere 获得的测量结果不同。

©2022 Ampere Computing 版权所有。Ampere、Ampere Computing、Altra 和“A”标志都是 Ampere Computing 的注册商标或商标。 Arm 是 Arm Limited(或其子公司)的注册商标。本出版物中使用的所有其他产品名称仅用于识别目的,可能是其各自公司的商标。

Ampere Computing® / 4655 Great America Parkway, Suite 601 / Santa Clara, CA 95054 / amperecomputing.com

Created At : August 23rd 2022, 12:40:14 am
Last Updated At : April 18th 2023, 8:23:07 pm
Ampere Logo

Ampere Computing

4655 Great America Parkway

Suite 601 Santa Clara, CA 95054

image
image
 |  |  |  |  | 
© 2022 Ampere Computing LLC. All rights reserved. Ampere, Altra and the A and Ampere logos are registered trademarks or trademarks of Ampere Computing.
This site runs on Ampere Processors.