Ampere Computing Logo
Contact Sales
Ampere Computing Logo
ARM Native Processors deliver higher performance results

DeathStarBench 社交网络应用简介

DeathStarBench 是一个开源基准测试套件

Ampere—赋能未来

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

Web 服务通常是由多个云原生应用程序组成的部署服务,这些应用程序协同工作,并通过 Internet 交付内容。 这类应用越来越多地使用基于微服务的架构构建,该架构将传统的单体软件架构分解为更小的组件或服务。各个微服务可以使用不同的编程语言和框架,但使用通用的消息传递基础架构相互通信。可以使用 Kubernetes 等容器化环境很轻松地进行部署、管理和扩展。

在本解决方案简介中,我们使用 DeathStarBench 套件中的社交网络应用程序来模拟 Twitter 或 Facebook 等 Web 服务。我们将 Ampere Altra Max M128-30 与 Intel 最新一代 Icelake 处理器 Intel® Xeon® Platinum 8380 和 AMD 最新一代 Milan 处理器 EPYC™ 7763 进行比较,对每个平台测试模拟客户端(用户)排队请求的吞吐量和延迟。

在 Ampere Altra Max 处理器上部署DeathStarBench

DeathStarBench 是康奈尔大学开发的开源基准测试套件。它包括几个端到端的服务,其中之一是社交网络应用程序。社交网络应用程序使用 NGINX Web 服务器作为前端;用 C++ 和 Python 编写的微服务,用于实现核心应用程序逻辑;以及用于后端缓存和数据存储的 Redis、Memcached 和 MongoDB。 一个大规模运行的模拟现实世界社交媒体应用程序是通过成千上万的用户使用 http 连接到前端、撰写帖子、标记其他用户、将媒体或 URL 添加到帖子,并保存用户和主页时间线。

DeathStarBench 中的应用程序在 GPL 许可下可在以下网址下载:http://microservices.ece.cornell.edu

在 Ampere Altra Max 处理器上运行DeathStarBench的收益
  • 云原生:Ampere Altra 和 Ampere Altra Max 处理器专为云客户而设计,非常适合采用常见云原生应用,并部署在容器化环境中的 Web 服务。

  • 可扩展性:Ampere Altra 处理器高内核数量与所有内核一致的频率相结合,即使在高利用率的情况下也可实现可预测的 Web 服务性能。与传统 x86 平台相比,该解决方案的吞吐量提高了 23%。

  • 高能效:行业领先的能效使 Ampere Altra 处理器能够达到具有竞争力的原始性能水平,同时消耗的功率不及竞品的一半。

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®2017 Integer Estimated: 350
基准测试配置信息

为了实现如上所述的各种计算平台之间的比较测试,每个被测系统都在隔离的网络环境中使用负载生成器来运行,以消除由于收集的数据带来的外部影响。

测试使用 wrk2 作为负载生成器,它是 DeathStarBench 套件的一部分。wrk2 基于开源基准测试工具 wrk,将其修改为开环负载生成器,这样即使之前的请求没有收到响应,也能确保按照计划发出新的请求。wrk2 应用程序在客户端系统上运行,并向目标服务器上运行的社交网络应用同时生成多个 HTTP 请求。 测试配置为使用多个线程和连接运行。

在目标系统上,社交网络应用程序使用 helm-charts 部署在 Kubernetes 节点上。使用的操作系统是 Fedora 35。Kubernetes 集群使用 Kubeadm 部署,Kubernetes 版本是 1.23.5。为了被测系统上以最高吞吐量实现最低 p99 延迟,每个服务的 CPU、内存资源和副本数量都经过配置和调整。

我们在此测试中使用了 compose post 工作负载生成器。负载生成器 wrk2 配置为使用 80 个线程和 5000 个总连接运行 5 分钟。请求的吞吐量最初设置为 1000 RPS。使用 80 个线程运行测试,保持 5000 个 HTTP 连接打开,并保持每秒 1000 个请求的恒定吞吐量(即所有连接的总和)。请求的吞吐量以 500 步逐渐增加,然后观察对吞吐量和 p99 延迟的影响。在每次测试结束时,我们测得了吞吐量、每秒请求数 (RPS) 和 p99 延迟。每个测试运行 5 分钟并重复至少 5 次,多次运行中的最高 RPS 和 p99 数据用于最终比较。我们最终观察到 RPS 或 p99 延迟的在各运行之间有一定的变化,该现象源于这种工作负载的性质。

由于此测试模拟端到端客户端请求,因此在指定的服务水平协议 (SLA) 下测量吞吐量更具有现实意义。我们观察的最佳 SLA 设置为 2 秒的 99 个百分位延迟 (p99)。这确保了 99% 的请求具有 2 秒或更短的响应时间,同时通过对被测系统处理器的观察,这时的利用率非常高,最大限度地提高了整体负载的吞吐量。通过这种方式,我们将测试的“限制”设置为被测系统开始表现不佳的 SLA 点,如 p99 延迟和请求的整体丢弃率从开始逐步上升。

该工作负载在 Ampere Altra Max M128-30、AMD EPYC 7763 和 Intel Icelake 8380 上运行的有关结果,请参阅下表。所有被测平台的负载生成器采用相同的客户端系统。

基准测试结果

图 1 和图 2 显示了Ampere Altra Max 运行社交网络 Web 服务应用相对于 Intel Icelake 8380 和 AMD Milan7763 单路服务器的测试结果。与高端 Intel Xeon 系列和 AMD EPYC 系列相比,Ampere Altra Max M128-30 的每秒请求数 (RPS) 吞吐量提高了 20%,响应时间降低了约 34%(以 p99 延迟衡量)。

对于大规模云部署情况,性能/瓦特(即能源效率)是除了原始性能之外的重要指标。如图所示,Ampere Altra Max 处理器在性能方面处于领先地位,而且具有明显的 perf/watt 优势,与其他平台相比,提供相同的吞吐量,同时消耗一半的功率; 如图 3 所示,电源效率提高了 2.3 倍。

Fig 1. P99 Latency @RPS=6000 (Lower is Better)
Fig 2. Throughput-Requests/Sec (SLA o= p.99 latency<2secs)
Fig 3. Performance/Watt
基准测试结论

云原生是一种构建和运行软件应用程序的现代方法,它利用了云计算的灵活性、可扩展性和弹性。 越来越多的开发人员正在采用基于云原生微服务的架构来开发和部署 Web 服务等应用程序到云端。

这里使用的社交网络应用套件使用了许多流行的云原生应用程序(如 NGINX、Redis、Memcached 和 MongoDB)模拟真实世界的 Web 服务作为微服务运行。 使用 Ampere Altra Max 的大规模计算资源,所有这些单独的微服务以及 Web 服务解决方案的部分组件都表现得非常好。

Ampere Altra 和 Altra Max 处理器具有高核心数、大缓存、可预测的性能和能效,是在云中运行 Web 服务的理想平台。在这组测试中,与传统的基于 x86 的系统相比,Altra Max 在最大负载下以每秒请求数衡量的吞吐量提高了 23%,响应时间降低了 34%。 此外,业界最可持续的处理架构以更低的延迟提供更高的性能,同时以不到传统 x86 系统一半的功耗完成测试任务! 这表明 Ampere Altra 和 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 26th 2022, 4:09:51 am
Last Updated At : June 27th 2023, 8:08:14 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 is running on Ampere Altra Processors.