vllm-project/vllm-ascend

[Contribution] 任务 #6:[Perf] TP mismatch 路径重复查询

オープン

#14,147 opened on 2026/08/13

 (2 件のコメント) (0 件のリアクション) (0 人の担当者)C++ (2,048 件のフォーク)github user discovery
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

コントリビューターガイド