重构 hicache 解码端卸载管理器,简化状态簿记,消除潜在内存泄漏。
该 PR 是一个高质量的、必要的重构。它解决了之前实现中的几个设计问题,提升了代码的健壮性和可维护性。建议精读,特别是 `_release_finished_req` 方法的新逻辑以及弱引用机制如何与 `ongoing_offload` 中的强引用协同工作。这对于理解 hicache 模块的内部工作原理和防止未来引入类似的内存管理问题非常有价值。
标签列表
聚合结果
重构 hicache 解码端卸载管理器,简化状态簿记,消除潜在内存泄漏。
该 PR 是一个高质量的、必要的重构。它解决了之前实现中的几个设计问题,提升了代码的健壮性和可维护性。建议精读,特别是 `_release_finished_req` 方法的新逻辑以及弱引用机制如何与 `ongoing_offload` 中的强引用协同工作。这对于理解 hicache 模块的内部工作原理和防止未来引入类似的内存管理问题非常有价值。
修复多模态特征传输失败导致的进程级崩溃,实现跨 rank 错误共识与资源安全释放。
本 PR 是一个**高价值的关键 bug 修复**,强烈建议精读。它解决了一个可能导致生产环境进程崩溃的严重问题,并引入了严谨的分布式错误处理模式。核心设计决策——延迟错误、跨 rank 共识、防御性资源释放——对于理解 SGLang 如何处理多模态输入失败非常有启发性。建议重点审查以下方面:1) `scheduler.py` 中 `_materialize_cuda_vmm_inputs` 和 `_gather_vmm_materialization_errors` 的错误收集与同步逻辑;2) `mm_utils.py` 中 `ShmPointerMMData` 的 `__setstate__` 和 `close_and_unlink` 方法如何安全处理各种失败场景;3) `schedule_batch.py` 中 `release_transport_proxies` 的实现及其在 `from_processor_output` 和 `set_finish_with_abort` 中的调用点。新增的单元测试覆盖了核心失败路径,值得参考。
补充4个测试fixture的kv_index_translator字段,适配HybridAttnBackend接口变更。
本PR是典型的“测试配套修复”,虽然改动微小,但值得快速阅读,特别是对于维护`HybridAttnBackend`或关注测试与生产代码一致性的开发者。它展示了在接口变更后如何系统性地更新测试fixture。
原始 PR · 作者 huangtingwei9988 · 合并时间 2026-09-01 11:40
新增 Mooncake 后端外部链接器,支持跨节点 KV 加载
值得精读。本 PR 展示了如何将外部分布式存储接入 unified cache:异步后台线程 + Future 计数器的 layer-wise 加载协议、跨 rank 的 restorable 集合求交、以及 buffer 注册与键后缀对齐等设计,都是可复用的模式。建议重点看 MooncakeDirectLinker.load_layer_wise 与 MooncakeStore.batch_exists_v2 的改动,理解 TRAILING_PAGES 空洞语义为什么必须返回集合而不是单一前缀长度。
修复 7 个测试的 kv mock,改用真实 ReqKvInfo
值得快速浏览(约 5 分钟):它不是一个复杂 PR,但体现了“测试 fixture 尽量使用真实数据结构而非鸭子类型 mock”的工程原则。对于后续要编写 mem_cache / KV 相关测试的开发者,这个 PR 是推荐的 fixture 写法范例,无需精读实现细节。
原始 PR · 作者 caihuali95 · 合并时间 2026-09-01 10:55
修复 wrapper 后端未转发 KV 翻译器致 MLA 前缀缓存读错
值得精读。核心价值不在 1 行转发,而在两点设计:一是对“静默正确性损坏”的防御策略——启动断言让错误在部署时暴露而非推理时污染结果;二是对象图测试如何通过“只给正确来源携带 translator”来精确验证转发来源,并用 AST 推导保证新 wrapper 自动纳入检查。该模式可推广到其他带默认 `None` 类属性、需要透传内部状态的包装器场景。
trtllm_mla 解码路径支持 DCP,长上下文吞吐提升达 68%
值得精读。重点看三处设计决策:一是 `q_len == 1` 免全局因果边界的论证与其在 `_run_decode_kernel` 的门控实现(理解 DCP 内核契约的关键);二是 LSE 基数问题从 backend 内注册表方案演化到采纳 #34240 merge-site 约定的过程,展示了跨 PR 设计协同的正确姿势;三是 `_apply_dcp_cuda_graph_metadata` 三分支对 global / local 长度视图的维护,是 CUDA graph 捕获路径下容易出错但必须一致的典型样例。
原始 PR · 作者 caihuali95 · 合并时间 2026-09-01 06:10
unified 池泛化至 N 子池,新增浮动池支撑 mamba+SWA 三态 KV
值得精读。三个设计决策尤其值得关注:一是 `_CapacityField` 用数据描述符 + epoch 让容量 memo 失效"按构造"发生,避免了散落的失效钩子;二是 `_float_open_short_side` 的 demand-vector 策略,使单带宽短供、耦合多带分配、未来组合准入向量统一为一种表达;三是 `_relieve_for_alloc` 将 flush/relocate/evict 收敛为单一 ladder。建议结合 test_unified_capacity_memo.py 与 test_multi_ended_allocator.py 的测试方法论阅读,这两份测试的防御深度(属性测试 + 反射扫描 + 伪装写入探测)本身就值得借鉴。