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 队列深度等指标。
五、把五个维度串成一条评估链
实际做基准时,建议按"接口 → 加速器 → 核 → 内存 → PCIe"的顺序逐层定位。先确认接口是否达到线速、队列是否均衡;再看加速器是否成为新的串行点;随后观察核利用率与 L2 命中率;最后检查 DDR 带宽和 PCIe 利用率是否触顶。任何一层先饱和,都会让上层指标失去意义。
需要强调的是,OCTEON 各型号在核数、加速器种类、接口速率和 PCIe 配置上差异较大,上述结构是通用分析框架,具体参数应以对应型号的数据手册和实际平台为准。下一阶段的容量评估,将在这条链路上逐项量化。