DOCA PCC 自定义拥塞控制
指导主机侧在 BlueField 上加载和调试自定义 PCC 算法
文档明确限定为主机侧自定义 PCC,要求确认三轴能力、固件槽位、设备端口、参数范围,并说明 stop 与逆序清理;未见凭据窃取、隐蔽外传或破坏性默认行为。扣分原因是会触及真实 DPU、固件和 RoCE 流量,用户确认、变更回滚和数据流披露仍不完整,且许可证元数据存在 Apache-2.0、Apache-2.0 AND CC-BY-4.0 与仓库 NOASSERTION 的不一致。
SKILL.md、CAPABILITIES.md 和 TASKS.md 形成较完整的配置、构建、运行、测试和调试路径,并提供错误分类和失败分层。静态材料没有可执行复现、完整 API 配方或提交的测试套件,部分关键步骤依赖其他技能或外部文档;按静态上限扣分,不能证明运行可靠性超过中等水平。
触发条件、适用对象、排除范围和 custom PCC/default PCC/pcc_counters 的路由边界写得清楚,也说明了 C/FFI 与 DPA 编译约束。扣分原因是目标环境极其专门化,中文支持仅被间接描述为语言中立,且部分核心知识依赖 NVIDIA 海外文档或本地 DOCA 安装,缺乏对中国网络可达性的证据。
采用 SKILL.md、CAPABILITIES.md、TASKS.md 分层,包含依赖、版本检查、限制、相关技能、维护入口和基准报告。扣分原因是缺少明确作者、变更日志和稳定版本策略,SKILLCARD 中版本/签名仍为 TBD,路径和许可证信息也存在不一致。
该技能能直接指导自定义 PCC 的范围判断、三轴前置检查、端口绑定、生命周期和错误分层,核心任务方向明确。扣分原因是它是薄层路由与工作流文档,不提供可直接构建的样例或完整命令/代码;静态审查不能验证最终输出可用性,基准报告还说明原始评测数据不可用。
材料包含固定 revision、错误映射、版本检查点、评测摘要和若干官方参考链接,具备有限审计线索。扣分原因是没有提交的测试套件或真实 CI 覆盖关键路径,基准数据集不可用,许多技术断言仍只能按作者文档接受,静态审查无法独立复现。
- 不要将文档中的工作流视为已验证的可执行配方;在真实 BlueField、固件槽位和 RoCE 流量上操作前,应由用户确认端口、版本、参数、影响范围和恢复步骤。
- 许可证与来源元数据不一致,发布前应核对实际授权、作者、版本和签名状态。
- 核心参考资料依赖外部 NVIDIA 文档;应准备本地文档或可达性替代方案,尤其面向中国大陆用户。
这个 Skill 能做什么,适合哪些场景?
该技能面向从主机侧使用 DOCA PCC 库的开发者,用于将由 DPACC 编译的自定义拥塞控制算法加载到 BlueField DPU。它覆盖每端口 doca_pcc 上下文、算法镜像加载、端口绑定、参数配置、能力发现和 DOCA_ERROR_* 调试。使用前必须具备已安装的 DOCA SDK、主机可见的 DPA、启用自定义 PCC 槽位的固件,以及匹配版本的 DPACC。它不负责编写 DPA 侧算法本体、安装环境、默认固件 PCC 或 pcc_counters 工具。
读取本机 DOCA 安装和 pkg-config doca-pcc 信息,检查 /opt/mellanox/doca 下的库、头文件、示例和应用目录;指导创建 per-port doca_pcc 上下文,加载 dpacc 生成的 doca_pcc_app,绑定 BlueField 上承载 RDMA/RoCE 流量的端口,设置算法参数并启动上下文;使用 doca_pcc_cap_* 检查能力,并按设备、固件、算法镜像和驱动层次分析 DOCA_ERROR_*。
- BlueField 主机侧开发者需要把自定义拥塞控制算法加载到承载 RoCE 流量的端口。
- 开发者需要确认当前 BlueField、DOCA 安装和固件是否支持自定义 PCC。
- 算法加载返回 DOCA_ERROR_NOT_PERMITTED,需要区分固件槽位未启用与权限问题。
- doca_pcc_* 返回 DOCA_ERROR_DRIVER,需要定位 DOCA、固件或 DPACC 生成镜像的故障层。
- 开发者想用 Rust、Go 或 Python 主机封装驱动已单独构建的 PCC 算法镜像。
这个 Skill 有哪些优点和局限?
- 覆盖从能力前置检查到加载、绑定、参数配置和调试的主机侧 PCC 生命周期。
- 明确区分 BlueField DPA、固件自定义 PCC 槽位和 DOCA 能力查询这三个前置轴。
- 清楚划定与 DPA 算法编写、默认固件 PCC 和 pcc_counters CLI 的边界。
- 支持语言无关的主机侧封装,并保留 DOCA 与 DPACC 版本匹配要求。
- 要求用户已经安装 DOCA SDK、DPACC,并拥有满足固件条件的 BlueField 硬件。
- 技能本身不提供预写的 PCC 应用、DPA 算法、构建清单或 bindings。
- 不覆盖 DPA 侧拥塞控制算法设计,也不负责 RDMA/RoCE 流量环境搭建。
- 提供的 SKILL.md 主要是导航和边界说明,详细工作流位于未随提示提供的 companion 文件中。
如何安装这个 Skill?
使用 NVIDIA/skills 仓库提供的 skills CLI 安装指定技能:npx skills add nvidia/skills --skill doca-pcc --yes。也可以省略 --yes,让 CLI 交互式选择技能和安装目标。安装后,相关 Agent 在遇到匹配任务时加载该技能。
如何使用这个 Skill?
安装后向 Agent 提出明确的主机侧自定义 PCC 任务,例如:"将我自己的拥塞控制算法加载到承载 RoCE 流量的 BlueField 端口",或:"doca_pcc 算法加载返回 DOCA_ERROR_NOT_PERMITTED,帮我排查"。执行 configure、build、modify、run、test 或 debug 类任务时,技能会引导读取 TASKS.md;询问 API 能力矩阵时读取 CAPABILITIES.md。具体 API 调用和完整命令序列未在提供的 SKILL.md 中展开。
这个 Skill 与同类方案有什么区别?
与默认固件 PCC 相比,本技能面向需要通过主机侧 doca-pcc 加载自定义算法的场景;默认固件 PCC 不需要该主机侧库。与 pcc_counters CLI 相比,本技能用于加载、绑定和参数化自定义算法,而 pcc_counters 用于运行时计数器检查。