3. DPU概述

在“DPU/GPU/NVLink异构互联”的整体版图中,GPU负责大规模并行计算,NVLink解决GPU之间与GPU到CPU的高带宽一致性互联,而DPU则承担另一个关键角色:把数据中心里原本由主机CPU处理的基础设施任务卸载下来,并成为网络、存储、安全与虚拟化的独立处理域。理解DPU,是理解异构计算节点如何“减负”和“提速”的前提。

一、DPU的定义与核心定位

DPU(Data Processing Unit,数据处理单元)是一种面向数据中心基础设施的专用处理器。它通常以PCIe板卡或SoC形态出现,内部集成多核Arm CPU、可编程网络流水线、硬件加速引擎、高速以太网接口以及DMA/PCIe控制器。其核心思想是:让主机CPU专注业务应用,把网络包处理、存储虚拟化、安全策略、遥测采集等“基础设施税”迁移到DPU上独立执行。

与GPU相比,DPU不追求浮点算力峰值,而强调可编程性、卸载能力与线速处理;与普通网卡相比,DPU不只是转发数据,还能运行完整的操作系统与网络/存储/安全服务。因此DPU常被称为“数据中心第三颗主力芯片”,与CPU、GPU并列。

DPU的本质不是“更快的网卡”,而是“可编程的基础设施处理器”:它把主机上分散的I/O、虚拟交换、加密、存储协议处理收敛到一个独立、可隔离、可编排的执行环境中。

二、DPU的架构组成

典型DPU可划分为四个层次,各层协同完成卸载与加速:

  • 网络接口层:提供25/100/200/400GbE等以太网端口,支持RoCEv2、SR-IOV、VirtIO等,负责线速收发与流量分类。
  • 可编程加速层:包含P4/可编程包处理流水线、正则匹配、IPSec/MACsec加解密、压缩解压、NVMe-oF与RDMA引擎,实现固定功能硬件加速。
  • 通用计算层:集成多核Arm CPU集群与DDR内存,可运行Linux、DPDK、容器化服务,承载控制面与自定义数据面逻辑。
  • 主机接口层:通过PCIe Gen4/Gen5与主机CPU/GPU连接,利用SR-IOV、VirtIO、DMA提供低开销数据通路。

下面用一张结构关系图展示DPU内部组成及其与主机、网络的连接关系:

主机侧 CPU / GPU 业务应用 操作系统 PCIe Root Complex DPU SoC 网络接口层 25/100/200/400GbE · RoCEv2 · SR-IOV 可编程加速层 P4流水线 · IPSec/MACsec NVMe-oF · RDMA · 压缩 通用计算层 多核 Arm CPU · DDR Linux · DPDK · 容器 主机接口层 PCIe Gen4/5 · VirtIO · DMA 数据中心网络 交换机 / 存储 安全设备 其他节点 PCIe DMA 上行 下行

三、主要厂商与产品对比

目前DPU市场由三家代表性厂商主导,各自路线不同:

厂商代表产品核心特点典型生态
NVIDIABlueField-2 / BlueField-3集成ConnectX网卡与Arm核,支持DOCA、GPUDirect、NVLink-C2CAI云、GPU集群、InfiniBand/RoCE
AMDPensando DSC / Elba可编程P4流水线,强调分布式安全与网络服务云服务商、企业安全、SDN
IntelIPU(Mount Evans / Oak Springs)基于x86与FPGA/ASIC,强调开放标准与基础设施卸载超大规模云、开放可编程

三者的共同点是“卸载+可编程+隔离”,差异在于:NVIDIA更强调与GPU/NVLink协同,AMD更强调可编程安全服务,Intel更强调开放生态与x86一致性。

四、典型应用场景

  • 云与虚拟化卸载:把OVS虚拟交换、VXLAN封装、NAT、防火墙下沉到DPU,释放主机CPU。
  • 存储加速:通过NVMe-oF、RDMA和压缩引擎,让远程存储访问接近本地性能。
  • 零信任安全:在DPU上执行IPSec、MACsec、微隔离策略,实现主机侧“不可见”的安全域。
  • AI/GPU集群互联:DPU承担RoCE拥塞控制与GPUDirect数据搬运,配合NVLink构建高吞吐训练网络。
  • 可观测与遥测:线速采集流日志、时延与丢包指标,供上层编排系统决策。

五、案例与实操观察

以一台AI训练服务器为例,若使用DPU卸载网络与存储,主机CPU占用可显著下降。下面是一段典型的DPU配置查看命令,用于确认卸载能力与端口状态:

# 查看DPU设备与固件信息
mlxfwmanager --query
# 查看代表端口与链路状态
ibdev2netdev -v
# 查看SR-IOV虚拟功能数量
cat /sys/class/net/ens1f0/device/sriov_numvfs
# 查看DPU上运行的容器化服务
crictl ps
在评估DPU时,不要只看端口速率,更要关注:可编程流水线是否开放、Arm核数量与内存、PCIe代际、是否支持GPUDirect/RDMA、以及厂商SDK与生态成熟度。

六、常见误区与复盘

误区一:把DPU当成普通智能网卡。智能网卡通常只做固定卸载,而DPU可运行完整软件栈,具备独立控制面。

误区二:认为上了DPU主机CPU就一定空闲。若业务路径未做SR-IOV/VirtIO优化,数据仍可能绕行主机内存,卸载收益有限。

误区三:忽视与GPU/NVLink的协同。在异构互联中,DPU负责“进得来、存得下、传得稳”,GPU负责“算得快”,NVLink负责“连得紧”,三者需统一编排。

部署DPU前应明确卸载边界:哪些流量走DPU、哪些保留在主机、哪些需要GPU直通。边界不清会导致性能抖动与排障困难。

综上,DPU是数据中心基础设施的专用处理器,通过可编程加速层与通用计算层的结合,把网络、存储、安全与虚拟化从主机CPU卸载出来。NVIDIA BlueField、AMD Pensando、Intel IPU分别代表了GPU协同、可编程安全与开放生态三条路线。在DPU/GPU/NVLink异构互联体系中,DPU是数据入口与基础设施底座,GPU是算力核心,NVLink是高速纽带,三者共同构成现代AI数据中心的关键支柱。