2. Marvell DPU 硬件架构解析

Marvell OCTEON 系列 DPU(如 OCTEON 10、OCTEON TX2)在性能基准测试中表现出的差异,往往并不来自单一部件的绝对规格,而是来自核、加速器、网络接口、内存层次与 PCIe 拓扑之间的匹配关系。理解这套架构,是后续做容量评估和瓶颈定位的前提。本节从数据面视角拆解这五个维度,并说明它们如何共同决定吞吐、时延与主机侧可见性能。

一、核集群:通用算力与数据面分工

OCTEON 10 采用 Arm Neoverse N2 核,按集群组织,每个集群共享 L2,多个集群通过一致性互连连接。核的职责不是"跑满所有包",而是承担控制面、异常路径、有状态处理和无法卸载的协议逻辑。基准测试中常见的误区是把所有流量都压到通用核上,此时核数、主频和每核 IPC 决定上限;而一旦把可卸载的加解密、包分类、流量整形交给加速器,核的负载会显著下降,性能曲线出现台阶式变化。

因此评估核维度时,要区分三类负载:纯转发(可被硬件流水线吸收)、有状态处理(依赖核与缓存)、控制面交互(依赖核与 PCIe 往返)。同一颗 DPU 在三类负载下的"有效核数"并不相同。

二、加速器:决定卸载边界

OCTEON 系列集成了多类硬件加速单元,典型包括:加解密引擎(IPsec/TLS 卸载)、正则/模式匹配单元(DPI、包分类)、压缩解压、以及可编程的包处理流水线(PIP/NP 类单元)。这些单元的关键参数是吞吐上限、并发上下文数、以及是否与核共享内存带宽。

卸载不是免费的:数据需要从网络接口进入加速器,再回到核或直接转发,路径越长,时延和内存访问次数越多。判断是否值得卸载,通常看三个条件——该功能是否有硬件单元、单流是否足够大以摊薄上下文切换、以及卸载后是否减少而非增加内存往返。在基准测试中,应分别测量"全核软转发"与"加速器卸载"两条曲线,二者的交点就是该平台的卸载收益拐点。

三、网络接口与内存层次

网络接口侧,OCTEON 通常提供多组以太网 MAC/PCS,支持 10G/25G/100G 等速率,并可通过内部交换或分流把流量导向不同处理单元。接口的线速能力、队列数量、以及 RSS/分流哈希的粒度,直接决定多核能否均衡分担。若哈希粒度太粗,会出现单队列热点,表现为部分核饱和而整体利用率不高。

内存层次是性能评估中最容易被低估的一环。OCTEON 的层次大致为:核内 L1 → 集群共享 L2 → 片上一致性互连 → DDR 控制器 → 外部 DDR。包处理的数据面访问模式是"小包、高并发、频繁元数据读写",因此 L2 命中率和 DDR 带宽比容量更关键。当包尺寸从 64B 增大到 1518B,单位包的内存访问次数下降,吞吐通常上升;反之小包场景下,DDR 带宽和缓存一致性流量会成为硬上限。

四、PCIe 拓扑:主机与 DPU 的耦合方式

DPU 作为 PCIe 端点接入主机,其拓扑决定了主机侧能看到多少队列、能下发多少描述符、以及数据在主机内存与 DPU 之间的搬运成本。关键点包括:PCIe 代际与 lane 数(决定理论带宽)、是否支持 SR-IOV/VF(决定多租户隔离与队列扩展)、以及 DMA 引擎的并发能力。当 DPU 通过 PCIe 从主机内存取包时,PCIe 带宽和往返时延会叠加到端到端时延上;而在 DPU 本地完成转发时,PCIe 只承担控制面流量。

因此同一颗 DPU,在"主机经 DPU 转发"与"DPU 本地卸载"两种拓扑下,基准结果不可直接比较。评估时必须明确流量路径,并记录 PCIe 利用率、DMA 队列深度等指标。

OCTEON DPU 数据面架构与性能影响链 网络接口 10G / 25G / 100G MAC 多队列 · RSS 分流 线速能力 / 队列粒度 → 决定多核均衡度 硬件加速器 加解密 / 模式匹配 压缩 / 包处理流水线 吞吐上限 · 并发上下文 → 决定卸载边界 Arm 核集群 Neoverse N2 · 多集群 控制面 / 异常路径 有状态处理 → 决定通用算力上限 内存层次 L1 → 集群 L2 → 互连 → DDR 控制器 → DDR L2 命中率 · DDR 带宽 → 小包场景硬上限 PCIe 拓扑(主机 ↔ DPU 耦合) 代际 / lane 数 → 理论带宽 | SR-IOV / VF → 队列扩展与隔离 DMA 并发能力 → 描述符下发速率 | 往返时延 → 端到端时延叠加 → 决定主机侧可见性能与流量路径 基准结果:吞吐 / 时延 / 主机可见性能 小包 → DDR 带宽与 L2 命中率主导 | 大包 → 接口线速与 PCIe 带宽主导 卸载开启 → 核负载下降、曲线台阶式抬升 | 哈希不均 → 单队列热点 评估前必须固定流量路径,否则结果不可比 评估要点 ① 区分三类负载 ② 测卸载收益拐点 ③ 记录 PCIe 利用率 常见瓶颈 DDR 带宽饱和 单队列热点 PCIe 往返时延

五、把五个维度串成一条评估链

实际做基准时,建议按"接口 → 加速器 → 核 → 内存 → PCIe"的顺序逐层定位。先确认接口是否达到线速、队列是否均衡;再看加速器是否成为新的串行点;随后观察核利用率与 L2 命中率;最后检查 DDR 带宽和 PCIe 利用率是否触顶。任何一层先饱和,都会让上层指标失去意义。

示例参数(仅用于说明方法,非实测):在 64B 小包、单流场景下,若接口线速为 100G,理论包速约 148.8 Mpps;此时若 DDR 有效带宽为 25 GB/s,而每包元数据加数据访问约 200B,则内存侧上限约 125 Mpps,内存先于接口成为瓶颈。把包尺寸换成 512B,每包访问量上升但包数下降,接口重新成为限制项。这类估算用于判断"该压哪一层",最终仍需以平台实测为准。

需要强调的是,OCTEON 各型号在核数、加速器种类、接口速率和 PCIe 配置上差异较大,上述结构是通用分析框架,具体参数应以对应型号的数据手册和实际平台为准。下一阶段的容量评估,将在这条链路上逐项量化。