DOCA STA 存储目标加速
帮助开发者在 BlueField 上构建并调试 RDMA NVMe-oF 存储目标。
文档明确限定目标侧范围、设备与依赖,并要求能力检查、权限确认、用户确认和故障分层;未见凭据窃取、隐蔽外传或破坏性默认行为。扣分在于缺少明确回滚/恢复方案,硬件与存储操作的风险边界仍依赖其他技能,且许可证与来源元数据存在不一致。
配置、构建、测试和调试流程较完整,包含前置条件、错误分类和失败升级路径。静态审查上限适用,未执行关键路径;同时若干 API、路径和版本声明无法在给定材料中独立确认,因此不超过 10 分并扣除测试覆盖、运行确定性和异常反馈证据不足的分数。
受众、触发短语、输入范围、目标侧边界和非适用场景描述清楚,并覆盖 C/C++ 与 FFI。扣分在于中文支持只是未验证的语言中立声明,且 BlueField/DOCA/RDMA/本地 NVMe 硬件要求较高;对中国大陆网络环境的外部文档可达性也没有说明。
采用 SKILL.md、CAPABILITIES.md、TASKS.md 分层,提供加载顺序、依赖、限制、相关技能、版本检查和维护入口。扣分在于缺少明确作者、变更日志和稳定版本;BENCHMARK 报告指出缺少推荐的 Instructions/Examples 区段,并存在目录、许可证和 skill-card 元数据不一致。
流程能直接指导目标建模、能力查询、队列 sizing、构建和分层排障,理论上能完成核心任务。静态审查未验证代表性输出或真实端到端结果;评测报告虽称 PASS,但原始数据集不可用,故仅给予核心任务价值的保守分数。
材料包含符号、命令、错误分类、评测指标和若干审计入口,但评测数据集不可用,且未提供覆盖关键路径的可复现 CI 与测试套件。结论主要依赖技能自身陈述,无法达到多来源或独立复现标准。
- 不要将技能中的 API 名称、版本匹配规则或 DOCA 行为视为已执行验证;应以用户安装的头文件、pkg-config 和运行时能力查询为准。
- 涉及本地 NVMe 磁盘、Flow steering、权限和 BlueField 设备时,应先确认用户意图、影响范围和恢复方案,再执行任何改变硬件或数据路径的操作。
- SKILL.md、BENCHMARK.md、SKILLCARD.yaml 和 skill-card.md 的许可证、路径、版本与评测元数据不一致,发布前应统一并补充可复现测试证据。
- 核心功能依赖 NVIDIA DOCA、BlueField/ConnectX 和 RDMA 环境;对中文输出及中国大陆网络下文档可达性的支持未被证明。
这个 Skill 能做什么,适合哪些场景?
这是面向 DOCA STA 的工程指导技能,服务于在 NVIDIA BlueField DPU 或 ConnectX NIC 上开发 NVMe-over-Fabrics 存储目标的用户。它覆盖目标子系统、命名空间、本地 NVMe-PCI 后端磁盘、RDMA 传输、队列容量查询和错误诊断。该技能只处理目标端加速,不处理 DOCA 安装、原始 RDMA、流规则编程或发起端主机 NVMe 栈。它适合已经安装 DOCA 并拥有可连接远程发起端的开发环境。
引导代理读取本地 DOCA 安装,通过 pkg-config 检查 doca-sta、doca-rdma 及相关目录;指导创建和配置 doca_sta Core 上下文、doca_sta_subsystem 目标、命名空间和 doca_sta_be 后端;使用 doca_sta_cap_is_supported 与 doca_sta_get_max_* 查询设备支持和队列限制;说明如何连接 NVMe-over-RDMA、配置 DOCA Flow 转发,并按生命周期、能力、传输和驱动层分析 DOCA_ERROR_* 及队列进度事件。它提供 CAPABILITIES.md 和 TASKS.md 的加载路由,但不提供可直接构建的源代码、样例、绑定或独立构建清单。
- NVMe-oF 存储目标开发者需要在 BlueField 上创建由本地 NVMe-PCI 磁盘支持的子系统和命名空间。
- RDMA 或 RoCE 环境中的工程师需要确认设备是否支持 DOCA STA 目标加速。
- 开发者需要评估每个连接的管理队列、I/O 队列数量、队列深度或 I/O 大小上限。
- 目标端连接无法建立或 NVMe 读操作返回 DOCA_ERROR_IO_FAILED 时,需要定位 STA、传输或驱动层故障。
- Rust、Go 或 Python 开发者需要围绕 DOCA STA 公共 C ABI 设计非 C 语言绑定。
这个 Skill 有哪些优点和局限?
- 目标范围清晰,覆盖 NVMe-oF 目标端的对象模型、生命周期、能力发现、队列 sizing 和错误分类。
- 明确区分 STA、RDMA substrate 和 DOCA Flow 的职责边界。
- 支持 C/C++ 以及通过 FFI 使用公共 C ABI 的其他语言。
- 包含对 DOCA 版本、设备能力、权限和本地安装布局的检查指导。
- 要求用户预先安装 DOCA,并具备 BlueField 或 ConnectX 硬件及本地 NVMe-PCI 磁盘。
- 只支持 NVMe-over-RDMA,不覆盖 NVMe-over-TCP。
- 不提供可直接运行的 DOCA STA 样例、模板、绑定或独立构建文件。
- 不覆盖发起端主机 NVMe 栈、DOCA 安装、原始 RDMA 或流规则实现细节。
如何安装这个 Skill?
从 NVIDIA/skills 集合安装:npx skills add nvidia/skills --skill doca-sta --yes。也可以指定代理,例如:npx skills add nvidia/skills --skill doca-sta --agent codex。安装后,代理在遇到相关任务时加载该技能。源材料未提供 DOCA SDK 的安装步骤;技能要求 DOCA 已位于 /opt/mellanox/doca。
如何使用这个 Skill?
安装后直接提出具体的目标端任务,例如:“在 BlueField 上配置一个由本地 NVMe-PCI 磁盘支持、通过 NVMe-over-RDMA 接受远程连接的 DOCA STA 子系统。”也可以询问:“这个设备支持 16 个深度为 1024 的 I/O 队列吗?”或:“如何诊断 NVMe 读操作返回 DOCA_ERROR_IO_FAILED?”配置、修改、构建、运行、测试和调试任务应进一步加载 TASKS.md;能力问题应加载 CAPABILITIES.md。
这个 Skill 与同类方案有什么区别?
与 doca-rdma 相比,本技能聚焦 NVMe-oF 存储目标,doca-rdma 是其 RDMA substrate;与 doca-flow 相比,本技能不负责流量 steering;与 SPDK 或 kernel-nvme 主机栈相比,本技能处理目标端加速,而不是发起端或主机端 NVMe。