vllm-project/vllm-ascend
[Contribution] 任务 #6:[Perf] TP mismatch 路径重复查询
オープン
#14,147 opened on 2026/08/13
help wanted
Repository metrics
- Stars
- (2,637 個のスター)
- PR merge metrics
- (平均マージ 4d 5h) (30d で 559 merged PRs)
説明
背景
写侧 TP mismatch 路径在 _store_kv_tp_mismatch 中先 lookup() 查已有缓存以过滤 missing keys,过滤后再对 missing keys 调用 put——但 put 内部会再次查询 store 是否已存在同一 key,导致同一批 keys 被 lookup 查询两次。读侧 _build_tp_mismatch_keys_and_addrs 用双重循环构建 keys/addrs,外层按 block、内层按并行维度,存在可合并的冗余遍历。仅 TP mismatch 场景触发。
相关代码:_store_kv_tp_mismatch(写侧先 lookup 再 put,put 内二次查询)、_build_tp_mismatch_keys_and_addrs(读侧双重循环)。
相关代码路径:vllm_ascend/distributed/kv_transfer/kv_pool/ascend_store。
任务
消除 TP mismatch 路径的二次查询与冗余遍历。
- 范围:仅 TP mismatch 场景的读 / 写路径
- 目标:同一批 keys 在单次 save/load 流程内只查一次,读侧循环合并
验收标准
1. 功能正确性
- TP mismatch 场景输出与改动前一致
- 现有单测全绿
2. 性能验证
- TP mismatch 场景下 lookup/put 调用次数下降
- 端到端延迟对比
3. 交付件
- PR + 设计说明 + 性能数据 + 单测
环境约定
- vllm-ascend:最新 main
- 硬件:Ascend NPU(注明型号 + 卡数 + TP/CP/PP 配置)
- 关联任务池:#9079
- 验收人:@赵鹏博
重点关注
- "直接覆盖"语义需确认各 backend(mooncake / memcache)行为一致
任务周期
- 发布:2026-08-12
- 回收:2026-10-31