# Prefill-Decode Disaggregation

> Source: <https://promptcube3.com/en/threads/3906/>
> Published: 2026-07-27 00:02:57+00:00

# Prefill-Decode Disaggregation

The performance bottleneck in LLM inference isn't a single point; it's the fundamental conflict between prefill (compute-bound) and decode (memory-bound) phases. When you run these on the same GPU, the heavy compute load of the prefill stage often spikes latency for the decoding tokens of other concurrent requests, leading to erratic Time Per Output Token (TPOT) metrics.

The deployment usually involves a coordinator that routes the initial prompt to a "prefill node," which then hands off the KV cache to a "decode node" for token generation. It adds architectural complexity, but for production-scale LLM agents, it's the only way to maintain a smooth user experience.

Splitting the inference stack—essentially separating the prefill and decode workloads onto different hardware—solves this "noisy neighbor" problem. By isolating the prefill phase, you can optimize the compute-heavy part of the pipeline without stalling the generation phase.

For anyone implementing this via vLLM or similar engines, here is the logic for when to actually pull the trigger on disaggregation:

**Throughput Requirements:** If you are hitting a wall with request concurrency and seeing massive latency spikes during long prompt processing.**Hardware Heterogeneity:** When you have a mix of GPUs where some have higher compute power (ideal for prefill) and others have better memory bandwidth (ideal for decode).**SLA Constraints:** If your application requires a strict, predictable TPOT regardless of the input prompt length.

The deployment usually involves a coordinator that routes the initial prompt to a "prefill node," which then hands off the KV cache to a "decode node" for token generation. It adds architectural complexity, but for production-scale LLM agents, it's the only way to maintain a smooth user experience.

[Next LLM Eval: Why I scrapped 9/10 of my experiments →](/en/threads/3896/)

## All Replies （3）

N

Don't forget about the KV cache transfer overhead between nodes; that can kill the gains.

0

S

C

Saw similar bottlenecks in my own cluster; splitting them definitely smoothed out the token throughput.

0
