🚀NEW COURSEVibe Coding AI Apps with Claude Code 🤖✨Enroll now
← All papers  /  Sep 16, 2026
Memory

Where Should the KV Cache Live? Placement Policies Across GPU, CPU, and SSD for Long-Lived Sessions

First page
Where Should the KV Cache Live? Placement Policies Across GPU, CPU, and SSD for Long-Lived Sessions
The curator’s take

Srikanta Datta Tumkur and colleagues (Vizuara) simulate KV cache placement across GPU, CPU and SSD for chat, agent and document QA sessions and find that tier capacity, not placement policy, produces the gains.

Ask this paper

Key points
01

Capacity effect: Tiering supports 73.02 times more concurrent sessions per GPU and cuts cost per session 62.04 times, and this comes from the 1:8:64 capacity ratio.

02

Policy effect: Decode is compute-bound at batch size one, so placement mainly changes PCIe traffic and time to first token.

03

Workload results: Recency moves 2.30 times less data than reuse frequency for chat; reuse frequency is best for agent and document QA workloads.

04

Negative findings: An existing predicted-reuse policy is byte-identical to recency, and even an oracle prefetcher never beats no prefetch on migration traffic.

Abstract

GPU high bandwidth memory is scarce and expensive, and KV caches consume much of it as chats, agent loops, and document question answering accumulate state. Systems such as Mooncake, LMCache, FlexGen, InfiniGen, and AttentionStore extend GPU memory with CPU DRAM and SSD. The harder question is which blocks belong in each tier, when to move or evict them, and whether prefetching helps. We study these choices in a discrete event simulator spanning GPU HBM, CPU DRAM, and SSD, calibrated against a random forest execution time predictor. We compare recency, reuse frequency, predicted reuse, and an EWMA predictor with prefetch lookahead across chat, agent, and document question answering workloads. Tiering supports 73.02 times more concurrent sessions per GPU and lowers cost per session by 62.04 times. These gains come from tier capacities of 1 plus 8 plus 64, not placement policy. Decode is compute bound at batch size one in our setup, so placement barely affects throughput. It mainly changes PCIe migration traffic and time to first token. Recency produces 2.30 times less migration traffic than reuse frequency for chat. Reuse frequency performs best for agents and document question answering. The existing predicted reuse policy is byte identical to recency, making its agent recommendation effectively recency. A genuine EWMA predictor changes behavior but still ranks behind reuse frequency on the workloads prediction was expected to help. Prefetching does not justify its bandwidth cost. Across the policy and cache size grid, even an oracle with knowledge of future requests never beats no prefetch on migration traffic. Workload specific placement can reduce data movement, but the predicted reuse and prefetch recommendations are not supported as implemented.

Every Monday
Get next week’s papers.
Subscribe on Substack