Skip to content

LLM Inference Platforms: Serving Tokens at Planetary Scale

Scope and Evidence Contract

No single public “frontier provider architecture” exists. This analysis triangulates peer-reviewed systems: Orca (OSDI 2022), vLLM (SOSP 2023), DistServe (OSDI 2024), SGLang (NeurIPS 2024), and Mooncake (FAST 2025). The following labels distinguish paper evidence from inference and composite design:

  • Documented fact: a mechanism or result in one named paper and evaluation.
  • Inference: a consequence derived from the workload or documented mechanism.
  • Reference design: a composite platform assembled from multiple systems. It is not a claim that any provider implements every component.

Results across papers are not directly rankable. They use different models, accelerators, traces, batch policies, latency objectives, and baselines. “2× throughput” is meaningless without that experimental envelope.

Start with the Serving Contract

An inference platform accepts more than a prompt. A request contract commonly includes:

  • model and immutable model version,
  • input token sequence and maximum output length,
  • sampling parameters and random seed where supported,
  • stop sequences and structured-output constraints,
  • streaming or non-streaming delivery,
  • tenant identity, quota class, deadline, and cancellation signal,
  • cache eligibility and privacy boundary,
  • adapter or fine-tune identity.

The platform should make four invariants explicit:

  1. Admission invariant: admitted work has a bounded resource reservation or can be safely preempted.
  2. Isolation invariant: one tenant's long prompt or output cannot consume unbounded shared queue, KV-cache, or decode slots.
  3. Version invariant: every token in a response comes from the selected weight, tokenizer, adapter, and decoding-policy versions.
  4. Streaming invariant: cancellation and backpressure eventually stop compute; a disconnected client does not generate indefinitely.

Correctness is probabilistic at the model layer, but the serving system still has deterministic obligations: authorization, versioning, accounting, ordering, and resource isolation.

Workload Physics

For an autoregressive Transformer, serving divides into two phases.

PropertyPrefillDecode
WorkProcess all input tokens and create KV stateGenerate one or a few new tokens per iteration
ParallelismLarge matrix operations over prompt tokensSmall per-sequence step, batched across sequences
Frequent bottleneckCompute, especially for long uncached promptsWeight/KV memory bandwidth and KV capacity
User metricTime to first token (TTFT)Time per output token (TPOT) or inter-token latency
Interference riskLong prompt delays active decodesLarge decode batch delays newly arriving prefills

This classification is a roofline tendency, not a law. Model architecture, sequence length, quantization, tensor parallelism, kernel implementation, and batch shape can move either phase between compute and memory limits.

For percentile objectives, decompose latency rather than reporting one average:

TTFT=Tgateway+Tqueue,p+Tprefill+TKV transfer+Tfirst decodeE2E=TTFT+i=2mTdecode,i+Tstream

where m is the number of generated tokens. A useful platform objective is goodput:

G=#{requests meeting all stated SLOs}accelerator-second

Raw tokens/s can rise while goodput falls if large batches violate TTFT or TPOT targets.

What the Primary Systems Actually Establish

Orca: OSDI 2022

Orca introduced iteration-level scheduling: after each model iteration, finished sequences leave and newly ready sequences may join. That removes the “wait for every sequence in a static batch” barrier. Its selective batching mechanism let operations with different batching constraints coexist.

In the paper's GPT-3 175B evaluation, Orca reported up to 36.9× higher throughput than FasterTransformer at the same latency target. That is a paper-specific comparison, not a general improvement over all modern engines.

Established principle: batch membership should follow token-generation progress, not whole-request lifetime.

vLLM and PagedAttention: SOSP 2023

Autoregressive attention stores key and value tensors for previous tokens. Conventional contiguous allocation wastes memory through reserved-but-unused output space and fragmentation. vLLM's PagedAttention divides KV state into blocks, maps logical blocks to non-contiguous physical blocks, and enables copy-on-write sharing for common prefixes or parallel samples.

Across its evaluated workloads, vLLM reported 2–4× the throughput of FasterTransformer and Orca at comparable latency. The paper's result demonstrates the value of its memory manager and scheduler under those experiments; it is not a 2–4× promise for arbitrary current hardware or models.

Established principle: KV memory is an operating-system-style allocation problem, and block tables decouple logical sequence growth from physical placement.

DistServe: OSDI 2024

DistServe separates prefill and decode onto different GPU pools. It then co-optimizes resource allocation, parallelism, and placement: prefill/decode transfer consumes interconnect bandwidth, so separating pools without topology-aware placement can lose the benefit.

The paper reported up to 7.4× more requests under its SLOs, or up to 12.6× tighter SLOs at the same request rate, with more than 90% of requests meeting the evaluated constraints. Those alternatives summarize different experimental comparisons; they should not be multiplied together.

Established principle: phase disaggregation can isolate TTFT from TPOT interference, but KV transfer becomes a first-class stage.

SGLang: NeurIPS 2024

SGLang targets structured generation programs with repeated prefixes, branching, tool interactions, and constrained decoding. RadixAttention stores reusable KV prefixes in a radix tree, while a compressed finite-state-machine representation reduces structured-output overhead.

The paper reported up to 6.4× higher throughput on evaluated structured language-model programs. This does not establish the same gain for ordinary one-shot completions.

Established principle: scheduling can exploit program structure and prefix lineage, not only independent request lengths.

Mooncake: FAST 2025

The paper is Mooncake: Trading More Storage for Less Computation, subtitled A KVCache-centric Architecture for Serving LLM Chatbot. It documents the Kimi production platform, including disaggregated prefill and decode and a distributed KV cache spanning accelerator memory, CPU DRAM, SSD, and network resources.

The production context was thousands of nodes and more than 100 billion tokens/day. The authors reported 115% and 107% more requests than previous vLLM-based systems on A800 and H800 deployments, respectively. These are vendor-authored production comparisons, not independently normalized benchmarks.

The reproducible experiments used a dummy Llama-3-70B workload and replay traces. One comparison allocated 16 nodes with eight A800 GPUs each per system. Example trace characteristics included:

TraceRequestsMean input tokensMean output tokensReported cache ratio
Real conversation12,03112,03534340%
Tool and agent23,6088,59618259%
Synthetic3,99315,32514966%

The paper reported 59–498% capacity gains under selected time-between-token objectives. Its global cache-aware scheduler reduced average TTFT by another 14% relative to local cache-aware scheduling in the stated evaluation. Mooncake described an 8×400 Gbit/s network and petabyte-scale cache resources; the design relies on overlap, chunking, and high-bandwidth transfer rather than assuming KV movement is free.

Established principle: recomputable KV state can be treated as a distributed storage hierarchy when reuse value exceeds movement and retention cost.

Reference Design: Evidence-Bounded Composite

This diagram combines documented ideas. No cited paper documents this exact complete topology.

The design has separable choices:

  • A colocated engine may beat disaggregation when requests are short or the interconnect is weak.
  • HBM block paging does not require a cluster-wide SSD cache.
  • Prefix-aware routing is valuable only when reuse probability exceeds load-imbalance and transfer costs.
  • Batch work may use the same fleet under priority scheduling or a physically separate pool.
  • Speculative decoding, quantization, and mixture-of-experts routing are independent optimizations, each with quality and topology constraints.

The KV-Cache Ledger

For standard multi-head or grouped-query attention, an illustrative per-sequence KV byte count is:

BKV=2×L×HKV×dhead×b×n

where:

  • 2 represents keys and values,
  • L is layer count,
  • HKV is the number of KV heads,
  • dhead is head dimension,
  • b is bytes per stored element,
  • n is cached tokens.

Illustrative, not a provider fact: with L=80, HKV=8, dhead=128, BF16 (b=2), and n=32,768:

BKV=10,737,418,240 bytes=10 GiB per active sequence

One hundred such fully populated sequences approach 1 TiB before allocator metadata, fragmentation, replicas, or model weights. This is why maximum context is not the same as economically supportable concurrency.

Transfer is also visible to the user. At an effective 200 Gbit/s payload rate (25 GB/s), moving a 10 GiB cache takes at least:

Twire10.74 GB25 GB/s=0.43 s

before queueing, protocol overhead, and destination writes. A disaggregated system therefore needs one or more of prefix hits, partial/chunked transfer, overlap with computation, smaller KV representations, or a looser TTFT objective.

Cache admission is an economic decision

For a candidate prefix i, define:

Vi=pi×Crecompute,iCstore,iCmove,iCimbalance,i

where pi is expected reuse probability. Cache the prefix when expected value Vi is positive subject to privacy and tenancy constraints. LRU alone ignores recompute cost, prefix fan-out, and the load skew caused by cache affinity.

Use a content hash only over data permitted to share a cache domain. A tenant-scoped system prompt must not become a cross-tenant timing or data side channel simply because its token IDs match.

Scheduling and Admission Control

Continuous batching

At each decode iteration, the scheduler can:

  1. remove completed or cancelled sequences,
  2. admit sequences whose KV allocation is guaranteed,
  3. choose token and block budgets,
  4. run one model step,
  5. stream outputs and update accounting.

The scheduler must reserve for growth. Admitting based only on current KV use creates late out-of-memory failures as sequences approach their maximum output length.

Chunked prefill

Splitting a long prefill into chunks prevents it from monopolizing a device between decode steps. Small chunks improve responsiveness but add scheduling and kernel overhead; large chunks improve utilization but worsen TPOT interference. Tune against the joint request-length distribution, not a fixed folklore value.

Priority and fairness

Priority without admission control is not isolation. A robust hierarchy can apply:

  • global model capacity limit,
  • tenant token-rate and concurrent-sequence limits,
  • workload-class queues,
  • per-request deadline and maximum output reservation,
  • weighted fair allocation inside a class,
  • early rejection when estimated completion cannot meet the advertised objective.

Interactive work can preempt queued batch work, but already-running accelerator kernels and allocated KV are not free to preempt. The preemption unit and cost must be measured.

Model and adapter placement

Weights can be hundreds of gigabytes and may need tensor, pipeline, or expert parallelism. Placement must satisfy topology constraints: a nominally free GPU across a slow link may be unusable. LoRA adapters reduce per-variant weight size but add cache/version pressure and can fragment batches when requests require different adapters.

Failure Semantics

FailureSystem responseUser-visible effectAccounting rule
Gateway retry after timeoutDeduplicate by request/idempotency key if contract supports itMay reconnect before first tokenNever bill duplicate accepted work silently
Prefill worker dies before handoffRetry on another worker if deadline permitsHigher TTFTRecord discarded compute
Decode worker diesRe-prefill or recover replicated KV if availableStream interruption or latency gapDefine whether partial output is billable
KV transfer times outFall back to recompute, reroute, or rejectTTFT spikeAttribute transfer and recompute separately
Cache tier corrupts an entryVerify model/version/prefix identity and checksum; recomputeUsually latency onlyCorrupt cache must not alter tokens
Model rollout is mixedPin all stages to one immutable version tupleNo cross-version responseUsage record carries exact tuple
Client disconnectsPropagate cancellation to schedulerStream stopsMeter only per published policy
Tenant exceeds quotaReject before expensive allocationExplicit 429/admission errorDo not queue without bound
Interconnect partitionKeep colocated paths; shed disaggregated workReduced capacityAvoid repeated KV-transfer storms

Exactly-once generation is generally the wrong abstraction once bytes have streamed. A client may receive tokens that the gateway cannot know were consumed. APIs need an explicit resume/retry contract and stable usage records rather than pretending the response is atomic.

Overload and Congestive Collapse

GPU queues hide overload until deadlines are already impossible. Long prompts then consume prefill and KV resources, decode slows, sequences remain resident longer, and KV pressure grows further, creating a positive feedback loop.

Break the loop before allocation:

  1. Estimate prefill tokens, maximum decode reservation, cache hit probability, and topology cost.
  2. Reject or defer work that cannot satisfy its class objective.
  3. Cap queued tokens and KV bytes, not merely request count.
  4. Cancel abandoned streams promptly.
  5. Preserve a recovery margin so worker loss does not push every survivor past its limit.

Retries require budgets and jitter; see Retries, Timeouts, and Hedging. Hedging full decode is usually wasteful because both copies allocate KV and generate billable tokens. A narrow prefill hedge may be defensible only when cancellation is fast and duplicate cost is bounded.

Observability and Evaluation

Every request trace should carry at least:

  • model/tokenizer/adapter/engine versions,
  • input, cached-input, and generated token counts,
  • queue, prefill, transfer, first-token, and per-token latency,
  • batch size and token budget at each iteration,
  • KV blocks allocated, hit tier, evictions, and recomputations,
  • parallelism topology and worker identity,
  • admission, cancellation, retry, and finish reason,
  • tenant and workload class through privacy-safe identifiers,
  • estimated and charged cost.

Report TTFT and TPOT by prompt/output buckets and cache-hit state. A global p95 can improve merely because traffic shifted toward shorter prompts. Pair latency with goodput, rejection rate, utilization, and completed useful tokens per accelerator-hour.

An engine benchmark is incomplete unless it pins:

  1. model architecture, precision, weights, and tokenizer;
  2. accelerator type/count, memory, interconnect, driver, and kernels;
  3. prompt/output length distribution and arrival process;
  4. cache warmness and prefix-sharing distribution;
  5. scheduling policy and maximum concurrency;
  6. percentile objectives and whether rejected requests count;
  7. baseline versions and tuning effort;
  8. quality checks for quantization or speculative decoding.

See LLM Evaluation for model-quality gates and GPU Inference Internals for kernel and bandwidth analysis.

Design Alternatives

DecisionPrefer colocated prefill/decodePrefer disaggregated pools
Request mixShort, homogeneous prompts and outputsBimodal/long prompts causing decode interference
FabricLimited or oversubscribedHigh-bandwidth, topology-aware placement
OperationsSimpler failure and autoscaling modelSeparate TTFT/TPOT capacity planning is worth complexity
Cache reuseMostly local and transientLarge repeated prefixes justify shared hierarchy
LoadSmall enough for per-replica schedulingFleet scale supports specialized pools
Cache placementAdvantageCost
HBMLowest access latencyMost expensive; competes with active KV and weights
Host DRAMLarge and relatively fastPCIe/network transfer and host NUMA effects
Local SSDDense and cheapRead amplification, wear, and millisecond tails
Remote tierFleet-wide sharing and durability optionsNetwork congestion, privacy boundary, coordination

Design-Review Questions

  1. What exact arrival, input-length, output-length, and prefix-reuse distributions drive capacity?
  2. Which objective is published: TTFT, TPOT, end-to-end latency, or goodput? If it is latency-based, which percentile does it constrain?
  3. What is the maximum KV reservation at admission, including beam/parallel samples and speculative state?
  4. When does cache affinity lose to queue imbalance? Show the cost function and measurements.
  5. Can a tenant infer another tenant's cached prefix through latency or billing?
  6. What happens to an already-streaming response when a decode worker or gateway fails?
  7. Are prefill/decode pools independently autoscaled without creating a transfer bottleneck?
  8. Which topology links carry tensor-parallel collectives, expert all-to-all, and KV transfer simultaneously?
  9. Does cancellation reach the GPU scheduler, or only close the HTTP socket?
  10. Can one immutable version tuple be proven across gateway, tokenizer, prefill, decode, adapter, and safety policy?
  11. Does a claimed throughput gain still hold at the same quality, request distribution, and SLO-attainment rate?
  12. What recovery headroom remains after losing one host, one rack, or one cache tier?

Lessons That Generalize

  1. Separate phases only when the benefit of independent scheduling exceeds state-transfer and operational cost.
  2. Memory management can dominate model arithmetic; PagedAttention is a systems result about allocation and sharing.
  3. Recomputable state is still valuable state. Its cache policy should price recomputation, movement, tenancy, and load imbalance.
  4. Goodput under explicit objectives is more honest than peak tokens/s.
  5. Admission must budget future sequence growth, not just present memory.
  6. Streaming turns retries, billing, and failure into protocol semantics that the API must expose.
  7. A composite industry pattern must retain provenance: continuous batching, paged KV, phase disaggregation, structured-prefix reuse, and multi-tier cache were demonstrated by different systems.

Primary References

A practical reference for distributed system design. Released under the MIT License.