Joint Encoding of KV-Cache Blocks for Scalable LLM Serving
Joseph Kampeas, Emir Haleva
TL;DR
This work tackles the KV-cache memory bottleneck in scalable LLM serving by introducing joint KV-cache block encoding through Batch Fast-Fusion and Chunks Fast-Fusion. It presents a tree-based fusion strategy that shares similar cache blocks across requests or input chunks while preserving the original cache structure, enabling larger batch sizes and reducing memory, bandwidth, and network demands. A rate-distortion framework based on a Poisson process provides theoretical insight into the threshold-driven trade-off between compression and distortion, and extensive experiments show up to $4.38×$ KV-cache compression with negligible accuracy loss and substantial throughput gains on diverse models and benchmarks. The approach promisingly enhances real-world serving scalability, with practical implications for disaggregated architectures like vLLM and beyond, and points to future work in adaptive thresholds and tighter integration with quantization and pruning techniques.
Abstract
Modern large language models (LLMs) drive interactive AI systems but are bottlenecked by the memory-heavy growth of key-value (KV) caches, which limits real-time throughput under concurrent loads. Existing KV-cache compression methods rely on rigid heuristics, disrupt tensor layouts, or require specialized compute, hindering scalability and deployment. We propose joint encoding of KV-cache blocks, which fuses similar blocks across requests and input chunks into shared representations while preserving standard cache structure. This alleviates the KV-cache memory bottleneck, supporting high-concurrency serving without specialized hardware. Theoretically, we analyze the rate-distortion tradeoff of fused cache blocks under a Poisson process model. Empirically, our method achieves up to 4.38 $\times$ KV-cache compression with negligible accuracy loss across diverse LLMs and benchmarks, outperforming recent structured and adaptive compression baselines. In real LLM serving, joint encoding improves the token throughput by $\sim$40\% on a single-machine vLLM benchmark, demonstrating substantial gains in inference throughput. Code is available at https://github.com/sef1/kv_fast_fusion kv_joint_encoding.
