1. BlueField架构总览

BlueField 是 NVIDIA 面向数据中心推出的 DPU(Data Processing Unit)系列芯片,其核心思路不是简单地把网卡做快,而是把“主机 CPU 原本要做的网络、存储、安全与虚拟化工作”整体卸载到一块带有独立 Arm 计算子系统的 PCIe 设备上。理解 BlueField,关键是把它看成一个“以网络为入口、以 Arm 为控制面、以硬件加速器为数据面、以 PCIe 与内存为枢纽”的片上系统,而不是一块普通智能网卡。

一、芯片组成:从 SoC 视角看 BlueField

以 BlueField-2 为例,其芯片内部大致可划分为四个功能域。第一是网络接口域:包含以太网 MAC/PCS、可编程包处理流水线,支持 2×100Gb/s 或 1×200Gb/s 以太网,并兼容 InfiniBand。第二是Arm 计算域:集成多核 Arm Cortex-A72(BlueField-2 为 8 核),运行 Linux,可承载 DOCA 服务、OVS、存储目标端等软件。第三是加速器域:包括加密引擎、正则匹配、压缩/解压、RDMA 引擎、NVMe-oF 目标卸载等。第四是主机接口与内存域:PCIe Gen4 x16 上行连接主机,片内 DDR4 控制器连接独立 DRAM,形成与主机内存物理隔离的“DPU 内存”。

需要特别强调的是,BlueField 的 Arm 子系统与主机 x86 是两个独立操作系统实例。主机看到的是一个 PCIe 多功能设备(PF/VF),而 DPU 侧运行自己的固件与 DOCA 运行时。这种“双系统”结构是后续所有卸载能力的基础。

BlueField DPU 片上架构与数据通路 主机 (x86 Host) 应用 / 内核协议栈 PF / VF 驱动 主机 DDR 内存 PCIe Gen4 x16 DMA / MSI-X / P2P BlueField DPU SoC 网络接口域 以太网 MAC / PCS 可编程包处理流水线 2×100G / 1×200G Arm 计算域 8× Cortex-A72 Linux + DOCA 运行时 控制面 / 服务容器 硬件加速器域 加解密 IPsec / TLS RDMA RoCEv2 压缩/解压 Deflate NVMe-oF 目标端卸载 DPU 内存子系统 DDR4 控制器 独立 DPU DRAM 与主机内存隔离 PCIe 子系统 Gen4 x16 上行 SR-IOV PF/VF P2P / DMA 引擎 控制 上行链路 100/200G 网络域 Arm 域 加速域

二、Arm 核心:DPU 的“控制大脑”

BlueField 上的 Arm 核并非用来跑用户业务的高性能计算单元,而是承担控制面与卸载代理角色。典型职责包括:运行 DOCA 服务、管理 OVS 流表、作为 NVMe-oF 目标端处理存储协议、执行安全策略下发、以及通过 RShim 或 BMC 通道与主机通信。由于 Arm 侧拥有独立内存,它可以缓存流表、连接状态和密钥,而不占用主机内存带宽。

在实际工程中,一个常见做法是把 Arm 侧当作“轻量服务器”使用:通过 doca 工具链部署容器化服务,用 systemctl 管理后台进程。例如查看 DPU 侧 Arm 系统状态:

# 在 DPU Arm 侧执行
$ uname -a
Linux dpu-arm 5.15.0-101-generic aarch64 GNU/Linux

$ lscpu | grep -E "Model name|CPU\(s\)"
Model name: Cortex-A72
CPU(s): 8

$ systemctl status doca_telemetry
● doca_telemetry.service - DOCA Telemetry Service
   Active: active (running)

这段输出说明 Arm 侧是一个完整可登录的 Linux 环境,具备独立进程管理与服务编排能力。判断 DPU 是否“活着”,第一步往往就是确认 Arm 侧系统可访问、DOCA 服务正常。

三、网络与存储加速单元:数据面的关键

网络加速方面,BlueField 的可编程包处理流水线支持精确匹配、通配匹配、计量、镜像等操作,配合 ASAP2(Accelerated Switching and Packet Processing)可将 OVS 数据面从主机内核卸载到 DPU。存储加速方面,NVMe-oF 目标端卸载允许 DPU 直接终结 NVMe over Fabrics 会话,把远程 SSD 以本地 NVMe 设备形式暴露给主机,主机侧无需运行目标端软件。

RDMA 引擎支持 RoCEv2,可实现零拷贝、内核旁路的数据传输。加密引擎则覆盖 IPsec、TLS、MACsec 等场景。这些加速器的共同特点是:数据面在硬件中完成,控制面在 Arm 中完成,主机只看到结果。

四、PCIe 与内存子系统:枢纽与隔离

PCIe Gen4 x16 提供约 32GB/s 双向带宽,是主机与 DPU 之间的唯一高速通道。BlueField 通过 SR-IOV 向主机呈现多个 PF/VF,每个 VF 可独立分配给虚拟机或容器。内存子系统则包含片内 DDR4 控制器与独立 DRAM,容量通常为 8~32GB。这块内存与主机内存物理隔离,意味着 DPU 上的流表、密钥、缓存不会与主机应用争抢带宽,也提升了安全边界。

需要区分两个方向:主机到 DPU 的 DMA 用于下发描述符和接收完成事件;DPU 到网络 的包处理用于收发数据。参照系上,本文统一以“主机为上游、网络为下游”描述数据流向。

五、典型部署形态

BlueField 常见三种部署形态。第一种是独立网卡模式:DPU 作为普通 200G 网卡使用,主机驱动直接管理,适合先验证连通性。第二种是卸载模式:主机把 OVS、存储、安全策略卸载到 DPU,Arm 侧运行 DOCA 服务,主机 CPU 占用显著下降。第三种是裸金属云/多租户模式:通过 SR-IOV 和 Arm 侧隔离,把 DPU 作为租户网络与存储的入口,实现主机与网络管理面的解耦。

判断当前处于哪种形态,可观察三个信号:主机 lspci 是否识别到 BlueField 多功能设备;DPU Arm 侧 doca 服务是否运行;主机侧 OVS 流表是否被卸载(ovs-dpctl dump-flows 中 offloaded:yes 计数增长)。

总体而言,BlueField 的架构价值在于把“网络与存储的复杂处理”从主机 CPU 迁移到一块带独立 Arm 和独立内存的 PCIe 设备上。理解其芯片组成、Arm 控制面、加速器数据面、PCIe/内存枢纽以及三种部署形态,是后续进行 DOCA 编程、OVS 卸载和 NVMe-oF 配置的基础。