inference-tradeoffs-explained

Chapter 02 · KV memory

Paged KV and preemption

Loading the matrix…

Reserving each request's whole KV cache up front, or handing out blocks as it grows and evicting a request when they run out.

The chapter text (the mechanism animated, why it behaves as measured, and the papers) is being written. This page already shows what the sweep measured.

Paged KV, preempt by recompute

Change from the baseline on H100, at capacity for goodput and cost, at the reference load for latency. Run it live

Workloadgoodput$/M tokTTFT p99TPOT p99ITL p99
Chat+0% M+0% M$+0% M+0% M+0% M
Coding agent+0% M+0% M$+0% M+0% M+0% M
Offline batch+0% M+0% M$-6% +0% M-82%
Long-context RAG+0% M+0% M$+0% M+0% M+0% M
Real-time voice+0% M+0% M$+0% M+0% M+0% M

Paged KV, preempt by swap to host

Change from the baseline on H100, at capacity for goodput and cost, at the reference load for latency. Run it live

Workloadgoodput$/M tokTTFT p99TPOT p99ITL p99
Chat+0% M+0% M$+0% M+0% M+0% M
Coding agent+0% M+0% M$+0% M+0% M+0% M
Offline batch+0% M+0% M$-6% +0% M-82%
Long-context RAG+0% M+0% M$+0% M+0% M+0% M
Real-time voice+0% M+0% M$+0% M+0% M+0% M

Caveats on these numbers

✓ better than the baseline, ✗ worse, by more than ±2%. Every lever on every metric and device: the matrix; on any two metrics: the explorer.