使用 VMware vSphere 8 和 NVIDIA BlueField DPU 加速 Redis 性能
随着网络速度的提高,向现代分布式工作负载的转变增加了基础设施服务的开销,从而减少了为业务提供动力的应用程序可用的 CPU 资源。通过部署 DPU(数据处理器)来卸载和加速这些基础设施服务,可以提供更高的性能、更低的 CPU 利用率和更高的能效。
许多现代工作负载都是分布式的,这意味着它们不再只适用于一台服务器。相反,它们在多台服务器上同时运行,以实现更高的可扩展性和可用性。此类工作负载包括 Web 和电子商务应用程序,如 NoSQL 数据库、分析、人工智能和键值存储,如 Redis。
许多公司都在 vSphere Enterprise Workload Platform(企业工作负载平台)上运行这些分布式工作负载。随着应用程序的不同部分在虚拟机(VM)和主机之间进行通信,vSphere 必须将越来越多的 CPU 资源用于管理数据移动和基础架构工作负载,如网络。
在 CPU 以外的 DPU 上运行网络和安全基础设施服务,可释放 CPU 核心用于业务应用程序,并显著减少 CPU 缓存污染和上下文切换等问题,从而打造一个高效的系统。
vSphere 软件
基于 DPU 的 vSphere(以前称为 Project Monterey)已随 vSphere 8 一同发布。它与 NVIDIA BlueField DPU 一起,使应用程序工作负载流量能够通过虚拟机监控程序(Hypervisor)实现网络快速路径。在直通模式下运行 BlueField DPU 可以将网络处理卸载并隔离到 DPU。这将显著提高应用程序的性能。
图 1:vSphere 分布式服务引擎(Distributed Services Engine)架构
为了测试这一理论,NVIDIA 和 VMware 联合展示了在 DPU 上运行的 vSphere 8 是如何提高可扩展性、效率和性能的。
Redis 键值存储数据库
由于 Redis 作为多模型 NoSQL 数据库服务器和缓存引擎而广受欢迎,两家公司的工程专家选择在 NVIDIA 实验室中使用 BlueField DPU 在 vSphere 8 上测试 Redis。
Redis 是 Remote Dictionary Server(远程字典服务器)的缩写,是一种快速、开源、内存中的键值数据存储。Redis 超越了其他 NoSQL 数据库,可提供现代应用程序所需的高级功能,包括内置复制的各种数据结构,通过 Redis Sentinel 提供高可用性的能力,以及使用 Redis 集群(Cluster)进行自动分区。
测试的指标包括以下内容:
每秒处理事务量(TPS)
平均应用程序延迟
网络吞吐量
用于网络的服务器 CPU 利用率
能效
Redis 基准测试
测试包括运行多个工作负载,网络设置使用 Geneve 叠加网络(Overlay Networking)以及 VMware NSX 和 NSX 分布式防火墙。测试比较了三种网络选项:
增强型数据路径(Enhanced datapath- EDP)标准,具有常规网卡,而无 DPU 卸载
具有部分 DPU 卸载的 EDP 标准(默认模式)
EDP 标准,具有完全 DPU 卸载和加速
图 2:在 vSphere 上测试 Redis 的服务器和网络设置
DPU 卸载并隔离网络处理,通过使用 DPU 上的加速器和缓存实现网络处理。这可以释放主机上的缓存以用于应用程序逻辑,从而在吞吐量和延迟方面显著提升了应用程序性能。有两种使用 DPU 的方法:
加速模式(Accelerated mode):在不丢失 vSphere 所支持的工作负载移动服务的情况下,通过实现类似 SR-IOV 的高网络性能来获得最佳结果。
默认模式(Default mode):为网络处理提供基于 DPU 的卸载和加速,但也会在主机上产生一些 CPU 开销。它不会释放如 UPTv2 模式那么多的核心。
基准测试结果
针对白皮书进行的测试在 NSX 上使用了网络加速,并使用了四层分布式防火墙的重叠网络。在 80 个 Redis 实例中使用完全 DPU 加速(具有 UPTv2 的 EDP 标准)实现了近 2000 万的 TPS。
在默认 DPU 卸载模式下,我们也实现了其中的很大一部分(1774 万 TPS)。使用标准的 ConnectX-5 网卡,在没有任何 DPU 卸载或加速的情况下,我们在仅运行 30 个 Redis 实例的情况下达到了 1275 万 TPS 左右的峰值。
图 3:DPU 卸载并加速以提高 TPS
我们还观察到,与使用普通网卡相比,使用 DPU 卸载和 DPU 完全加速时,应用程序延迟显著降低。与使用普通网卡相比,使用 DPU 卸载和加速 VMware ESXi 网络可实现更低的延迟。随着 Redis 实例数量的增加,DPU 的延迟优势更加显著。
图 4:与使用普通网卡相比,将 DPU 与 VMware ESXi 结合使用可降低延迟
在吞吐量和带宽方面,我们发现使用 DPU 卸载时,吞吐量高于标准网卡。DPU 完全加速显示了最高吞吐量。由于 CPU 核心无法再处理任何额外的网络任务,标准网卡的吞吐量稳定在 30 个实例。随着 Redis 实例数量的增加,DPU 卸载和完全加速模式继续提高吞吐量。
DPU 的功耗对于 10 至 30 个实例略低,对于 40 至 80 个实例略高。然而,服务器使用 DPU 完成了相当多的工作,从而提高了能效。
使用 DPU 卸载仍然会消耗一些 x86 处理周期,但消耗得要小得多,因为部分网络处理已从 CPU 转移到了 DPU。这样可以大幅提高能效。当使用重叠网络和 EDP 标准时,与普通网卡相比,完全 DPU 加速在每百万 TPS 使用的功耗减少了 6% - 40% 。
通过减少 ESXi 网络所需的 CPU 核心数量,DPU 可以释放这些核心以运行更多的虚拟机和应用程序。这使得更多的工作负载可以在相同数量的服务器上运行。您还可以使用更少的服务器来支持相同工作负载,而这些工作负载以前是在没有 DPU 卸载的情况下运行的。
价值主张
基准测试结果表明,与未启用 DPU 的主机相比,启用 BlueField DPU 的主机可以实现更好的事务延迟,同时使用的 CPU 核心数量也减少了 20% 。启用 DPU 的主机将吞吐量提高了 30% 以上,事务延迟减少了 25% 以上。
DPU 完全加速还提高了能效,使每次事务的功耗减少了 35%,每瓦特的性能提高了 50%。该基准测试证明,在 BlueField DPU 上运行 vSphere 分布式服务引擎可以使数据中心将 Redis 服务器的数量减少 14 - 18%。
最大限度地提高投资回报率
由于在 DPU 加速(UPTv2)模式下保存了 CPU 核心,而在 DPU 卸载(默认)模式下保存了较少的 CPU 核心,因此您可以减少 4 - 15 个 CPU 核心来支持相同的 Redis 工作负载。假设每个 ESX 主机的工作负载为 30 – 80 个 Redis 实例,这能够将服务器数量减少 14 – 18%。购买更少的服务器和支付更少的数据中心基础设施可以节省资本性支出。此外,还可节省了运营性支出,因为服务器数量的减少会消耗更少的电力,以及相关的配电和冷却电力也会减少。
对于最初需要 1 万台服务器的基于 vSphere 的 Redis 部署,一个简单的 TCO 分析可以看出,如果 BlueField DPU 完全加速模式将所需的服务器数量减少 14 - 18% ,则将在 3 年内节省 830 万至 1060 万美元。其中大约一半来自于节省的资本性支出(减少服务器),一半来自于节省运营性支出(减少电力消耗以及相关的冷却和配电成本降低)。
如果您仅部署少量 ESX 主机,Redis 服务器仍然可以从提高的应用程序性能中获益。随着应用程序需求的增长,加速的服务器可能会推迟购买或升级服务器,从而避免未来的成本。
这些特定的结果和成本节省仅适用于使用 25G DPU 的情况,因为我们受到在此处测试的最大规模下加速模式下 DPU 的线速限制。
使用 VMware VSphere 8 和
NVIDIA BlueField DPU 加速 Redis 性能
Accelerating Redis performance using VMware vSphere 8 and NVIDIA BlueField DPU(使用 VMware vSphere 8 和 NVIDIA BlueField DPU 加速 Redis 性能)白皮书记录了测试和结果。该白皮书揭示了如何使用 vSphere 与 BlueField DPU 的硬件加速网络卸载来显著提高应用程序性能,提供更高的吞吐量,并实现更快的响应时间。
它还展示了卸载到 DPU 如何释放服务器 CPU 核心来运行应用程序并提高运营效率。DPU 卸载和加速还降低了每个应用程序事务的耗电量,从而提高数据中心的效率,并通过降低耗电量显著节省成本。
图 5:提高主机服务器的能效
通过 NVIDIA LaunchPad
在 BlueField DPU 上体验 VMware
为了体验 BlueField DPU 的优势,NVIDIA 提供了 LaunchPad,这是一个非常适合展示优势的演示区。您可以申请测试在 vSphere 和 BlueField 上运行的各种应用程序和库,而无需在数据中心购买和部署硬件。
LaunchPad 包括多个精心策划的实验,可以引导您完成在多个用例中运行的部署和性能基准测试,包括使用 BlueField DPU 的 vSphere 上的 Redis。
本实验将指导您逐步完成在 vSphere 8 环境中安装、配置和部署 Redis 的过程。您可以通过本实验比较有 BlueField DPU 加速和没有 BlueField DPU 加速的 Redis 测试,以验证性能提升。
LaunchPad 为开发者、设计师和 IT 专业人员提供了快速访问所需硬件和工具的机会,以熟悉新技术并确定他们如何从 DPU 加速中受益。企业团队可以使用 LaunchPad 加速创建和部署现代数据密集型应用程序。在 LaunchPad 上进行快速测试和原型设计后,可以为其生产工作流部署相同的完整堆栈。
总结
DPU 已经广泛部署在超大规模数据中心中,以处理基础设施功能,并为创收工作负载释放 CPU 资源。每个安装了 vSphere 分布式服务引擎和 BlueField DPU 的节点都可以使用 DPU 卸载来提高性能。它为企业提供了一个有效的解决方案,以解决新工作负载给服务器带来的压力。
NVIDIA 与 VMware 及 NVIDIA LaunchPad 实验室的测试结果显示,在 VMware 服务器中添加 DPU 可以降低 TCO,同时改善整体工作负载处理。将基础设施进程卸载到 DPU,可在 CPU 和基础设施之间增加隔离,从而提高整体安全性。
观看下方视频
了解更多关于 NVIDIA BlueField DPU 的信息!
扫描下方二维码,或点击 “阅读原文” 尝试 LaunchPad,测试在 vSphere 和 BlueField 上运行的各种应用程序和库。
借助 NVIDIA DPU 和 NVIDIA DOCA 为人工智能时代的数据中心带来变革
GTC23 | Oracle 云基础设施 (OCI) 选择 NVIDIA BlueField 数据中心加速平台
NVIDIA 人工智能开讲 | BlueField DPU 如何帮助企业提升数据中心能效
白皮书发布 | 看 NVIDIA BlueField DPU 如何让数据中心变得更加环保