原文链接:https://www.servethehome.com/hands-on-with-an-amd-pensando-elba-dpu-in-a-secret-lab-arm-nvidia-dell-vmware-esxi-upt/
原文标题:Hands-on with an AMD Pensando DSC2-100G Elba DPU in a Secret Lab
特殊名词:P4: Programming Protocol-independent Packet Processors(简写为P4),P4是一种高级语言,用于编程独立于协议的包处理器。在IPU/DPU/SmartNIC的热潮中,
Intel,NV等纷纷支持了P4用于包处理。P4 交换机在技术上基本可用,但是市场成熟尚需进一步打磨。对于vSwitch领域,P4 语言的发展目前还滞后于业务的要求。
参考:https://www.cnblogs.com/chelinger/p/11574739.html
现在是时候我们将注意力转向企业市场上的另一个 DPU 选项:AMD Pensando DPU。 在网络适配器领域,目前也许没有什么比 DPU 更迷人了。 我们最近研究了 400GbE 解决方案,但 DPU 是新的热点。 如果您是一家超大规模企业,其团队可以构建自己的 DPU、对 FPGA 进行编程或使用 P4 pipelines进行魔术表演,那么您有很多选择。 如果您是运行 VMware 的企业,您的选择是 NVIDIA BlueField-2 或 AMD Pensando DSC2。 我们已经深入研究了 NVIDIA BlueField-2 DPU 和 VMware vSphere 的实践实验室。 现在,我们将对 AMD Pensando DPU 执行相同的操作,并向您展示登录 DPU 上的 VMware ESXio 等内容,甚至是服务器中安装的卡的外观。 让我们开始吧。
The AMD Pensando DPU Quick Background
如果您看过我们的什么是 DPU 或 2021 NIC Continuum 文章,您可能已经熟悉 DPU。 几年前,我们就看到需要定义什么是卸载适配器、SmartNIC、DPU 或 Intel IPU Big Spring Canyon 等奇特解决方案。
大约一年前,我们报道了 AMD 收购 Pensando 的事件。 Pensando 在 Oracle Cloud 等领域以及另一大领域取得了胜利:VMware。 这让 AMD 在 DPU 市场站稳了脚跟。
(现在只是 VMware vSphere 的一部分)仅列出了三个支持供应商:NVIDIA BlueField-2、AMD Pensando 和 Intel。 尽管 VMware 前任首席执行官正在运作英特尔,但英特尔 Mt. Evans 目前并不在兼容性列表中。 相反,目前这是我们之前展示的 NVIDIA BlueField-2 DPU 和 AMD Pensando DPU 之间的两匹马竞赛。
VMware VSphere On DPUs
尽管 VMware 试图在很大程度上混淆 DPU 供应商,但 AMD 比 NVIDIA 拥有一个主要优势:速度。 当我们于 2023 年 5 月开始撰写本文时,NVIDIA BlueField-2 仅在 25GbE 卡上受支持,而 AMD Pensando 在 100GbE 卡上受支持。
Pensando 拥有我们在 Hot Chips 上介绍过的最初的“Capri”架构,现在拥有 7nm 部件的“Elba”。 架构非常重要。 NVIDIA 正在有效地加速 Open vSwitch,并拥有一个采用 BlueField-2 DPU 的架构,该架构具有 ConnectX-6 和与 PCIe 交换机连接的 Arm/加速器协处理器。
AMD Pensando Elba 拥有快速 NOC,然后通过其 P4 引擎和一些卸载引擎以及几乎作为辅助功能的 Arm 复合体运行流量。
Hot Chips 32 Pensando Elba Cover
NVIDIA 和 AMD 之间的用户体验非常不同。 使用 NVIDIA,登录 DPU 几乎就像连接一个巨大的 100GbE NIC 的 Raspberry Pi(使用 Ubuntu)一样。
AMD Pensando DPUs Are Not The Same
AMD Pensando 您可以登录 DPU,但实际上您对该部件进行编程的方式是通过 P4 引擎。
AMD Pensando DSC2 100 100G 2P QSFP56 DPU Login Top
AMD 以一个轻量级的 Linux 发行版作为基础。 然后它有 API 工具允许人们在 P4 中进行数据包处理。
AMD Pensando DSC2 100 100G 2P QSFP56 DPU Login Cat Proc Cpuinfo
Still, there is an Arm Cortex A72 complex with memory and its own onboard storage.尽管如此,仍然有一个带有内存和自己的板载存储的 Arm Cortex A72 复合体。
如果这听起来有点棘手,确实如此。 需要明确的是,AMD 目前的目标客户是 VMware 或超大规模客户,以使许多机器能够有效地使用芯片。 NVIDIA 有一个模型,感觉更像是 Jetson 盒子,如果你有卡,就可以登录并开始玩。 事实上,我们已经做了一篇关于构建终极 x86 和 Arm Cluster-in-a-Box 的文章,只是为了好玩,因为 NVIDIA 的模型允许这样做。
这就是 VMware 在这里如此重要的原因。 为VMware带来DPU支持意味着VMware隐藏了学习P4的复杂性,而人们可以购买带有Pensando DPU和VMware的系统,并且只需一个开关即可使用DPU启用高性能UPT网络。 实际上,您可以通过同一个开关选择 NVIDIA BlueField-2 和 AMD Pensando DPU。 从 VMware 最终用户的角度来看,该过程非常相似。
接下来,让我们看一下直接在 DPU 上运行的 VMware ESXio。
AMD Pensando DPU Running VMware ESXio
由于我们想更清楚地展示这一点,您可以通过控制台登录 Pensando DSC2-100(双 100GbE)DPU。 登录后,我们可以看到 Arm Cortex-A72 和 24GB 内存以及 ESXio 启动屏幕。 VMware需要在DPU上运行其操作系统和软件,即ESXio。
AMD Pensando DSC2 100 100G 2P QSFP56 DPU VMware ESXio 8.0.1
By default, the ESXi Shell is disabled in ESXio 8. Since we are doing this in a lab (do NOT do this at home) we can enable the shell.默认情况下,ESXi Shell 在 ESXio 8 中处于禁用状态。由于我们是在实验室中执行此操作(请勿在家里执行此操作),因此我们可以启用该 shell。
AMD Pensando DSC2 100 100G 2P QSFP56 DPU VMware ESXio 8.0.1 Enable ESXi Shell
Here is a quick esxitop of the card running.这是卡运行的快速说明。
AMD Pensando DSC2 100 100G 2P QSFP56 DPU VMware ESXio 8.0.1 Esxitop
对于VMware,很少有用户会冒险进入这些深度。 相反,VMware 有一个非常有趣的计划。 他们正在努力为客户带来 UPT 等功能,然后是其他网络功能,希望还有存储和裸机管理(未来功能)。 VMware 团队负责开发 AMD Pensando P4 引擎,并使该功能在 VMware 生态系统中发挥作用。 为了让这一点更令人印象深刻,VMware 正在做多少事情,并试图同质化不同供应商的 DPU,默认情况下,这些 DPU 上的带外管理端口是禁用的。
AMD Pensando DSC2 100 100G 2P QSFP56 DPU ESXi Use UPT
现在我已经使用了两者,差异归结为端口速度(目前)和单个下拉框。 对于大多数用户来说,大部分体验只是确保启用 UPT。
VMware 管理员熟悉虚拟化环境中最大的基本网络挑战之一。 人们可以使用 vmxnet3 驱动程序进行网络连接,并获得虚拟机管理程序管理网络堆栈的所有好处。 这提供了执行实时迁移等操作的能力,但以性能为代价。 对于面向性能的网络,许多人使用直通 NIC 来提供性能,但对迁移提出了挑战。 借助 UPT(统一传递),我们能够以接近传递的更高性能级别进行迁移。
UPT 的挑战在于我们需要硬件和软件堆栈来支持它,但由于支持 AMD Pensando DPU,我们终于拥有了。
既然这是一个问题,那么让我们来谈谈硬件吧。
AMD Pensando DPU Test Lab
使用 VMware 测试 Pensando DPU 或任何 DPU 有点棘手。 目前,您需要从传统服务器供应商订购已安装 DPU 的服务器。 正如我们将看到的,就目前情况而言,您需要一个特殊的 DPU(无论是 NVIDIA 还是 AMD)才能与 VMware 以及服务器中的相应部件一起工作。 这样,DPU 就可以通过服务器的 BMC 进行管理,而不必使用每个 DPU 的带外管理解决方案。
AMD Pensando DPUs With HPE Dell And Lenovo
为此,我们将使用 Dell PowerEdge R7615 系统。 这些是 2U 单插槽 AMD EPYC Genoa 系统。 在我们的两台主要测试服务器下方可以看到一个“Titanite”QCT系统。
在系统背面,我们可以看到AMD Pensando DSC2-100G安装在PCIe转接卡中。
这是从服务器内部看到的转接卡上的卡。 该电缆是服务器 BMC 和 DPU 之间的管理接口。
这条小电缆连接到 OCP NIC 插槽旁边的一块小板,是当前 DPU 套件中最具争议的部分之一。
如果您看过我们的 Dell PowerEdge R760 评测,您会发现该插槽是低带宽 LOM 插槽。 我们没有使用基于 Broadcom 的双 1GbE 解决方案,而是在服务器的 iDRAC 管理和 Pensando DPU 之间使用管理接口卡。 有传言称,这些公司正在努力将其打造成一个改造项目,因为人们可能会发现它很容易安装。 目前,这就是您需要直接从供应商购买支持 VMware DPU 的系统的原因。
失去 1GbE 网络并不是什么大问题。 我们在 PowerEdge R7615 中仍然有用于低速网络的 OCP NIC 3.0 插槽。 拥有管理接口板意味着我们知道系统中还拥有高速 DPU,可用于大量网络,以至于 1GbE NIC 不太可能被错过。
至此,我们已经在服务器中展示了一个DPU,但是这个DPU是什么呢? 那是下一个。
AMD Pensando DSC2-100G Hardware Overview
在Dell PowerEdge R7615服务器中的板卡是全高AMD Pensando DSC2-100G。我们不完全确定Pensando的命名,但最初的25GbE卡是DSC-25G。新卡似乎是DSC2(Pensando曾称这些分布式服务卡或类似的卡),其中2用于第二代Elba架构。
这些卡有一个PCIe Gen4 x16接口,和两个QSFP28 100GbE端口。
散热器很重要,因为这是STH,我们还有一个没有散热器的版本,所以你可以看到SoC顶部的内存。
在卡的背面,我们得到了额外的内存,一个AMD Xilinx Artix 7,然后是NAND存储。
在我们之前审查的BlueField-2 DPU上,有一个ASPEED AST2500 BMC为out-of-band管理端口供电,我们这里有一个out-of-band管理接口,但没有BMC。
这是不带散热器的两个100GbE QSFP28机架的视图。可以看到,机箱上有相当大的散热器,但与我们在400GbE世代中看到的情况相去甚远。
这是NIC的另一侧,气流进入PowerEdge R7615测试服务器中的散热器。
白色连接器用于管理电缆。我们可以很容易地在这个边缘镜头中看到它。
我们还可以看到它后面的7nm Elba DPU芯片有多大。
我们的佳能镜头被用来支撑卡片,这也让我们能够在散热器和卡片之间看到这一景象。
这是DSC2-100G选项,但也有25GbE选项。
AMD Pensando DSC2-25G Hardware Overview
AMD Pensando DSC2-25G是该公司的双25GbE DPU,其优点是它是一款低功耗卡。
AMD Pensando DSC2 25G
该卡仍然使用7nm Elba处理器,但只有PCIe Gen4 x8接口,因为它的带宽低于双100GbE版本。
这是Elba处理器。还可以看到,在这个DPU上有一半的DRAM封装。
内存的其余部分位于带有NAND存储器和Artix 7 FPGA的卡背面。
以下是我们未使用的管理端口以及两个25GbE接口的视图。
在另一端,我们可以再次看到我们的管理连接器。
既然我们已经看到了这些卡片,是时候开始使用它们了。
Going Faster with AMD Pensando DPUs and VMware ESXi 8
在本文的前面,我们展示了DPU如何运行ESXio并与VMware一起工作。以下是使用标准vmxnet3网络的DSC2-100G卡的示例。
AMD Pensando DSC2 100 100G 2P QSFP56 DPU VMware ESXio 8.0.1 Bandwidth Test 1 4 VMs Standard
然后,我们可以打开UPT,在四个虚拟机上获得大约两倍的带宽。
AMD Pensando DSC2 100 100G 2P QSFP56 DPU VMware ESXio 8.0.1 Bandwidth Test 1 4 VMs UPT
这与我们之前展示的NVIDIA BlueField-2 DPU和VMware vSphere实验室有很大区别。我们预计到2023年夏末,NVIDIA BlueField-2 DPU将拥有经过认证的100GbE型号,但目前,如果您想要100GbE,那么您需要AMD Pensando DPU。
至于延迟,UPT的影响是显而易见的。在非UPT模式下,99.9%的平均延迟跃升至4.415,可以看出我们的吞吐量也没有那么好。
Redis Transfer Between VMs Without UPT Enabled AMD Pensando DSC2
例如,请参阅99.9%的延迟,五次redis运行的平均值为0.439。
Redis Transfer Between VMs With UPT Enabled AMD Pensando DSC2
在这一点上,这种表现感觉“当然更好”。另一方面,我们现在已经将BlueField-2和AMD Pensando DSC2 DPU与VMware一起使用,因此我们看到了VMware NSX和UPT使用DPU的强大功能。当然,最棒的部分是,我们获得了与使用SR-IOV更相似的性能,但由于我们使用了UPT,因此具有能够实时迁移虚拟机的可管理性。
Final Words
退一步来说,要实现 UPT 性能,需要 P4 可编程数据包处理引擎、Arm 内核、板载内存、NAND 的复合体以及在 NIC 上运行 VMware ESXio。 只要看一下卡片,人们就可以知道完成这项任务需要多少资金。 另一方面,这确实是一个开始。
据称,这张使用内部管理接口电缆连接至 Dell iDRAC BMC 的照片存在争议。 这是新技术,因此有一条电缆可以通过服务器提供管理功能。 希望未来几代人能够摆脱这条电缆,但这与将双 100GbE DPU 放入运行带有自己的 Arm 处理器、内存和存储的操作系统的服务器中的行为相比,这确实是微不足道的。
在 VMware 中使用 BlueField-2 和 Pensando,并了解如何登录卡以及在那里可以做什么之后,我对两者都有相当强烈的看法。 如果您只是想要易于登录和使用的东西,那么 NVIDIA BlueField-2 无疑是最佳选择。 我们已经多次展示过这一点,但体验就像登录到带有通过 PCIe 交换机连接的 100GbE NIC 的精美 Raspberry Pi 一样。 另一方面,AMD Pensando 的 DPU 性能大约是我们撰写本文时的 4 倍,因为它为 VMware 提供 100GbE 网络,而 BlueField-2 为 25GbE(这会随着时间的推移而改变。)NVIDIA 现在有 BlueField-3 ,尽管 VMware 尚不支持,所以情况会随着时间的推移而改变。 也许最有趣的部分是,虽然非 P4 开发人员登录卡和运行东西的经验之间存在巨大差距,但 VMware 隐藏了所有这些。 VMware 正在完成所有低级编程,以便可以使用截然不同的架构,唯一的区别是为任一解决方案选择一个下拉菜单项。
将 DPU 添加到 VMware 的愿景很简单。 立即订购带有 DPU 的服务器,您可以将它们用作标准 NIC。 准备就绪后,您可以通过 NSX 和 UPT 使集群的功能联机,以提高虚拟机网络的可管理性和性能。 VMware 将在未来继续构建功能,并讨论了 vSAN/存储、裸机管理以及 DPU 的其他功能等内容。 VMware 正在构建这些功能,因此您无需配备 DPU 或 P4 编程专家。 如果您是超大规模企业,这不是问题,但对于大多数企业来说,等待 VMware 提供这些功能会更容易。
AMD Pensando DSC2 100 100G 2P QSFP56 DPU VMware ESXio 8.0.1
这个的价值主张很简单。 3-5 年内,随着 VMware 添加每个增量功能集,您将需要在您的环境中使用 DPU。 如果您现在安装的服务器不支持 DPU,那么您的集群将无法获得这些相同的功能。
---- 原文&翻译 结束 ----
编者语:在研发方面的投入,DPU相比CPU、GPU还要更高;面临如何实现软硬件解耦的难题(CPU通过ISA,GPU通过类似CUDA的框架和编程语言);对于DPU的定义,行业还存在一些争议,大家对DPU的功能定义依然没有定论。DPU的市场规模到底有多少?