Building py-kvcache: A Performance Characterization of External KV Caching for vLLM with NVMe SSDs
On the map: Efficient LLM inference and serving → KV cache optimization
Abstract (arXiv)
Prefix caching can reduce the time to first token (TTFT) of long-context LLM requests by reusing previously computed key-value (KV) states, but for short prefixes or fast GPUs, recomputation can be faster than loading from an external cache. We characterize this tradeoff in vLLM across GPU, CPU, and NVMe tiers using synthetic workloads, long-context benchmarks, production traces, and find that cache performance depends on transfer granularity, intermediate memory use, and when transfers enter the request schedule, not only on device bandwidth. These findings motivate py-kvcache, a vLLM KV Offload connector with asynchronous direct I/O, bounded shared staging, and scheduler-aware preloading, which starts disk reads while requests are still waiting, overlapping with compute. At 80k tokens, py-kvcache loading from disk is 2.0x faster than LMCache, with preloading contributing 1.34x. With GPU, CPU, and disk caching enabled, it is 1.23x faster than LMCache and within approximately 4% of the native vLLM KV Offload implementation. LongBench and SCBench show that these benefits extend to irregular prefix chains and multi-turn workloads. Bailian trace replays improve TTFT on a weaker GPU, but on an H100 the average request falls below the break-even point and GPU memory alone retains enough prefixes. External KV caching should therefore be treated as a setup specific admission decision. The py-kvcacheimplementation is available at: https://github.com/atlarge-research/py-kvcache.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Placed in KV cache optimization, one of 12 directions in Efficient LLM inference and serving. Builds on 15 of its 35 references that are in the map. First posted on arXiv 10 Sep 2026.
Builds on
15 of 35 references.
Closest ancestors · 7
Same direction, newest first
- 2026DUAL-BLADE: Dual-Path NVMe-Direct KV-Cache Offloading for Edge LLM Inference29 Apr
- 2026PCR: A Prefetch-Enhanced Cache Reuse System for Low-Latency RAG Serving24 Mar
- 2025KVCache Cache in the Wild: Characterizing and Optimizing KVCache Cache at a Large Cloud Provider3 Jun
- 2024InfiniGen: Efficient Generative Inference of Large Language Models with Dynamic KV Cache Management28 Jun
- 2024Cost-Efficient Large Language Model Serving for Multi-turn Conversations with CachedAttention23 Mar
- 2023CacheGen: KV Cache Compression and Streaming for Fast Large Language Model Serving11 Oct
- 2023Efficient Memory Management for Large Language Model Serving with PagedAttention12 Sep
Other references · 8
- 2017Attention Is All You Needcited by 60,361
- 2023SGLang: Efficient Execution of Structured Language Model Programscited by 1,141
- 2024KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cachecited by 637
- 2024Mooncake: A KVCache-centric Disaggregated Architecture for LLM Servingcited by 196
- 2024MemServe: Context Caching for Disaggregated LLM Serving with Elastic Memory Poolcited by 68
- 2026DualPath: Breaking the Storage Bandwidth Bottleneck in Agentic LLM Inferencecited by 15
- 2022GPU-Initiated On-Demand High-Throughput Storage Access in the BaM System Architecturecited by 12
- 2025Understanding Bottlenecks for Efficiently Serving LLM Inference With KV Offloadingcited by 1
Built on by
Not cited yet.
Similar, not cited
Close in wording, no citation either way
- 2026ObjectCache: Layerwise Object-Storage Retrieval for KV Cache Reuse
- 2026TempoKV: Timely Staging of LLM KV Caches for Memory-Semantic Flash
- 2026From Tensor Buffer to Distributed Memory Hierarchy: A Survey of KV Cache Management for LLM Serving
- 2026Unified KV Pooling to Accelerate Long-Context LLM Serving
- 2026The KV Cache Is the New Memory Wall
- 2025AdaptCache: KV Cache Native Storage Hierarchy for Low-Delay and High-Quality Language Model Serving
- 2026Elastic KV Cache for LLM Serving:A Working Reclamation Mechanism, and Why Chunked Prefill Already Closes the Gap
- 2026Bridging LLM Serving and CXL-SSDs with Chunk-Aware KV Cache Management