SmartNIC 与 DPU:可编程网卡上的光模块
数据处理单元(DPU)或 SmartNIC 是一种带有自己的处理器、内存和操作系统的网卡,位于服务器 PCIe 总线和网络之间。对光模块而言,笼子这一端什么都没变—— 仍是同样的 QSFP56/QSFP112/OSFP 模块和线缆——但读取模块、执行策略、配置速率和 FEC 的主体,如今是卡上的一台小型计算机,通常运行 Linux 或类 SONiC 的系统。本文列出目前的 DPU 系列及其端口,说明模块管理落在哪里,并介绍光模块相关的后果:功耗、散热、双端口笼子和 AI 后端 fabric。
系列与端口
| 系列 | 代 | 端口 | 笼子 | 主机 PCIe | 核心 |
|---|---|---|---|---|---|
| Nvidia BlueField-2 | 2020 | 2 × 25/100G 或 1 × 200G | SFP56 / QSFP56 | Gen 4 x16 | 8 × Arm A72 |
| Nvidia BlueField-3 | 2023 | 2 × 200G 或 1 × 400G;SuperNIC 变体 400G | QSFP112 / OSFP | Gen 5 x16 | 16 × Arm A78 |
| Nvidia ConnectX-8 SuperNIC | 2024–25 | 1 × 800G 或 2 × 400G | OSFP(双端口)/ QSFP112 | Gen 6 x16 | (NIC,可编程性有限) |
| AMD Pensando Elba / Giglio / Salina(400) | 2021–25 | 2 × 100/200G;2 × 400G | QSFP56 / QSFP112 | Gen 4/5 x16 | 16 × Arm A72/N1 + P4 管线 |
| Intel IPU E2000(Mount Evans) | 2022 | 2 × 100G(合计 200G) | QSFP28/56 | Gen 4 x16 | 16 × Arm N1 + P4 |
| Marvell Octeon 10 DPU | 2022 | 最高聚合 400G | QSFP-DD | Gen 5 | Arm N2 |
| Microsoft/Fungible、Napatech、Xilinx Alveo SN1000 | 各不相同 | 2 × 100G | QSFP28 | — | FPGA / MIPS |
端口笼子和速率遵循与普通网卡相同的规则(网卡端口与 PCIe)。
模块管理落在哪里
| 模式 | 谁读取模块 | 工具 |
|---|---|---|
| 嵌入式 / DPU 模式(端口由 Arm 侧掌控) | DPU 自身的操作系统(Ubuntu/DOCA、SONiC-DASH、厂商 Linux)通过其驱动读取 | Arm 侧的 ethtool -m、mlxlink;主机只能看到虚拟功能(VF) |
| 主机/网卡分离模式 | 主机驱动,与 ConnectX 上相同 | 主机侧 ethtool、mlxlink(网卡工具) |
| 受限模式 | 由 DPU 控制,主机无法更改链路设置 | 策略在 DPU 上执行 |
由此带来的后果:固件和链路设置(速率、FEC、拆分)在 DPU 上配置(mlxconfig、 DOCA 工具、Pensando penctl),并在主机重启后依然保留;被 DPU 拒绝或降级的模块,主机管理员在查看 DPU 日志之前根本看不到。模块策略本身在 Nvidia 和 AMD 上是宽松的(解析任意 EEPROM),与它们的网卡一致(网卡上的光模块兼容性)。
功耗与散热
| 项目 | DPU 实际情况 |
|---|---|
| 板卡功耗 | 75–150 W(BlueField-3 带辅助电源接口时约 150 W)——板卡本身比卡上任何模块都更热 |
| 笼子预算 | QSFP112/OSFP 笼子按 15–20 W 的模块设计;请查阅板卡规格书 |
| 气流 | GPU 服务器中的全高卡与 GPU 共享热通道;模块 DDM 温度 60–70 °C 属正常,75 °C 以上会告警(温度等级) |
| 双端口 OSFP | 一个 OSFP 笼子承载 2 × 400G;该模块(或双端口 DAC/AOC)是带有自己散热片的单个 800G 级器件(OSFP) |
| 光模块选择 | ToR 在 2 m 以内时用 DAC,否则用 AOC 或 400G/800G DR/FR;LPO 变体在短链路上能降低模块功耗(功耗) |
AI 后端 fabric
在 GPU 集群中,每个 GPU 配一块 DPU 或 SuperNIC,连接到经过 rail 优化的后端 fabric,即 InfiniBand 或 RoCE 以太网(GPU 组网):
| 链路 | 常见光模块 |
|---|---|
| 每 GPU 一条 NDR 400G IB | 双端口 OSFP 2 × 400G;到 rail leaf 距离 ≤ 3 m 用 DAC/ACC,3–50 m 用 AOC,更远用 DR4/SR4 光模块(IB 线缆) |
| 每 GPU 一条 XDR 800G IB / 800G 以太网 | OSFP 800G 双端口,2 × DR4 或 SR8 |
| 前端 / 存储 | DPU 上独立的 100/200G 端口,或第二块网卡 |
线缆身份和长度由 fabric manager 校验;模块固件版本也是集群认证物料清单的一部分(AI 集群布线、 链路可靠性与监测)。
卡上的 SONiC 与 P4
运行 SONiC-DASH 或 P4 管线的 DPU,把自己的端口当成一台小型交换机来对待:端口拆分、FEC 和速率在 DPU 的配置数据库中设置,光模块 EEPROM 也出现在与 SONiC 交换机相同的 show interfaces transceiver 命令下(NOS 全景)。对第三方模块的行为由平台插件决定——是宽松的。
在 CodingBox 中
面向 DPU 的模块,认证方式与面向交换机或网卡的模块相同:封装形式和合规性(QSFP112/OSFP,CMIS 中的 400G/800G 应用)、相对笼子的功率等级,以及用于集群 BOM 的固件版本——这些都可以在安装前于工作台上读出(Check transceiver、CMIS)。