Prhub

vllm-project/vllm · 标签视图

标签列表

聚合结果

scheduler 相关 PR

2026-08-20
缺陷修复 重要性 7.24 洞察度 6.00

KV 校验预留 null block,修复 max_model_len 边界启动后挂起

值得精读。核心价值在于"容量校验必须与分配约束(BlockPool null block 预留)保持一致"的设计原则,以及把边界 bug 从 override 单一路径推广到所有来源的正确做法——在 available_memory 折算点做单点修复,避免多路径各自打补丁。review 中 njhill 关于把扣减提升到 auto-fit 之前的讨论、malaiwah 的混合 Mamba 复现矩阵与 #52530 的分工,都值得参考。

2026-08-19
缺陷修复 重要性 7.10 洞察度 7.00

修复 DP 暂停后 engines_running 锁死,改为观察驱动

值得精读。该 PR 展示了如何把状态机中的“预测”改为“观察”来修复不可恢复的错误,并且用非空洞的测试设计锁住回归。建议重点关注 `run_busy_loop` 中的边沿检测位置和三个守卫条件,以及测试中 `_poll_flag` 的采样策略——它们共同构成了对这类分布式同步问题的可复用范式。

2026-08-18

#52144 [Test] Add pause/resume E2E tests

原始 PR · 作者 floatlibai · 合并时间 2026-08-18 14:46

测试 重要性 7.51 洞察度 5.00

新增 pause/resume 全链路 E2E 测试,双模 MRV1/MRV2 覆盖

值得精读。重点学习两处设计:一是用流式请求 + 线程事件同步生成进度来替代固定延时,解决“200-lie”下时序断言不稳定的难题;二是通过模块级 server fixture 配合 autouse 状态恢复,在 N 个用例与双 MRV 模式下复用服务进程,兼顾覆盖率与运行时间。由于该 PR 是纯测试补充,阅读时建议结合 RFC #45585 的矩阵规划与 #45586 的原方案对比,理解为何要把 pause/resume 从 sleep/wake 大套件中独立出来。

2026-08-17
缺陷修复 重要性 9.36 洞察度 7.00

修复 Mooncake 抢占下 KV 污染与 req_id ABA,改按 store_job_id 引用块记账

值得精读。这是分布式 KV 缓存连接器中异步作业生命周期与 id 复用(ABA)问题的教科书级修复:一是用全局单调 `store_job_id` 替代 req_id 计数,从数据结构上消除旧代 job 影响新一代的可能;二是把块生命周期从“请求完成时延迟释放”改为“job 引用计数归零才释放”,同时覆盖正常完成与抢占两条路径;三是 review 中关于 assert-vs-raise、eviction 释放顺序、try/finally 单出口的讨论都值得关注。对维护 kv-connector 或任何后台线程异步读取 GPU 内存的模块的工程师,建议通读 scheduler.py 与 worker.py 的核心 diff。

缺陷修复 重要性 5.99 洞察度 5.00

忽略同一步调度内过期的 encoder 缓存驱逐通知,修复引擎崩溃

值得精读:这是理解 V1 调度器 encoder cache 生命周期(schedule → can_allocate → 驱逐通知 → worker tensor 回收)的最小闭环案例,修复点小而关键,回归测试精确构造了竞态场景。可借鉴的设计决策是「用最终状态过滤过期事件」:系统在两个时点之间先删除后重建同一资源时,不应把中间态事件外发。建议合入后持续跟踪 Issue #38551,若在压测中仍复现 `Encoder cache miss`,下一步应在调度器层约束 MTP 草稿提议对 encoder cache 的引用。

2026-08-14
性能优化 重要性 6.33 洞察度 5.00

PP 下 sampled-token 广播改异步,XPU 吞吐提升约 33%

值得精读,虽然改动只有 11 行,但展示了「把阻塞通信改为异步 + 延迟 wait 到消费点」的经典重叠手法,并暴露了 Work 句柄生命周期管理这一易错点。建议关注 `_pp_recv_work` 的消费时序,并在未来补一个 PP + async 的时序测试。

功能 重要性 7.97 洞察度 7.00

为多模块 MTP 新增调度与 KV cache 支持

值得精读。核心设计决策包括:用一个 `num_prefill_lookahead` 字段驱动调度边界、编码器偏移、KV 注册延迟与 SWA 保留四个子系统,显著降低多模块 MTP 的横切复杂度;延迟哈希注册体现“先验证后共享”的安全姿态;用 `raise ValueError` 硬校验而非静默降级来保证 prefix-cache hit 的 soundness。建议阅读 `scheduler.py` 的 `_reserve_prefill_lookahead` 与 `kv_cache_coordinator.py` 的 `cache_blocks`,并结合 `SlidingWindowSpec.extra_retained_tokens` 理解 SWA 与重算窗口的交互。

2026-08-13
缺陷修复 重要性 6.64 洞察度 5.00

修复 DP/EP 下 MoE 路由回放缓冲容量与分片捕获

值得精读:routing-replay 的布局契约(DP/EP/SP 组合)是典型易错点,capture() 的四种分支处理可作为并行布局分发的参考实现。重点关注 local_sizes 的 all-gatherv 布局映射、分支优先级、以及 padding 对缓冲预算的影响。