Disaggregated Prefill/Decode separates LLM inference into specialized GPU pools -- unlocking massive latency and throughput gains.
Prefill is compute-bound. Decode is memory-bound. Running both on the same GPU means neither performs optimally.
Dedicated prefill pods process prompts. Dedicated decode pods generate tokens. KV caches transfer via RDMA in under 1ms.
The Endpoint Picker (EPP) decides where each phase goes -- prefix-aware routing ensures cache hits, least-load balancing prevents hot spots.
Benchmarked on NVIDIA H200 (141 GB HBM3e) running Llama 3.3 70B FP8. Every number is from real hardware.
From request ingress through the EPP router, across prefill and decode pods, with NIXL/RDMA bridging the KV cache transfer.
Four YAML configs -- from baseline to fully disaggregated. Copy the one that matches your setup.
apiVersion: inference.llm-d.ai/v1alpha1 kind: LLMInferenceService spec: inferenceConfig: replicas: 2 routing: strategy: prefix-aware
spec: inferenceConfig: replicas: 2 prefill: replicas: 1 routing: strategy: prefix-aware
spec: prefill: replicas: 1 kvCacheTransfer: connector: nixl transport: rdma
spec: routing: strategy: disaggregated-prefill-decode prefillRouting: loadBalancing: least-load decodeRouting: loadBalancing: kv-affinity