问题域/PD-380

KV Cache分页管理

KV Cache Paged Management

将KV Cache按block分页管理,消除内存碎片,支持前缀共享和跨节点传输

子问题

1.block分配与回收策略

2.前缀哈希匹配

3.KV offload到CPU/磁盘

4.跨节点KV传输

5.混合注意力模型的多 Group 缓存命中长度收敛

6.Scheduler/Worker 双角色 KV Connector 协调

7.GPU block_table 到物理 slot 的 Triton kernel 映射

各项目的解法1 solutions

Signals

横向对比

维度vLLM
分页策略固定 block_size 分页,借鉴 OS 虚拟内存,block_table 逻辑→物理映射
前缀缓存链式哈希 hash(parent_hash, token_ids, extra_keys),支持 LoRA/多模态区分
淘汰策略自定义双向链表 LRU,O(1) 分配/释放/中间删除,哨兵节点零分支
混合模型支持三级 Coordinator(Unitary/Hybrid/NoPrefixCache)+ KVCacheSpec 层级体系
KV OffloadScheduler/Worker 双角色 Connector,延迟 store 避免与 sampling 竞争
GPU 映射Triton kernel 计算 slot_mapping,支持 Context Parallelism 分片

最佳实践

1.启用prefix caching复用公共前缀

2.选择合适的block size平衡碎片和开销

3.用哨兵节点双向链表替代 Python deque 实现 O(1) 中间删除

4.延迟 store 到下一 engine step 避免与 token sampling 竞争 GPU 带宽

5.链式哈希加入 extra_keys 区分 LoRA/多模态/cache_salt 上下文