首页
关于
Search
1
PacketForge 博客部署文档
16 阅读
2
深入 SONiC 与 SAI:从命令行到芯片的完整数据之旅
14 阅读
3
DPU 与 CPO:AI 时代的网络基础设施革命
11 阅读
4
Broadcom芯片
10 阅读
5
DPDK高性能网络
10 阅读
默认分类
交换芯片
高性能网络
AI算力网络
WebSocket高性能项目
DPDK 成长路线
①性能工程基础
②DPDK 源码深读
③用户态协议栈
④软件交换与 SONiC
⑤PCIe、虚拟化与 DPU
⑥面试与复盘
登录
Search
标签搜索
DPDK→DPU 学习路线
P0
P1
P2
P3
P5
PCIe
P4
P6
libmtcp
NUMA
mTCP
OVS
SONiC
SAI
DPU
perf
gdb
EAL
mempool
PacketForge
累计撰写
53
篇文章
累计收到
3
条评论
首页
栏目
页面
关于
最新文章
热门文章
评论最多
点赞最多
2026-08-18
P6-01 · 自研 DPU 数据面架构设计(精华版):一张图装下 fast path、三层卸载与多租户
对应路线图:Phase 6 (Day 169-196) | 母本收口 Phase P6 (Day 456-546)设计文档本体:code/dpu-arch-design/(六章骨架,正文随 Day 435-441 任务补完)| DPDK 24.11.6 LTS | 内核对照 v6.6上一篇:P5-06 DPU 厂商调研 | 下一篇:P6-02 面试题库精选一句话定位把前 196 天学的东西——PMD 轮询、mempool、PCIe/VFIO、vDPA、rte_flow offload——收敛成一份能拿去 DPU 面试的架构设计。本文是 30 页设计文档的精华版:先说结论,再给推导。文档现状(先说实话)code/dpu-arch-design/chapters/ 下已有六章骨架:motivation / dataplane / offload / controlplane / multitenant / performance,与路线图 W63(Day 435-441)的写作任务一一对应。本文先发精华版,30 页完整版随这些 Day 任务逐章补完——这就是 P6 收口阶段"先提炼、后展开"的打法。Ch.1 Motivation:云厂商为什么要 DPU三个痛点,一个都不难讲:CPU 被网络吃掉。公有云上虚拟网络(隧道封装/加解密/防火墙)吃掉的 CPU 是"卖不出去的算力",AccelNet(NSDI'18,P5 已读)的出发点就是把网络从租户 CPU 剥离。租户隔离。纯软件交换的隔离性依赖内核正确性,邻居打流会影响你的时延——性能不可预测。按量计费需要确定性。P99 时延才是云厂商卖的东西,抖动比吞吐更致命。卸载原则一句话:高频机械动作卸载,有状态低频动作留 CPU。L2/L3 查表、隧道封装、ACL 匹配是机械动作;首包学习、异常处理、TCP 状态机不是。这个"原则"不是拍脑袋:P1 读过 PMD 轮询(高频动作交给硬件 DMA+DD 位协议,P1-05)、P5 实测过 rte_flow offload 的 SW/HW 路径差异(P5-05)——每一层"该不该卸"的判断都有源码和实测数据垫底。Ch.2 数据面:fast path / slow path 的边界这是 OVS upcall 模式的硬件版(P3-01 OVS-DPDK 已经打过底):slow path(SW 层):首包、异常包、BGP 控制包上送 ARM 核上的 DPDK 数据面,学习出完整转发决策;fast path(HW 层):学习结果编译成流表条目下发硬件,后续包在 ASIC 里完成 L2/L3/VXLAN/ACL/NAT,零 CPU 参与;流表有容量上限 → 老化/驱逐由 FW 层上报,SW 层决策。母本 uNOS 设计里"RSS + Graph Pipeline + per-core 流缓存"(uNOS_DESIGN_SPEC.md 2.2 节)就是 SW 层数据面的现成实现——DPU 的 slow path 就是一台浓缩的 uNOS。Ch.3 卸载分层:HW / FW / SW 三层各干什么层载体职责判据HWASIC(TCAM/LPM/counter/meter)线速匹配与改写确定性高、容量足、高频FWFirmware流表编排、DMA 引擎、计数器/老化上报HW 与 SW 之间的机械桥梁SWARM cores(DPDK/OVS)首包/异常/协议状态机、控制代理可编程、低频、有状态判断"什么该卸载"问自己三个问题:这条路径上每个包都要做吗?容量够吗?语义稳定吗? 三个都是"是"就下硬件。内核侧的同类接口是 devlink(卸载配置通道,母本 W63 Day 436 对照任务)——DPU 的控制面接口就是它的加强版。Ch.4 控制面接口:借鉴 SONiC SAI 的思路编排器(云平台)→ 北向 gRPC/Netconf → 控制代理(SW 层进程)→ 南向翻译成 HW/FW 规则。关键设计:统一抽象、厂商无关:SAI 的思路(P3-04 已读)——控制代理之上只有对象模型,之下适配各家 DPU SDK;WARM 式热重启:规则全部可重建,重启控制代理不丢数据面状态;事件上报:计数器、流表满、链路事件经控制代理回推编排器——sairedis 的 Pub/Sub 模式(P6-02 Q15 详讲)。Ch.5 多租户隔离:SR-IOV / SF / vDPA 三选一方案隔离边界性能数量/迁移VF 直通(SR-IOV)IOMMU 页表级最好(裸金属级)VF 数量受限、热迁移难SF(Scalable Function)软硬协同的轻量 PF接近直通数量多,BlueField 主推vDPA 半虚拟化virtqueue + IOMMU好(virtqueue 卸载进硬件)可热迁移(P5-04 vDPA)选择逻辑:要隔离和极致性能 → VF;要密度 → SF;要云化运维(迁移/快照)→ vDPA。三个都是"Host CPU 零参与数据面"。多租户不只是"分得开",还要"分得稳":VF 之间的 P2P 攻击靠 ACS 挡(P4 PCIe 扩展能力已读),DMA 越界靠 IOMMU 页表挡(P5-02 VFIO)——隔离边界最终落在硬件上,这是 DPU 架构答辩的高频追问点。Ch.6 性能预算模型:PPS / 带宽 / 时延怎么算① PPS 换算:以太网 64B 小包上线上是 84B(8B 前导 + 12B 帧间隔),所以 10G 线速 = 10e9 / (84×8) ≈ 14.88 Mpps;100G = 148.8 Mpps。附录 B 的单核目标就是这么来的。② 每包 CPU 预算:单核 2.5GHz / 14.88 Mpps ≈ 168 cycles/pkt(10G);100G 分 8 核 → 148.8/8 ≈ 18.6 Mpps/核 ≈ 134 cycles/pkt。超过这个预算就掉速——所有热路径优化(预取、批量、免锁)都是在省这个预算。反过来推就是"我要卸掉多少才能保住线速":软件查一次 cuckoo hash ≈ 几十 cycle,查两次就吃掉 1/3 预算,所以 L3 查表必须下硬件。③ 时延预算(三项相加):时延 ≈ 轮询粒度 + PCIe 往返 + 查表排队 轮询粒度 = burst 大小 / 线速 = 32 包 / 14.88 Mpps ≈ 2.15μs PCIe 往返(DMA 读描述符 + 写数据)≈ 1μs fast path 目标 < 10μs;slow path 首包 10-100μs 可接受(只发生一次)④ PCIe 带宽:100G 网卡双向 200G 流量 + 描述符/元数据开销。Gen3 x16 可用 ≈126 Gbps——不够;Gen4 x16 ≈252 Gbps——够,但别在 DPU 上再挂 200G NVMe。带宽预算是 DPU 板卡设计的第一道闸,这个结论在 P5-01(DMA/IOVA)就埋过伏笔。面试 3 问什么该卸载到 DPU,什么不该? → 高频机械动作(查表/封装/ACL/计量)卸载;首包/异常/协议状态机留 CPU。判据三问:每个包都做吗?容量够吗?语义稳定吗?fast path 和 slow path 边界怎么划? → 首包/异常上送 SW 学习,下发硬件流表,后续包硬件线速;流表满/老化由 FW 上报 SW 决策——OVS upcall 模式的硬件版。100G 卡配什么 PCIe 才跑得满? → 双向 200G > Gen3 x16 的 ~126G,需 Gen4 x16(~252G);顺带报出 148.8 Mpps 与 134 cycles/pkt 两个预算数。🔧 行动清单(对应母本 Day 456-546)把 code/dpu-arch-design/ 六章骨架补完至 30 页,每章配图(W63 Day 435-441 任务);做 slides + 答辩稿,找同行评审 + 两轮模拟面试(W64 Day 442-448);性能预算全部数字与母本附录 B 基线对表,实测数据落 perf-data/;抽出 20 道 DPU 架构题并入面试题库(Day 522 任务),本文的"面试 3 问"是种子题。下一篇:P6-02 · 面试题库精选:内核 vs DPDK 对照 20 题
2026年08月18日
3 阅读
0 评论
0 点赞
2026-08-18
P5-06 · DPU 厂商调研:BlueField / Pensando / Nitro / 国产,一张矩阵看清格局
对应路线图:Phase 5 (Day 141-168) | DPDK 24.11.6 LTS | 内核对照 v6.6本篇为厂商调研,无源码引用,所有参数均基于公开文档/官方资料整理;厂商产品迭代快,具体参数以官方文档为准上一篇:P5-05 rte_flow offload 实测 | 下一篇:P6-01 DPU 架构一句话定位学完 DMA/IOMMU、VFIO、virtio/vhost、vDPA、rte_flow 这五块积木,现在是时候回答:市面上谁把这些积木拼成了产品? 本篇用"芯片形态 × 开放度"两张坐标轴给主流 DPU 定位,为 P6-01 的自研架构设计提供选型参照。对比矩阵(基于公开文档整理)厂商代表产品芯片形态网络能力软件栈/开放度备注NVIDIABlueField-316×Cortex-A78 + ConnectX-7 Dx 加速器400GbE / NDR InfiniBandDOCA SDK(开放,类 CUDA 生态)商用 DPU 事实标准;DPDK 25.03+ 需 -mcpu=cortex-a78ae 编译AMDPensando 系列(含 Pollara 400)P4 可编程流水线400G 产品族SSDK(P4 软件定义硬件)主打可编程性与 AI 网络(UEC RDMA)AWSNitro 系统Annapurna 自研 ASICv5 单卡 200G(公开报道)不对外销售,封闭云厂商自研标杆:网络/EBS/安全多卡分工,SRD 协议中科驭数K2-Pro自研 KPU + 16 簇 128 核 NP2×100G,80Mpps(官方口径)HADOS 平台(类 DOCA),兼容 DPDK/SPDK国内首颗量产三代 DPU(2024 发布);适配鲲鹏/海光/飞腾云脉芯联metaFusion / xFusion50自研 DPU 芯片RDMA 智能网卡端到端拥塞控制、GPU Direct RDMA多场景 RDMA 与 HPC 定位大禹智芯Paratus 1.0/2.0Arm SoC(2.0 加 FPGA)10G/25G → 100G强调软件开放性,支持 VirtIO虚拟化/存储卸载 + 独立 BMC芯启源DPU 系列(含 Agilio)NP-SoC(Arm + RISC-V NP)目标 400G全栈自研,Chiplet 路线Agilio 产品公开资料:100G、28MppsIntelIPU E2000(Oak Springs Canyon)Arm SoC + 加速器200GInfrastructure Programmer Dev Kit公开报道 2025 年已停售,注意选型风险厂商逐个看NVIDIA BlueField-3——路线最稳的"通用计算 + 网络加速"双引擎:Arm 侧跑控制面/存储/安全代理,ConnectX-7 Dx 侧做流量卸载和加解密。生态是其真正护城河:DOCA 对标 CUDA 的打法,DPDK 也为 BF3 单独适配(25.03+ 的 -mcpu=cortex-a78ae 编译选项)。BlueField-4 按公开报道会引入 GPU 加速,向 AI 算力网收敛。AMD Pensando——"软件定义芯片"路线的旗手:P4 流水线让客户自己定义匹配/动作逻辑,SSDK 附送参考流水线(与 SONiC 集成)。Pollara 400 在 Hot Chips 2025 披露了 UEC-ready RDMA 细节(adaptive spraying、SACK 等),主打 AI 集群东西向网络。适合数据面协议需要频繁重定义的场景。AWS Nitro——不卖产品,卖的是"DPU 该解决什么问题"的参考答案:网络/EBS/本地存储多卡分工、SR-IOV 直通、SRD 协议替代 TCP、密钥只在 Nitro 卡受保护内存中明文存在。三代进化路线是云厂商"性能翻倍、成本砍半"打法的范本:Nitro 代际网络能力(公开报道)说明v110Gbps / 1.2 Mpps首代,验证"卸载虚拟化"可行v4100Gbps / 15 Mpps配套 Graviton2/3 时代v5单卡 200Gbpsre:Invent 2022 发布;较上代晶体管翻倍、PCIe 带宽翻倍、每瓦性能提升至多 40%国产阵营——共同点是"对标 BlueField、卡位信创":中科驭数 K2-Pro 是公开资料最完整的一家(官方口径 2×100G、80Mpps、HADOS 平台,2026 年计划量产 K3);云脉芯联聚焦 RDMA 与 GPU Direct;大禹智芯走 Arm+FPGA 强调开放性;芯启源押注 Chiplet 与全栈自研。集体短板是软件生态厚度——DOCA 有数千家开发者的沉淀,国产 SDK 目前还在"能跑通 demo"到"能承载生产"之间。定位矩阵三个观察:右上角(开放 + 专用加速)是商业化的主战场:BlueField 和 Pensando 都走"卖芯片/卡 + 卖 SDK"路线,生态壁垒在软件栈(DOCA/SSDK)而不在硅片。云厂商路线完全相反:AWS Nitro 不对外卖、不开源核心,把 DPU 当内部基础设施用——性能和成本极致优化,但外人无法复用。阿里(CIPU)、腾讯(玄灵)同理,公开细节更少。国产玩家集体走"对标 BlueField、补齐生态"路线:芯片形态多元(KPU/NP/FPGA/Arm 混合),统一卖点是国产 CPU 适配 + 金融/信创场景落地;差距主要在软件生态厚度和代际带宽(100G-200G 为主)。选型决策树(个人推演,供 P6 参考)纯软件转发够用(≤25G、单租户、协议栈简单)→ 不上 DPU,x86 + DPDK 就是答案(uNOS Home CPE 归此类)。要卸载但预算/生态受限(25G-100G,虚拟化网络/存储加速)→ 国产 25G 智能网卡或二手 BlueField-2,先验证 vDPA/rte_flow 能力集。高吞吐 + 重协议定制(100G+,AI 集群、自定义拥塞控制)→ Pensando 类 P4 可编程路线,或 BlueField-3 + DOCA。自用规模够大(十万级服务器)→ 学 AWS:自研 ASIC,成本与安全都自己说了算。🐧 内核对照:内核的 DPU 钩子已经就位本系列前五篇学的内核设施,就是厂商 DPU 全部要对接的接口面:IOMMU(dma-iommu.c)保证设备 DMA 隔离;VFIO(vfio_pci_core.c)把加速器安全交给用户态;vDPA(vdpa.c + virtio_vdpa.c)把 virtio 数据面卸载进硬件;cls_flower(net/sched/cls_flower.c)承担内核侧 offload 判断。评判一张 DPU 的 Linux 生态成色,看它在这四个接口上的内核驱动质量即可——这是我在 P6 自研架构里评估软硬分工的依据。面试 3 问云厂商为什么要自研 DPU 而不是直接买 BlueField? → 三个理由:成本(Nitro 摊薄到百万级实例)、安全(硬件根信任自己掌握,AWS Nitro 明文密钥只存在于 Nitro 卡受保护内存)、定制(SRD 这类自家协议只有自研硅片能做)。P4 可编程 DPU(Pensando)和 Arm 通用 DPU(BlueField)的本质区别? → P4 把匹配/动作流水线暴露给软件重定义,数据面性能确定、硬件资源固定;Arm 路线数据面灵活度低(依赖固定加速器),但通用计算(控制面、存储、安全代理)无上限。选型先问"数据面要多大灵活度"。国产 DPU 选型最该验证什么? → 不只看带宽数字,看三样:内核驱动在 mainline 的成熟度(vfio/vDPA/rdma 四件套)、DPDK 适配程度(PMD 是否支持 rte_flow offload 能力集)、软件栈生态(有没有类 DOCA 的 SDK 和真实客户案例)。🔧 动手调研(替代实验)本模块没有可跑的硬件实验,产出两份调研文档到 perf-data/P5/:perf-data/P5/06-vendor-matrix.md:上表 + 每家厂商的官方产品页/白皮书链接归档,标注查阅日期(参数会过时,日期是可信度的一部分)。perf-data/P5/06-uNOS-fit.md:结合 uNOS 双产品定位做选型推演——Home CPE(J3455):不需要 DPU,纯软件 DPDK 转发足够(P1 数据已证明单核可打满 10G);Cloud Edge(T140):若有 25G+ 卸载需求,优先评估二手 BlueField-2 / 国产 25G 智能网卡,验证点就是本篇面试第 3 问的三件套。来源(检索于 2026-08):NVIDIA DOCA 设备支持列表 | 中科驭数 K2-Pro 官方页 | AMD Pensando 博客 | ServeTheHome: Pollara 400 @ Hot Chips 2025 | AWS Nitro 安全设计白皮书 | ServeTheHome: AWS Nitro v5 | 国产 DPU 格局盘点(eet-china)下一篇:P6-01 · 自研 DPU 数据面架构设计
2026年08月18日
2 阅读
0 评论
0 点赞
第 1/1 页 · 本页 2 条 · 共 2 条