Zipage: Maintain High Request Concurrency for LLM Reasoning through Compressed PagedAttention
Authors: Mengqi Liao, Lu Wang, Chaoyun Zhang, Bo Qiao, Si Qin, Qingwei Lin, Saravan Rajmohan, Dongmei Zhang, Huaiyu Wan
Organizations: School of Computer Science and Technology, Beijing Jiaotong University · Microsoft · Beijing Key Laboratory of Traffic Data Mining and Embodied Intelligence
With reasoning becoming the generative paradigm for large language models (LLMs), the memory bottleneck caused by KV cache during the decoding phase has become a critical factor limiting high-concurrency service. Although existing KV cache eviction methods address the memory issue, most of them are impractical for industrial-grade applications. This paper introduces Compressed PagedAttention, a method that combines token-wise KV cache eviction with PagedAttention. We propose a comprehensive scheduling strategy and support prefix caching and asynchronous compression for Compressed PagedAttention. Based on this, we have developed a high-concurrency LLM inference engine, Zipage. On large-scale mathematical reasoning tasks, Zipage achieves around 95% of the performance of Full KV inference engines while delivering over 2.1× speedup.
Figures & tables
Figure 1: Illustration of Compressed PagedAttention. Here, Nmax=4,b=4,w=2 . The figure depicts two requests requiring compression. After compression, the kept KV cache entries are moved to the first three blocks, while the fourth block is reserved for subsequent decoding. The remaining blocks are released.
Figure 2: State transition diagram of requests under hybrid scheduling.
Figure 3: Illustration of block allocation and release strategies for prefix cache.
Figure 4: Average time per step and ratio during inference with Qwen3 0.6B and Qwen3 8B on AMC 23 under non-asynchronous compression settings.
Figure 5: Comparison of average TPOT (ms) of all requests across different configurations on three workloads.
Figure 6: Comparison of TPS (tokens/s) across different configurations on three workloads.
Figure 7: The figure shows Qwen3 8B’s performance using Zipage or Nano-vLLM on AMC 23, including:(a) real-time throughput, (b) per-step real-time decoding time, (c) average per-step time at different concurrency range, (d) and the ratio of steps to total steps under different concurrency range.
Figure 8: Comparison of TPS and pass@1 performance across different methods for Qwen3 8B and DS LLaMA 8B. The numbers in parentheses indicate the maximum batch size.
Figure 9: Evaluation results under varying KV cache budgets on (a) AMC 23, (b) AIME 24, and (c) LiveCodeBench. Dashed lines represent the results of full KV, and the percentages following the numerical values indicate the relative performance compared to full KV.
Appendix figures & tables27 assets
Supplementary material from the paper’s appendix.
Appendix
Workloads
Number of Questions
Sample Times
Max Output Length
AMC 23
40
32
16384
AIME 24
30
32
32768
LiveCodeBench v1
400
8
16384
Mixture
40+1319
4
16384
LongBench
150
4
4096
Appendix
Table 1: Evaluation settings for different workloads or benchmarks.
Figure 10: Average time for compression and decoding step under different layer stride.
Mu,v={−∞0if u+b−w>votherwise
Appendix
Algorithm 1 Block Attention Logits Computation
α
0
0.4
0.8
0.85
0.9
1
Qwen3 8B
0.6906
0.7375
0.7718
0.7468
0.7484
0.7531
DS Llama 8B
0.7484
0.7656
0.7643
0.7584
0.7578
0.7515
Appendix
Table 2: Experimental results with different decay rates α .
Figure 11: This figure illustrates the computation of the original redundancy scores when N=2 and b=4 . Here, Ki represents the key states of the i -th block. This approach has a computational complexity of O(N2×b2) and a memory complexity of O(N2×b2) .
Figure 12: This figure illustrates the computation of flash redundancy score. The green blocks represent data stored in global memory, i.e., activations. The results of other computations, shown in different colors, are temporarily stored using registers or shared memory. This approach has a computational complexity of O(N2×b2) and a memory complexity of O(N2×b) .
Figure 13: The average execution time of different operations when asynchronous compression is disenabled. A value of 0.0 indicates that the average execution time is less than 0.1 milliseconds.
Figure 14: The average execution time of different operations when asynchronous compression is enabled.
Figure 15: This figure illustrates the computation of lightning redundancy score. This approach has a computational complexity of O(N×b2) and a memory complexity of O(N×b) .
Figure 16: The average decoding time and compression time under both asynchronous and non-asynchronous compression settings.
λ
0.05
0.1
0.2
0.5
0.9
Flash
80.78
82.96
84.37
84.53
77.81
Lightning
83.59
84.84
84.84
84.21
75.00
Appendix
Table 3: Qwen3 8B on AMC 23
λ
0.05
0.1
0.2
0.5
0.9
Flash
82.96
82.03
83.59
78.59
74.21
Lightning
80.62
85.15
85.00
80.78
73.90
Appendix
Table 4: DS-Llama 8B on AMC 23
Figure 17: pass@1 performance for Qwen3 8B and DS Llama 8B under diffirent λ and τ .
Figure 18: Comparison under different KV budgets for Qwen3 8B and DS Llama 8B, using global and redundancy scores versus redundancy-only scores.
Model
w/o pooling
pooling once
w/ pooling
Qwen3 8B
87.10
87.03
80.85
DS Llama 8B
84.21
83.20
84.53
Appendix
Table 5: Comparison of pooling strategies for LLaMA-8B and Qwen-8B.
Figure 19: Number of running requests during inference.
Figure 20: Number of waiting requests during inference.
Figure 21: Throughput during inference.
Figure 22: Block occupancy during inference.
Figure 23: The number of running and waiting requests during inference during inference on AMC23.
Figure 24: The real-time throughput, number of running and waiting requests during inference during inference on the mixture of GSM8K and AMC 23.
Figure 25: The real-time throughput, number of running and waiting requests during inference during inference on LongBench.
Figure 26: TPS and pass@1 performance across different model sizes. TP=2 indicates that the model is run on two GPUs using tensor parallelism, while all other experiments are conducted on a single GPU by default.
Figure 27: The figure shows Qwen3 0.6B’s performance using Zipage or Nano-vLLM on AMC 23, including:(a) real-time throughput, (b) per-step real-time decoding time, (c) average per-step time at different concurrency range, (d) and the ratio of steps to total steps under different concurrency range.
Figure 28: The figure shows Qwen3 0.6B’s performance using Zipage or Nano-vLLM on AMC 23, including:(a) real-time throughput, (b) per-step real-time decoding time, (c) average per-step time at different concurrency range, (d) and the ratio of steps to total steps under different concurrency range.
Figure 29: The figure shows Qwen3 32B’s performance using Zipage or Nano-vLLM on AMC 23, including:(a) real-time throughput, (b) per-step real-time decoding time, (c) average per-step time at different concurrency range, (d) and the ratio of steps to total steps under different concurrency range. (Tensor parallelism = 2)
Figure 30: The figure shows DS Llama 8B’s performance using Zipage or Nano-vLLM on AMC 23, including:(a) real-time throughput, (b) per-step real-time decoding time, (c) average per-step time at different concurrency range, (d) and the ratio of steps to total steps under different concurrency range.
LLM inference acceleration develops algorithms and systems that reduce language-model latency, memory use, and serving cost while preserving output quality.