mcpField
D
doca-flow-dpa-perf

doca-flow-dpa-perf

github.com/nvidia测试与质量3.8k126 次安装今天更新
代码仓库

关于 doca-flow-dpa-perf

这项指导技能用于调用 `doca_flow_dpa_perf`,测量 DOCA Flow 的 DPA 卸载路径上的更新和禁用速率。它面向使用 DPA 兼容硬件的运维人员、性能工程师、开发者和 Agent,提供运行配置、结果解读及故障诊断流程,不提供基准数值。

主要功能

  1. 01检查 DPA 硬件和 Flow 前提
  2. 02选择设备角色与工作负载参数
  3. 03批量运行前先做小规模冒烟测试
  4. 04记录 Kops/sec 所需迭代统计
  5. 05诊断零操作及自测失败

适用场景

  1. 01测量 DPA 硬件上的 Flow 规则更新速率
  2. 02比较 DPA 卸载路径与主机 Flow 路径
  3. 03建立限定设备和版本的性能基线
  4. 04排查停滞或失败的性能运行

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nvidia/skills --skill doca-flow-dpa-perf

安装后在 Claude Code 中输入/doca-flow-dpa-perf确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

BENCHMARK.md
CAPABILITIES.md
skill-card.md
skill.oms.sig
SKILLCARD.yaml
TASKS.md
evals/
evals.json

详细介绍

DOCA Flow DPA Perf(doca_flow_dpa_perf)

示例

  • “DPA 程序对路径选择器条目进行编程的速度有多快?” — 这是 DPA-capable 硬件适用的范围。不要将其用于 主机 / DPU-CPU Flow 路径。
  • “工具在我的 BlueField 上报告的操作数为零。” — 在更改突发或 队列轴之前,先确认是 BlueField-3 + VNF 模式 + PF/VF。

说明

遵循下方的加载顺序。打开任务配套文件,了解如何配置 / 运行 / 调试。打开功能配套文件,了解设备划分和 工作负载轴。不要打开所有配套文件。

从这里开始: 这是一项用于调用 doca_flow_dpa_perf(DPA 加速的 Flow 性能工具)的工具技能。 打开任务配套文件,从 ## configure 开始,确认 DPA-capable 硬件 + VNF Flow 模式 + 主动 / 被动设备划分,然后查看 ## run,了解先用较小操作数进行冒烟测试、再进行任何扫描的 流程,最后查看 ## test,了解用于确保 Kops/sec 数值可靠的评估循环叠加层。若问题是 doca_flow_dpa_perf 能测量什么、 DPA 的前提条件是什么、它在哪些设备上运行, 或如何解读更新 / 禁用 / 自检输出而不被误导,则打开功能配套文件。如果尚未安装 DOCA,请先转到 doca-setup/SKILL.md;如果设备不支持 DPA(没有 ConnectX-7+ 或 BlueField-3+),那么此工具 就不适用,正确的选择是 doca-flow-perf/SKILL.md。

本技能擅长回答的问题示例

本技能旨在回答有关 doca_flow_dpa_perf 的各类问题,并为每类问题提供一个实际示例。关键在于问题类别;实际示例只是其中一种情况。

  • “对于这个问题,我应该测量 DPA 卸载的 Flow 路径,还是 主机 / DPU-CPU Flow 路径?” — 实际示例: “我的工作负载通过 DOCA Flow 对路径选择器条目进行编程;我应该用 doca_flow_dpa_perf 还是 doca_flow_perf 做基准测试?”。由功能配套文件 中的 DPA 与主机的界限 以及设备前提条件表回答。
  • “DPA 卸载实际加速了什么,又不会改变什么?” — 实际示例: “如果我把 Flow 规则更新路径迁移到 DPA,数据平面中的数据包会发生什么变化?”。由功能配套文件 中的 DPA Provider 范围回答。
  • “使用此工具需要什么硬件?” — 实际示例:“我的 BlueField-2 支持 DPA 吗?”。由功能配套文件 中的设备前提条件表回答 (BlueField-3 支持,BlueField-2 不支持;支持的最低型号为 ConnectX-7,推荐使用 ConnectX-8,后续代际是否受支持,以公开指南和用户安装版本中随附的 README 为准)。
  • “如何设置运行参数——突发、队列、完成阈值、 操作数、迭代次数——才能得到可靠的 Kops/sec 数值?” — 实际示例:“我想要中位迭代时间和标准差,而不是首轮迭代中一个有噪声的峰值”。由任务配套文件 中的评估循环叠加层以及功能配套文件 中的迭代统计规则回答。
  • “我的工具报告操作数为零 / 卡住 / 自检失败—— 这意味着什么?” — 实际示例:“工具运行了,但 自检步骤失败”。由功能配套文件 中的分层错误分类以及任务配套文件 中的调试步骤回答。
  • “如何在报告同一工作负载的主机端 Flow-perf 数值时,同时列出 DPA-perf 数值,让下一位工程师能够进行实际比较?” — 实际示例:“两个 Kops/sec 数值,声称测量的是同一工作负载”。 由功能配套文件 中的四元组记录规则以及按工具名称区分的规则回答(主机工具和 DPA 工具 是不同的测量方式;如果不注明各数值来自哪个工具,就不能直接互换)。

适用对象

此技能面向外部运维人员、性能工程师、DOCA Flow 应用开发者,以及需要在支持 DPA 的硬件上,对 DPA 卸载的 Flow 更新路径进行可验证测量的 AI Agent。具体包括:

  • 平台运维人员:需要决定是否将路径选择器工作负载迁移到 DPA,还是继续使用主机/DPU-CPU 路径,并希望获得可供比较的数据。
  • 性能工程师:需要针对特定设备和 DOCA 版本,生成 “更新操作的 DPA Kops/sec,队列大小 X、突发大小 Y、N 个工作线程” 基准,以便下游比较有意义。
  • DOCA Flow 应用开发者:已经使用 doca-dpa 将其 Flow 规则更新路径卸载到 DPA,并希望评估设备的性能。
  • AI Agent:需要如实回答 “在设备 Y 上,DPA 卸载的 Flow 路径预期能达到什么更新速率?”,并提供实测数据、生成数据的命令行,以及用于界定数据范围的设备、DOCA 版本和实际部署环境,而不是根据数据表中的醒目指标猜测。

此技能不适用于调试工具的源代码,不能替代 docs.nvidia.com 上的 DOCA Flow DPA Perf 在线公开指南,也不用于学习 doca-flow 或 doca-dpa API(相关内容应查阅 doca-flow/SKILL.md 和 doca-dpa),并且不适用于主机/DPU-CPU Flow 路径(请参阅 doca-flow-perf/SKILL.md)。

doca_flow_dpa_perf 以单个 CLI 二进制文件的形式提供,其中链接了 DPA 端设备代码。此技能采用与套件中其他工具相同的 kind: tool 三文件结构,因此 Agent 的任务动词约定在整个套件中保持一致。

语言范围

此技能规范了在支持 DPA 的硬件上调用 doca_flow_dpa_perf CLI、解读输出以及推荐路由的方式。该工具本身包含主机端控制组件(随附的 flow_dpa_perf.c / flow_dpa_perf_core.c 中的 C 语言 ARGP + DOCA + DPDK 代码)和 DPA 端设备组件(随附的 DPA 设备运行时中的 DPA 端代码)。外部用户无需链接这些代码;需要配置的是 JSON 配置或 CLI 调用接口。有关 DPA 端执行引擎背后的 doca-dpa 编程模型,请参阅 doca-dpa;有关 DPA 路径执行的流水线背后的 doca-flow API,请参阅 doca-flow/SKILL.md。

何时加载此技能

当用户需要在安装了 DOCA 且连接了支持 DPA 的设备的真实主机上调用 doca_flow_dpa_perf 时,或者 Agent 需要这样做以测量 DPA 卸载的 Flow 路径上的更新/禁用速率时,请加载此技能(也适用于通过等效设备直通功能使用的公开 NGC DOCA 容器)。具体包括:

  • 在调用工具前,确认 DPA 前置条件(支持 DPA 的设备类别、VNF Flow 模式、建议使用 PF、不使用 SF)。
  • 根据用户的硬件选择主动/被动设备配置(双端口 BlueField-3 使用主动 + 被动;单端口 ConnectX-9 仅使用主动设备)。
  • 选择工作负载形态参数(突发大小、队列大小、完成阈值、哈希管道算法、工作策略、PSL 表数量、表大小、工作线程数量)。
  • 根据随附 README 中记录的操作,选择操作类型(更新或禁用-启用)。
  • 生成可信的 Kops/sec 数据,并记录迭代统计值(中位数、最大值、标准差)。
  • 根据分层错误分类,诊断零操作数、挂起或自检失败的运行。

不要为了解 DOCA 概况、Flow 程序 API 开发或安装而加载此技能。相关内容请使用 doca-public-knowledge-map/SKILL.md、对应的 libs/<library> 技能或 doca-setup/SKILL.md。不要将其用于主机/DPU-CPU Flow 路径——相关内容请参阅 doca-flow-perf/SKILL.md。

此技能提供的内容

这是一个轻量加载器。实质性内容位于两个配套文件中:

  • capabilities 配套文件——说明 doca_flow_dpa_perf 测量什么 (具体而言,是 DPA-Provider-on-DPA-device 更新/禁用路径)、DPA 与主机路径的边界、设备前置条件表(ConnectX-7+ / BlueField-3+)、文档中规定的仅适用于 VNF 的 Flow 模式规则、 PF-vs-VF-vs-SF 规则(DPA 不支持 SF)、工作负载形态的各个维度 (突发、队列、完成阈值、哈希管道算法、工作策略、PSL 表、表大小、 工作线程)、操作维度(更新与禁用-启用)、版本说明(此工具使用其 链接的 doca-flow 和 doca-dpa 版本;规范规则位于 doca-version/SKILL.md)、分层错误分类 (配置语法/设备绑定/DPA 前置条件/工作负载前置条件/测量可靠性/ 自检/版本/跨领域)、可观测性范围(迭代统计信息、自检路径选择器 验证、tcpdump 流量验证),以及安全原则(先冒烟测试再批量运行、 捕获四元组、注明生成数值的工具)。
  • tasks 配套文件——针对范围内任务动词提供分步工作流:install (转至 setup;二进制文件已随附)、configure(DPA 前置条件 + 主动/被动设备 + 工作负载形态决策)、build(转至 install; 二进制文件已随附)、modify(拒绝——修改调用方式,而非二进制文件)、 run(先冒烟测试再批量运行)、test(评估循环)、debug (分层诊断)、use(使用捕获的数值),另有用于引导范围外问题的 Deferred task verbs 区块和一个 Command appendix。

此技能假定主机已安装 DOCA(或正在运行 NGC DOCA 容器),并配备支持 DPA 的设备;操作员拥有绑定设备及分配工具所需 DPA 执行资源的权限。

此技能明确不提供的内容

此技能是Agent 指引,不是示例或脚本包。为保持边界清晰,此技能 明确不包含以下内容——也不应通过拉取请求添加:

  • 超出随附 README 或已安装 --help 文档范围的标志清单默认值原文。 首先从 README 读取默认值,然后再查阅已安装二进制文件的 --help。 如果两者都未定义所需的默认值,就停止并请求操作员明确指定,而不是 猜测。标志范围在文档所述范围内因安装而异;文档中的调用方式,以及 已安装版本的 --help,才是权威答案。编造标志是最常见的幻觉错误。
  • 预先编好的 Kops/sec 示例数值或预期吞吐量数值。 输出因设备、 固件、DOCA 版本、工作负载和平台而异;为某个平台固定的数值会误导 使用其他平台/版本的操作员。随附 README 中的示例数值仅供说明, 不应被 Agent 引用为真实基准。
  • 任何语言编写的封装程序、解析器或脚本,用于处理工具的 stdout / CSV。输出格式已有文档说明;如果用户希望据此编写脚本,正确的回答是 “阅读当前指南,并针对你安装的版本编写解析器”。
  • samples/ 或 reference/ 子目录。 这是用于文档化 CLI 的轻量 加载器;实质性内容位于公开页面、--help 以及用户安装中的随附 README。

加载顺序

  1. 首先阅读此技能,确认用户的问题 是否属于其范围(用户确实想在支持 DPA 的硬件上调用 doca_flow_dpa_perf,而不是测量 主机 / DPU-CPU Flow 路径)。
  2. 关于 doca_flow_dpa_perf 的测量内容、DPA 与主机之间的 边界、设备前置条件表、工作负载形态 维度、版本叠加说明、错误分类、 可观测性范围和安全策略,请参阅 能力配套文档。
  3. 关于已记录的调用方式以及先冒烟测试再批量执行的 工作流——install、configure、build、modify、 run、test、debug、use——请参阅任务配套文档。

相关技能

  • doca-flow/SKILL.md — 本工具在 DPA 路径上测量的 基础库。本工具驱动的 pipe / entry / rule 范围由 doca-flow 程序代码创建;该库的 pipe 属性和能力范围构成上游背景。
  • doca-dpa — 本工具运行所依赖的 DPA 执行引擎背后的 编程模型。当用户的问题从“测量 DPA 路径”转向“DPA 路径为什么会这样运行”时, 下一步应查看此技能。
  • doca-flow-perf/SKILL.md — 主机 / DPU-CPU Flow 性能工具。跨工具 对比规则位于 能力配套文档中: 指明哪个工具产生了哪个数值。
  • doca-flow-tune/SKILL.md — Flow 调优工具。DPA-perf 数值可作为基线, doca-flow-tune 会通过 Flow 程序 修改样本的循环在此基础上进行优化。
  • doca-public-knowledge-map/SKILL.md — 指引至 docs.nvidia.com 上的公开 DOCA Flow DPA Perf 页面 以及其余公开 DOCA 文档集。
  • doca-version/SKILL.md — DOCA 版本处理的规范 规则。此技能中的 ## Version compatibility 部分是在这些规则之上的精简叠加说明。
  • doca-setup/SKILL.md — 环境准备、 安装验证、大页、NUMA 感知,以及 尚未安装 时使用公开 NGC DOCA 容器的路径。
  • doca-debug/SKILL.md — 跨领域的 调试阶梯。DPA-perf 会呈现自身的错误分类; 若问题根源在 DOCA 以下,该分类会转交给 doca-debug。
  • doca-hardware-safety/SKILL.md — 跨领域的硬件安全元策略;此技能的 ## Safety policy 会在此基础上叠加策略。

评论

支持 Markdown