芯片开发学习笔记·二十二——DPU介绍
DPU 数据处理单元技术文档目录DPU 概述技术演进历程系统架构详解DPU vs SmartNIC vs CPU/GPU主流厂商与产品编程接口与 SDK应用场景与案例性能指标对比发展趋势参考资料1. DPU 概述1.1 什么是 DPUDPUData Processing Unit数据处理单元是一种专门用于处理数据中心中网络传输、数据安全和基础设施任务的系统级芯片SoC。它将计算、网络、存储和安全功能集成在单一芯片上通过硬件加速卸载主机 CPU 的基础设施任务从而释放 CPU 资源用于核心业务计算。DPU 是一个新型可编程多核处理器是一块 SoCSystem On Chip芯片。它符合行业标准具有高性能、低功耗、可编程的特点专门用于处理数据中心中的以下任务网络数据包处理Network Packet Processing存储虚拟化与加速Storage Virtualization安全功能卸载Security Offloading虚拟化基础设施Virtualization Infrastructure1.2 为什么需要 DPU随着数据中心规模扩大和云计算普及传统架构面临以下挑战 数据中心税Data Center Tax30% 的 CPU 资源被基础设施任务占用网络、存储、安全开销持续增长虚拟化层带来额外性能损耗⚡ 性能瓶颈网络带宽从 10G 增长到 400G/800GCPU 无法线速处理高速网络流量数据移动成为主要能耗来源 安全隔离需求零信任安全模型需要硬件隔离多租户环境需要安全边界加密卸载减轻 CPU 负担2. 技术演进历程2.1 从 SmartNIC 到 DPU基础网卡 → 智能网卡 → DPU (Basic NIC) → (SmartNIC) → (DPU)阶段时间特征代表产品基础网卡1980s-2000s仅负责物理层数据传输Host CPU 处理所有协议栈Intel 8254x, Broadcom BCM57xx硬件卸载网卡2000s-2010s支持 Checksum Offload、TSO、LRO 等基础卸载Intel 82599, Mellanox ConnectX-3SmartNIC2010s-2020集成多核 CPU/FPGA可编程数据路径Mellanox BlueField-1, Netronome AgilioDPU2020-至今完整 SoC 架构全面卸载基础设施任务NVIDIA BlueField-3, AMD Pensando2.2 里程碑事件2015- AWS 推出 Nitro 系统将虚拟化功能卸载到专用硬件2019- NVIDIA 收购 Mellanox推出 BlueField DPU 产品线2020- Fungible 发布 F1 DPU主打存储和 AI 卸载2021- AMD 收购 Pensando进入 DPU 市场2022- Intel 推出 IPUInfrastructure Processing Unit2023- NVIDIA 发布 BlueField-3支持 400Gb/s2024- NVIDIA 发布 BlueField-4支持 800Gb/s 和 AI 推理加速3. 系统架构详解3.1 DPU 典型架构组件┌─────────────────────────────────────────────────────────────┐ │ DPU SoC 架构 │ ├─────────────────────────────────────────────────────────────┤ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Arm 核心 │ │ Arm 核心 │ │ Arm 核心 │ │ │ │ (通用计算) │ │ (通用计算) │ │ (通用计算) │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ 网络加速引擎 │ │ 安全加速引擎 │ │ 存储加速引擎 │ │ │ │ (RDMA/RoCE) │ │ (IPSec/TLS) │ │ (NVMe-oF) │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ 智能网卡 │ │ PCIe 交换 │ │ DDR 内存 │ │ │ │ (ConnectX) │ │ │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ 高速内部互联 (Mesh) │ └─────────────────────────────────────────────────────────────┘ │ ┌─────────┴─────────┐ ▼ ▼ ┌──────────┐ ┌──────────┐ │ Host CPU │ │ 外部网络 │ └──────────┘ └──────────┘3.2 核心功能模块 通用计算单元多核 Arm 处理器8-24 核运行 Linux 操作系统支持容器化部署独立地址空间安全隔离 网络加速引擎RDMA/RoCE 硬件支持VXLAN/GENEVE 隧道卸载OVS 数据路径加速连接跟踪Connection Tracking 安全加速引擎IPSec/TLS 硬件加密正则表达式匹配引擎深度包检测DPI硬件级信任根Root of Trust 存储加速引擎NVMe-oF 协议卸载压缩/解压缩加速纠删码计算GPUDirect Storage 支持3.3 数据流处理流程传统架构网络数据 → Host CPU → 协议栈处理 → 应用 → 协议栈 → 网络DPU 架构网络数据 → DPU 硬件加速 → 可选DPU Arm 核处理 → 直接 DMA 到应用内存处理阶段传统网卡DPU 架构数据包接收中断 Host CPUDPU 硬件直接处理协议解析Host CPU 软件处理DPU 硬件加速虚拟交换OVS 消耗 Host CPUDPU 硬件卸载安全策略Host CPU 检查DPU 内联处理存储访问Host CPU 协议转换DPU 直接访问远程存储4. DPU vs SmartNIC vs CPU/GPU4.1 DPU 与 SmartNIC 的区别特性SmartNICDPU计算能力有限主要用于数据路径完整的多核 SoC可运行操作系统内存通常无独立内存集成 DDR 控制器GB 级内存可编程性FPGA 或固定功能通用 CPU 专用加速器应用场景网络功能卸载全面的基础设施卸载安全隔离有限硬件级安全域隔离4.2 各类处理器对比处理器全称设计目标典型应用CPUCentral Processing Unit通用计算顺序执行业务逻辑、控制平面GPUGraphics Processing Unit大规模并行计算AI 训练/推理、图形渲染DPUData Processing Unit基础设施任务卸载网络、存储、安全加速TPUTensor Processing Unit张量运算加速机器学习推理NPUNeural Processing Unit神经网络推理端侧 AI、图像识别IPUInfrastructure Processing Unit云基础设施卸载Intel 云优化方案 协同工作模式在现代数据中心中CPU、GPU、DPU 形成三U一体架构CPU- 运行应用程序和业务逻辑GPU- 加速 AI/ML 计算任务DPU- 处理基础设施任务网络、存储、安全5. 主流厂商与产品5.1 NVIDIA BlueField 系列型号BlueField-2BlueField-3BlueField-4发布时间202020222024网络带宽200Gb/s400Gb/s800Gb/sArm 核心8 核 A7216 核 A7816 核 AI 加速器内存32GB DDR464GB DDR5128GB DDR5PCIeGen 4.0Gen 5.0Gen 6.0AI 加速无有限专用 AI 引擎5.2 AMD Pensando 系列型号ElbaGiglioSalina 400代际第二代第二代增强第三代网络带宽2x 200Gb/s2x 200Gb/s400Gb/sArm 核心16 核 N116 核 N116 核 N1制程7nm7nm5nm编程模型P4 可编程P4 可编程P4 可编程特色存储/安全引擎DDR5 支持2x 性能提升5.3 其他主流厂商Marvell OCTEON 105nm ARM Neoverse N2 架构支持 400G 网络集成 ML 推理引擎PCIe 5.0 / DDR5 支持Intel IPUMount Evans ASICOak Springs Canyon (FPGAXeon-D)P4 可编程路线图200G→400G→800GFungible F1800Gbps 高带宽多核 MIPS64 NPU存储/AI 卸载专用高并行处理能力AWS Nitro自研专用 SoC全功能虚拟化卸载释放 30% Host CPUAWS 云基础设施核心6. 编程接口与 SDK6.1 NVIDIA DOCA 框架DOCAData Center Infrastructure-on-a-Chip Architecture是 NVIDIA 为 BlueField DPU 设计的软件开发框架类似于 GPU 的 CUDA。DOCA 核心组件DOCA SDK高层 API 库参考应用代码开发工具链容器化支持DOCA Runtime服务管理遥测数据采集DPU 配置工具驱动程序主要 DOCA 库库名称功能应用场景DOCA Flow流处理与负载均衡网络功能虚拟化DOCA DPI深度包检测安全策略执行DOCA App Shield入侵检测主机安全防护DOCA SNAP存储虚拟化NVMe-oF 加速DOCA Crypto加密加速IPSec/TLS 卸载开发示例DOCA Flow 创建流规则// DOCA Flow 示例创建简单的五元组匹配规则structdoca_flow_pipe_cfgpipe_cfg{.namefive_tuple_pipe,.match_maskfive_tuple_mask,.actionsfwd_action,};// 初始化 DOCA Flow 库intretdoca_flow_init(flow_cfg);if(ret!DOCA_SUCCESS){printf(Flow init failed: %d\n,ret);return-1;}// 创建管道Pipelinestructdoca_flow_pipe*pipedoca_flow_pipe_create(pipe_cfg,NULL,NULL,NULL);// 添加具体流表项structdoca_flow_matchmatch{.parser_meta{.port_meta0},.outer{.ip4{.src_ip0x0A000001,.dst_ip0x0A000002}}};doca_flow_pipe_add_entry(0,pipe,match,NULL,NULL,NULL,0,NULL,NULL);6.2 AMD Pensando SDKPensando DPU 基于 P4 可编程数据平面提供灵活的编程能力。P4 编程示例// P4 程序示例简单的 L3 转发 #include core.p4 #include v1model.p4 header ethernet_t { bit48 dst_addr; bit48 src_addr; bit16 ether_type; } header ipv4_t { bit4 version; bit4 ihl; bit8 diffserv; bit16 total_len; // ... 其他字段 bit32 src_addr; bit32 dst_addr; } control ingress(inout headers hdr, inout metadata meta) { action drop() { mark_to_drop(standard_metadata); } action ipv4_forward(bit48 dst_mac, bit9 port) { hdr.ethernet.dst_addr dst_mac; standard_metadata.egress_spec port; } table ipv4_lpm { key { hdr.ipv4.dst_addr: lpm; } actions { ipv4_forward; drop; } default_action drop(); } apply { if (hdr.ipv4.isValid()) { ipv4_lpm.apply(); } } }6.3 其他开发框架框架厂商特点DPDK开源数据平面开发套件用户态网络 I/OSPDK开源存储性能开发套件用户态 NVMeVPPFD.io矢量包处理框架高性能转发IPDKIntel基础设施编程开发套件7. 应用场景与案例7.1 主要应用场景 云数据中心网络加速将虚拟交换机OVS数据路径完全卸载到 DPU实现线速包转发同时释放 Host CPU 资源。标签虚拟化网络加速OVS 卸载 零信任安全架构在 DPU 上执行微分段、防火墙、入侵检测等安全策略实现主机与基础设施的安全隔离。标签安全隔离微分段加密卸载 存储虚拟化与加速通过 NVMe-oF 协议卸载和硬件压缩/解压缩实现高性能分布式存储访问。标签NVMe-oF存储卸载压缩加速 AI 集群网络为 GPU 集群提供高带宽、低延迟的 RDMA 网络支持大规模分布式 AI 训练。标签RDMAAI 训练GPUDirect 5G 边缘计算在边缘节点卸载用户面功能UPF实现低延迟的 5G 数据包处理。标签5G UPF边缘计算低延迟7.2 实际部署案例客户部署方案效果Microsoft AzureAMD Pensando DPU连接每秒CPS性能提升 100 倍Oracle Cloud (OCI)AMD Pensando DPUSDN 网络性能提升 5 倍IBM CloudAMD Pensando DPU裸机服务器 TCO 降低 30%DXC TechnologyAMD Pensando DPU预计节约约 6500 万美元AWS自研 Nitro 系统释放约 30% Host CPU 资源8. 性能指标对比8.1 关键性能指标指标说明典型值高端 DPU网络带宽最大网络吞吐能力400Gb/s - 800Gb/s包转发率每秒处理的数据包数量数 Billion PPS延迟数据包处理延迟 1μs加密吞吐IPSec/TLS 加密性能100Gb/s连接数并发连接处理能力数百万 CPS功耗典型工作功耗50W - 150W8.2 卸载效果对比任务类型纯软件 (CPU)DPU 卸载提升倍数OVS 转发~10 Mpps/核线速 (400G)10-100xIPSec 加密~1-2 Gb/s/核100 Gb/s50-100xNVMe-oF 访问高 CPU 占用零拷贝大幅节省存储压缩~500 MB/s/核20 GB/s40x9. 发展趋势9.1 技术发展方向 更高带宽从 400G 向 800G/1.6T 演进支持 CPO共封装光学降低功耗和延迟 AI 集成DPU 内置 AI 推理引擎智能流量分析异常检测与安全分析 可编程性增强P4 语言普及更灵活的流水线软硬件协同优化 边缘扩展低功耗 DPU 设计5G/6G 网络集成边缘 AI 推理9.2 市场趋势云厂商自研- AWS、Azure、Google 等继续推进自研 DPU/IPU标准化推进- Linux Foundation 等组织推动 DPU 软件标准生态整合- DPU 与 Kubernetes、云原生技术深度集成成本优化- 随着规模扩大DPU 成本持续下降 未来展望预计在未来 5 年内DPU 将成为数据中心的标配组件与 CPU、GPU 形成三U鼎立的计算架构。随着 AI 工作负载爆发式增长DPU 在 AI 集群网络中的作用将愈发重要。10. 参考资料官方文档NVIDIA DOCA SDK 官方文档AMD Pensando DPU 产品页面Marvell OCTEON DPU 产品页面Intel IPU 产品页面技术白皮书NVIDIA BlueField DPU Architecture WhitepaperAMD Pensando DPU Hardware Strategies ComparisonMarvell OCTEON 10 Platform Product BriefHot Chips 33: NVIDIA DPU Architecture Presentation开源项目DPDK - Data Plane Development KitSPDK - Storage Performance Development KitFD.io / VPP - Vector Packet ProcessingP4 Language Consortium本文档整理于 2025 年 3 月仅供学习参考内容基于公开技术资料整理如有错误或更新请以厂商官方文档为准