Every source behind this page, graded and dated. Filter by kind. The full
claim-by-claim ledger, with the quote supporting each one, ships beside this file as
sources.md.
Postmortem
Anthropic2025-09
A postmortem of three recent issues
Three overlapping infrastructure bugs degraded output quality for about a month without
degrading availability: a context-window routing error, a TPU server misconfiguration
corrupting token generation, and an XLA:TPU miscompilation of approximate top-k. Unusually
candid about why the evaluations missed it and why privacy controls slowed the fix.
Carry forwardRouting between replica classes of one model is a correctness surface, and noisy evals will not defend it.
anthropic.com/engineering/a-postmortem-of-three-recent-issues
Postmortem
OpenAI2024-12
Incident report, 11 December 2024
A telemetry deployment triggered Kubernetes API operations whose cost scaled with cluster
size, collapsing the control plane in the largest clusters. It passed staging because
staging was small. The data plane kept running but DNS did not, so services could not find
each other, and engineers were locked out of the control plane they needed to fix it.
Carry forwardTest changes whose blast radius scales with fleet size against fleet-sized clusters, and keep a break-glass path into the control plane.
status.openai.com/incidents/ctrsv3lwd797
Postmortem
Google Cloud2025-06
Incident report, multiple products, 12 June 2025
An unflagged quota-policy code path hit a null pointer when a policy with blank fields
replicated globally within seconds. Vertex AI Online Prediction was among dozens of
affected products. Recovery in us-central1 took about 2h40m because restarts stampeded the
Spanner table they depend on, with no randomised backoff.
Carry forwardEvery synchronous dependency in front of a token is a global failure domain; check each for feature flags, a kill switch and backoff on restart.
status.cloud.google.com/incidents/ow5i3PPK96RduMcb1SsW
Paper
Microsoft2025-10
Enhancing reliability in AI inference services: an empirical study on real production incidents
A provider-internal taxonomy validated on 156 high-severity incidents from April to June
2025. About 60% were inference-engine failures, dominated by timeouts and resource
exhaustion; 74% were auto-detected but 48% of mitigations were monitor-only. Connection
liveness cut the normalised HTTP 408 rate from 2.72% to 0.47%.
Carry forwardBudget your reliability work against the measured distribution: timeouts on long streaming responses, not exotic GPU faults.
arxiv.org/abs/2511.07424
Paper
Moonshot AI / Tsinghua2024-06
Mooncake: a KVCache-centric disaggregated architecture for LLM serving
The serving platform behind Kimi. Separates prefill and decode clusters and builds a KV
pool from the CPU, DRAM and SSD already present in the GPU cluster. The section on
overload is the rare published treatment of admission control, including the oscillation
that naive early rejection produces.
Carry forwardAdmission control across two pipelined pools must act on predicted downstream load, or it becomes an oscillator.
arxiv.org/html/2407.00079v1
Paper
Microsoft Research / Georgia Tech2024-03
Taming throughput-latency tradeoff in LLM inference with Sarathi-Serve
The strongest argument for not disaggregating. Chunked prefills split a prefill into
near-equal chunks and schedule them without pausing running decodes, measuring 2.6x higher
serving capacity for Mistral-7B on one A100 and up to 5.6x for Falcon-180B, under latency
SLOs, against the vLLM of the day.
Carry forwardExhaust single-pool scheduling before buying a second pool; the capacity is there and it costs no orchestration.
arxiv.org/abs/2403.02310
Case study
DeepSeek2025-02
DeepSeek-V3/R1 inference system overview
The most specific public account of a large inference deployment: prefill at EP32 over
four nodes, decode at EP144 over eighteen, 226.75 nodes average occupancy at $2 per
GPU-hour, 608B input and 168B output tokens in a day, and 56.3% of input tokens served
from the on-disk KV cache.
Carry forwardSize decode far larger than prefill, and expect roughly half your input tokens to be cache hits on conversational traffic.
github.com/deepseek-ai/open-infra-index
Talk
Meta2025-05
Ye (Charlotte) Qi, Scaling large language model serving infrastructure at Meta, QCon SF
The single most useful practitioner account in this set, and it has a transcript. Tiered
KV caching across HBM, DRAM and flash for over 50% reduction in latency and capacity; a
measured 50 to 100 ms TTFT cost for disaggregation; blast radius arithmetic at forty GPUs
per process group; and the admission that no good autoscaling signal exists.
Carry forward"QPS obviously does not work. Tokens per second works under a lot of caveats." Pick your scaling signal deliberately and instrument for it.
infoq.com/presentations/llm-meta
Eng blog
LMSYS / SGLang2025-05
Deploying DeepSeek with PD disaggregation and large-scale expert parallelism on 96 H100 GPUs
An independent reproduction of DeepSeek's published architecture on twelve nodes,
reaching 52.3k input and 22.3k output tokens per second per node at about $0.20 per
million output tokens. Names its own limits honestly, including that expert parallelism
"often leads to uneven workload distribution across GPUs".
Carry forwardExpert-parallel load imbalance worsens with GPU count, and the balancer needs production traffic to be tuned against.
lmsys.org/blog/2025-05-05-large-scale-ep
Eng blog
llm-d (IBM, Red Hat, Google, Alibaba)2025-09
KV-cache wins you can see
A four-way comparison of routing strategies on a shared-prefix workload: P90 TTFT of
0.542s for precise prefix-cache scheduling against 92.551s for random, with throughput of
8,730 against 4,428.7 tokens per second for load-aware. Notable for saying where it does
not apply.
Carry forwardPrefix routing collapses for RAG, where "the exact documents and their order often change between queries".
llm-d.ai/blog/kvcache-wins-you-can-see
Eng blog
Red Hat / IBM2025-10
Master KV cache aware routing with llm-d
The implementation detail behind the benchmark: a block index mapping hashes to pods, a
prefix store to avoid re-tokenising, and a scorer that ranks pods by consecutive matching
blocks from the start of the prompt. Reports 87.4% hit rate and 99.92% of traffic landing
on one pod.
Carry forwardCache-aware routing deliberately creates hot spots; pair it with a load scorer or you have built a single point of contention.
developers.redhat.com
Eng blog
Anyscale2025-11
Ray Serve LLM: wide-EP and disaggregated serving with vLLM
The clearest published statement of what disaggregation costs operationally: replicas
stop being independent, and something has to coordinate data-parallel attention, expert
routing and the prefill/decode split across possibly heterogeneous hardware. Reports 2.4k
tokens per second per H200 on Nebius with InfiniBand.
Carry forwardDisaggregation converts a stateless replica fleet into a topology-aware placement problem. Budget for that, not just for GPUs.
anyscale.com/blog
Eng blog
Character.AI2024-06
Optimizing AI inference at Character.AI
Serving economics at conversational scale: around 20,000 queries per second, serving
costs reduced by at least 33x since late 2022, and a claim of 13.5x cheaper than the most
efficient leading commercial APIs. Light on mechanism, unusually specific on outcome.
Carry forwardThe order-of-magnitude savings in this space come from attention and cache design, not from buying cheaper GPUs.
blog.character.ai
Decision record
vLLM project2024-12
RFC 10818: disaggregated prefilling and KV cache transfer roadmap
The decision to build KV transfer around a cache store rather than direct peer-to-peer
links, stated in one line with an open invitation to object. Also the roadmap for XpYd
topologies, asynchronous layer-by-layer transfer and third-party store integrations.
Carry forwardThe store-versus-P2P choice is what makes cross-request reuse possible; it is not just a transport detail.
github.com/vllm-project/vllm/issues/10818
Decision record
vLLM project2024-06
RFC 5557: implement disaggregated prefilling via KV cache transfer
The original design thread, six months earlier. Proposes a communicator and a KV database
keyed on the automatic-prefix-caching hash, and names long-document reuse as a
co-equal motivation alongside disaggregation itself.
Carry forwardPrefix-cache hashing is the shared addressing scheme underneath both reuse and transfer; design it once.
github.com/vllm-project/vllm/issues/5557
Source
vLLM project2026-03
RFC 36923: KV push from prefill to decode
An argument that the shipped pull model serialises decode behind prefill, with a
push-based alternative measured at 1.2x to 3.0x better and a P99 TTFT falling from
1,125.98 ms to 302.37 ms on one shape. Also honest about what the proposal does not
handle: multi-node, pipelining, and failure fallback.
Carry forwardIf you are running disaggregation today, the transfer direction is a live performance bug, not a settled design.
github.com/vllm-project/vllm/issues/36923
Source
vLLM project2025-10
PR 26504: adaptive speculative decoding, closed as stale
Eight months open, then closed. The interesting part is the review: acceptance rate as a
control signal "struggled on this workload", with measured goodput argued as the better
input. A worked example of a good idea failing on its choice of feedback variable.
Carry forwardBefore building adaptive speculation, decide whether you are controlling on acceptance rate or on goodput. The first has been tried.
github.com/vllm-project/vllm/pull/26504
Source
vLLM project2025-06
RFC 19038: prefill-only optimisations for PD disaggregation
Once a node only ever prefills, it can put generated KV in CPU memory instead of GPU
memory, claimed at roughly 7x context length on an A100 40GB. The specialisation argument
for disaggregation, stated more concretely than in any vendor material.
Carry forwardThe real return on splitting pools is what each pool is then allowed to do differently, not the split itself.
github.com/vllm-project/vllm/issues/19038
Paper
AIBrix Team2025-02
AIBrix: towards scalable, cost-effective large language model inference infrastructure
A cloud-native serving framework describing the same five parts as everyone else, but
naming routing as "prefix-aware, load-aware" in one scorer rather than treating cache
locality and load as competing strategies. Claims a "50% increase in throughput" and a
"70% reduction in inference latency".
Carry forwardCache locality and load are inputs to one scoring function, not a choice between two routers; the numbers here are the project's own.
arxiv.org/abs/2504.03648
Vendor
vLLM project2026-08
Disaggregated prefilling (experimental), official documentation
Documentation that argues against its own feature's most common selling point:
"disaggregated prefill DOES NOT improve throughput". Its stated purpose is tuning TTFT and
ITL separately and controlling tail ITL. Still marked experimental.
Carry forwardQuote this line in the design review where someone proposes disaggregation as a throughput project.
docs.vllm.ai/en/latest/features/disagg_prefill
Vendor
NVIDIA / Perplexity2024-12
Perplexity AI serves 400 million search queries a month using the NVIDIA inference stack
Vendor material, so read it for shape rather than for outcomes. Useful anyway: 435
million queries a month across more than twenty models, an in-house front-end scheduler
routing on load against SLAs, and about $1M a year saved by insourcing one small-model
feature.
Carry forwardThe published savings come from moving small, high-volume features off third-party APIs, not from self-hosting the frontier model.
developer.nvidia.com
Vendor
Google Cloud2026-06
GKE Inference Gateway prefix caching accelerates AI inference
A commissioned benchmark on Llama 3.1 8B across eight A100s, reporting 92.8% lower mean
TTFT and 15.7% more output token throughput against an unnamed third party on a
shared-prefix workload. No caveats offered about workloads without shared prefixes.
Carry forwardEvery number here depends on the prefix-sharing ratio of the test workload; ask for that ratio before believing any of it.
cloud.google.com/blog