[Feature]: Layer-wise KV Cache Async Transfer to Reduce TTFT in Disaggregated Serving
@laikhtewari is already working on this.
Since Nov 17, 2025.
- Dominant language
- Python
- Stars
- 14.7k
- Forks
- 2.8k
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 489
Description
🚀 The feature, motivation and pitch
Feature
Implement a layer-wise KV cache async transfer mechanism for TensorRT-LLM in disaggregated serving scenarios.
Motivation
The current disaggregated serving implementation requires a full KV cache transfer after prefill computation, leading to TTFT = prefill computation time + full KV transfer time. This makes TTFT for long contexts significantly slower than in frameworks like vLLm, which supports layer-wise KV async transfer.
The key advantage of layer-wise KV async transfer is its ability to overlap communication with computation. By transferring each layer's KV cache as soon as it's computed, the transmission of early layers is hidden behind the computation of subsequent ones. This makes the transfer process largely asynchronous. As a result, the effective TTFT is drastically reduced to just the prefill computation time plus the transfer time of the final layer's KV cache:
TTFT ≈ prefill computation time + last layer KV transfer time
This change is critical for achieving low-latency first token generation, especially with long context windows.
Alternatives
vLLM with LMCache.
https://docs.lmcache.ai/kv_cache_optimizations/layerwise.html
Additional context
No response
Before submitting a new issue...
- Make sure you already searched for relevant issues, and checked the documentation and examples for answers to frequently asked questions.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.