arxiv.org·2026/10/21·Isaac Zhu / Alan Cao 等
针对长上下文LLM推理中KV缓存随历史和并发增长、稀疏注意力仍需保留完整历史且CPU缓存与TP复制难以充分利用容量的问题,UlaCache以跨GPU/CPU的统一逻辑地址空间解耦逻辑引用与物理放置,支持DP和TP;TP下本地GPU缓冲复用选中KV仅取缺失项。其PB-LRU用桶位图并行做命中检测、最近性更新和选淘汰槽,传输后更新映射,并对共享稀疏选择的层复用计划与预取。在SGLang中实现,用GLM-5.3于H200、B300对比HiSparse和GPU常驻SGLang。作者报告,启用投机解码时TP峰值吞吐较HiSparse达1.70×(H200)和2.51×(B300),DP亦提升;TP无投机在B300达3.51× SGLang峰值。PB-LRU调度比朴素LRU更快且几乎不损失命中率;低并发下UlaCache快于HiSparse、略慢于SGLang,共享GPU池保留活跃KV并扩大可解码并发。
为什么重要 给AI推理工程团队:SGLang已集成,给出长上下文decode并发扩展的完整路径,TP/DP模式与投机解码配置都有可复现数据。适合 LLM serving工程师、KV缓存与推理系统优化者
长上下文会增加大语言模型(LLM)推理中键值(KV)cache 的内存开销。稀疏注意力通过筛选历史 token 来减少注意力计算与内存流量,但被保留的 KV cache 必须在后续解码步骤中保持可用。
我们提出 UlaCache,一个围绕统一逻辑地址空间构建的 KV cache 管理系统,该地址空间横跨 GPU KV 池与可选的 CPU 内存。稳定的逻辑引用使推理引擎能够独立于物理存放位置来分配和选择 KV。统一的分配与稀疏访问接口支持数据并行(DP)与张量并行(TP)注意力。
对于分布式存储,本地 GPU 缓冲区在解码步骤间保留被选中的 KV,因此只有缺失条目才需要传输。启用 CPU 存储时,Parallel Bucketed LRU(PB-LRU)管理跨请求共享的 GPU 池,并行更新最近使用元数据并选出淘汰对象。UlaCache 先传输 KV,再更新地址映射。
在 CPU 与 GPU 内存预算匹配且启用投机解码的条件下,与最先进基线相比,UlaCache 在 H200 上取得峰值解码吞吐加速 1.16×(DP)与 1.70×(TP),在 B300 上取得 1.73×(DP)与 2.51×(TP)。
Long contexts increase the memory cost of the key-value (KV) cache in large language model (LLM) inference.
Sparse attention reduces attention computation and memory traffic by selecting historical tokens, but the retained KV cache must remain available for later decoding steps.
We present UlaCache, a KV cache management system built around a unified logical address space spanning GPU KV pools and optional CPU memory.
Stable logical references let the inference engine allocate and select KV independently of physical placement.
Common allocation and sparse-access interfaces support data-parallel (DP) and tensor-parallel (TP) attention.
For distributed storage, local GPU buffers retain selected KV across decoding steps, so only missing entries require transfers.
When CPU storage is enabled, Parallel Bucketed LRU (PB-LRU) manages a GPU pool shared across requests. It updates recency metadata and selects eviction victims in parallel.
UlaCache transfers KV and then updates the address mappings.
With speculative decoding enabled under matched CPU and GPU memory budgets, UlaCache achieves peak decoding throughput speedups of 1.16 × (DP) and 1.70 × (TP) on H200, and 1.73 × (DP) and 2.51 × (TP) on B300, compared with the state-of-the-art baseline.
B300 TP
8×B300 GPU
B300 DP
8×B300 GPU
H200 TP
8×H200 GPU
H200 DP
8×H200 GPU
注释 · 作者报告的峰值吞吐,投机解码开启、CPU与GPU预算对齐出自 §6.3、图7
CPU历史槽
完整历史
GPU缓存槽
缓存副本
物理槽总计
GPU+CPU
唯一历史槽
与CPU槽一致
注释 · 当时8×B300 GLM-5.3,投机关闭的配置数据出自 图2(b)
EVIDENCE / METHODS
判断
HiSparse 53.3M物理槽只有30M唯一历史,UlaCache将GPU池与CPU池合并为术语解释KV逻辑引用与物理GPU/CPU槽位解耦,迁移时引用不变
普通术语解释Multi-head Latent Attention,KV压缩成跨头共享表示,TP下各rank复制同份KV在TP下各rank保留完整KV,8-rank只有12.5%存储唯一历史,其余是副本;HiSparse把完整历史放CPU、GPU仅缓存副本,物理槽不增加unique历史容量。UlaCache用稳定逻辑引用指向物理槽,KV迁移只更新地址映射,GPU池成为可联合使用的独立历史存储,DP/TP共用同一套分配与稀疏访问接口。
注释 · 逻辑地址与物理放置解耦是核心抽象,不是LRU算法本身出自 图2、§3、§4.1
原版排版与图表 · 手机无法内嵌时可在浏览器打开。PDF 插件内选文不能传给网页助手。