Before it
Serving systems reserved a contiguous block of memory per request for the KV cache.
The problem
Requests vary in length, so most of that reserved memory sat unused while other requests queued.
What it introduced
Manage the KV cache in pages like virtual memory, so blocks are allocated on demand and shared between requests.
Why it matters
Two to four times the throughput at the same cost, and it became the default open serving engine.
What modern models inherit
Paged KV cache and continuous batching in production serving.
What came next
The standard deployment path for open models, including the largest MoE models.