Skip to content
Xinyuanyi

Insights

Recompute or Read Back? KV Cache on a 480B Model

Published

Question

After KV cache is evicted from GPU memory, is it faster to recompute or to read it back from external storage?

Short answer

Reading back is far faster. For Qwen3-Coder-480B-FP8 under a long-context cold-recovery load at concurrency 16, full recompute without external storage gives a TTFT of 149.48 s at p50 and 4.1 tok/s; keeping the KV cache on FX100 and reading it back gives 11.85 s and 74.9 tok/sR2.

How the test was run

The model is Qwen3-Coder-480B-FP8 deployed as one 8-GPU instance (TP=8), the production topology, on 8 × AMD MI308X. The load is long-context cold recovery: a session's KV cache is no longer in GPU memory, so an incoming request must either recompute it or read it back.

Three setups were compared under the same load: the FX100 all-flash array, a single local NVMe drive, and full recompute without external storage. FX100 and the local drive were measured at concurrency 8, 16 and 32; full recompute was measured at concurrency 16 onlyR2.

Three readings at concurrency 16

TTFT at p50 and throughput for the three setups at the same concurrency.

  • Full recompute, no external storage: TTFT 149.48 s at p50, 4.1 tok/sR2.
  • Single local NVMe drive: TTFT 17.31 s at p50, 53.6 tok/sR2.
  • FX100 all-flash array: TTFT 11.85 s at p50, 74.9 tok/sR2.

Two baselines that must not be mixed

A speed-up depends on what you compare with. This test has two denominators.

Against full recompute without external storage, the speed-up is 8.6–20×R2. That figure answers whether the KV cache should be kept at all.

Against a single local NVMe drive, throughput rises by 29–40% and TTFT at p50 falls by 26–32%R2R3. That figure answers where to keep it. Folding the two into one sentence would suggest that an external array is an order of magnitude faster than a local drive, which is not what was measured.

Whether the figures can be reproduced

Two independent runs at the same load level deviate by no more than 5%R3. The conclusions for both deployment topologies were compiled into an official report by a third-party testing bodyR4.

The LMCache parallel-read patch, the load client, the orchestration scripts and the raw data are packaged as R8 and can be rerun on your own clusterR8. Your model, context length and concurrency differ, and so will your readings; this data shows the order of magnitude and the direction.

Related test reports

External references

  1. 01
    LMCache (GitHub repository) · LMCache Project

    LMCache source code, architecture and storage backends

  2. 02
    vLLM Documentation · vLLM Project

    Official documentation of vLLM deployment, prefix caching and tensor-parallel settings

Further reading

What Is KV Cache Tiering and When Does It Help?

KV cache tiering keeps the KV cache that overflows GPU memory in host RAM and external flash, then reads it back instead of recomputing. Structure, gains and limits.

SourceR2R3R8

Local NVMe or an NVMe-oF Array for KV Cache?

Both avoid full recompute. Across three concurrency levels on a 480B model, an external FX100 array gives more throughput and lower TTFT than one local NVMe drive.

SourceR1R2R3

How to Verify a Vendor's LLM Inference Benchmarks

Five checks for vendor inference benchmarks: baseline, platform and topology, run-to-run deviation, third-party report, reproduction material. Plus common traps.

SourceR2R3R4R5R8R9

All articles

Test jointly first, decide afterwards

Test jointly first, decide afterwards

Every engagement starts with a gated joint test of about 10 weeks. Four gates are passed in sequence; if one is missed, the project stops there, so you never pay for a benefit that was not demonstrated.

Contact
Wang Limin
Phone
+86 131 6181 8898
Email
mingxin@agentmail.to

The inbox is monitored and triaged by AI around the clock