PagedAttention 的块表机制:按块管理 KV Cache 如何减少显存碎片并提升在线服务吞吐
面向 vLLM 在线服务场景,解释 PagedAttention 为何把 KV Cache 切成固定大小的逻辑块、用块表映射到非连续物理块,并按需分配。文章对比连续缓存与块式缓存的显存占用和调度灵活性,分析块大小对碎片率与吞吐的影响,并给出可观测信号、失败模式与适用边界。
共 4 篇文章
面向 vLLM 在线服务场景,解释 PagedAttention 为何把 KV Cache 切成固定大小的逻辑块、用块表映射到非连续物理块,并按需分配。文章对比连续缓存与块式缓存的显存占用和调度灵活性,分析块大小对碎片率与吞吐的影响,并给出可观测信号、失败模式与适用边界。
在线大模型服务中,KV Cache 的显存分配与复用直接决定吞吐与延迟。本文对比 vLLM 的 PagedAttention 与 SGLang 的 RadixAttention,解释块式分页、前缀树复用、驱逐策略与调度差异,并给出不同工作负载下的选型建议。
本文以在线大模型服务为场景,深入解析 CUDA Graph 通过捕获并重放 GPU Kernel 序列来减少 CPU 启动开销和内核间延迟的机制。文章分析了其与动态形状、批处理大小变化、PagedAttention 等技术的兼容性,讨论了捕获成本、内存占用和适用边界,并通过对比表格和流程图帮助读者理解何时使用 CUDA Graph 能获得显著收益。
围绕在线大模型服务中动态增长的 KV Cache,解释 PagedAttention 如何通过逻辑块、物理块和块表实现按需分配,并分析内部碎片、Copy-on-Write、Prefix Caching、Continuous Batching 及长上下文场景中的工程边界。