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.
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.
All Replies (3)
vLLM latency spikes are a nightmare to track. Anyone found a stable config for this?
My cluster hit those same bottlenecks! Did splitting the prefill and decode stages actually fix your token throughput?

The KV cache transfer overhead is a nightmare for node gains. How are you mitigating that latency?