Contents
  1. The request-serving path
  2. Latency and throughput boundaries
  3. Workload shape and service objectives
  4. Prefill and iterative decoding
  5. Token selection and stopping
  6. Streaming delivery and cancellation
  7. KV state and the resident memory budget
  8. Cache blocks and compatible prefix reuse
  9. Compute, memory movement, and execution overhead
  10. Batching independent requests
  11. Scheduling prompt work and continuing streams
  12. Queueing and sustainable capacity
  13. Serving experiments and diagnosis
  14. Check understanding
  15. Open questions
  16. Selected talks
  17. References
  18. Talk library
← All topics

LLM Inference

LLM serving applies a trained model to a prompt while managing a changing sequence, retained computation, and shared resources. A useful capacity claim connects the request’s path to explicit latency and completion targets. Model size and accelerator specifications describe only part of that system.

The request-serving path

Inference applies learned parameters without updating them. For a loaded decoder-only language model, the prompt is the supplied sequence; tokens are its vocabulary units. Autoregressive generation selects a continuation token, then conditions the next prediction on that selection. Vocabulary readout and autoregressive generation explains the underlying prediction mechanism.

Input preparation turns application messages into the model’s expected sequence. A chat template serializes roles, contents, and control tokens. Using the wrong template or duplicating special tokens changes what the model receives, even when the application’s message objects look correct.

An execution engine runs the model; a server accepts requests and coordinates their execution. In the TensorRT-LLM deployment example, a compiled engine supplies model execution while Triton supplies hosting and batching. One HTTP request therefore encloses many model operations rather than one indivisible GPU call.

Model weights are shared learned parameters. Request state depends on the current sequence. Prefill processes the supplied prompt; decode continues it incrementally. Waiting before execution, delivering output, and finishing the request add boundaries around those phases, so execution time and client-visible latency need separate measurements.

Latency and throughput boundaries

MeasurementBoundary and interpretation
Time to first token: TTFTAt the client, request start to first nonempty content receipt; headers and empty events do not count.
Inter-token latency: ITLIntervals between successive token events at a specified observation point. Engine events and client arrivals differ.
Average continuation time: TPOTElapsed time after the first output token, divided by the number of subsequent tokens.
Completion latencyRequest start to the declared completion event. State whether that event is last content or terminal protocol completion.
Request throughputCompleted requests divided by observation duration; specify which finish outcomes count.
Token throughputProcessed input tokens or generated output tokens per observation second. Report these as separate quantities.
TPOT=tNt1N1,N2.\operatorname{TPOT}=\frac{t_N-t_1}{N-1},\qquad N\ge2. Here NN is the output-token count and t1,tNt_1,t_N mark first and last token observations at the same boundary. TPOT is undefined for fewer than two tokens. Using content-response timestamps instead produces a boundary-based average when responses contain multiple tokens.

One request, several boundaries

Example timings

First content, last content, and terminal completion differ.

Dispatch to terminal completion0120 msDuration 120 ms
Server waiting515 msDuration 10 msWithin Dispatch to terminal completion
Prompt processing1540 msDuration 25 msWithin Dispatch to terminal completion
Subsequent generation40105 msDuration 65 msWithin Dispatch to terminal completion
Incremental delivery40115 msDuration 75 msWithin Dispatch to terminal completion
Client TTFT045 msDuration 45 msWithin Dispatch to terminal completion
Last content to terminal event115120 msDuration 5 msWithin Dispatch to terminal completion
Assume aligned clocks. First content arrives at 45 ms, last content at 115 ms, and terminal completion at 120 ms. Delivery overlaps generation. Parentage denotes containment; overlapping spans must not be summed as elapsed time.
Read the diagram as text
  • Dispatch to terminal completion. 0 to 120 ms; duration 120 ms.
  • Server waiting. 5 to 15 ms; duration 10 ms. Parent: Dispatch to terminal completion.
  • Prompt processing. 15 to 40 ms; duration 25 ms. Parent: Dispatch to terminal completion.
  • Subsequent generation. 40 to 105 ms; duration 65 ms. Parent: Dispatch to terminal completion.
  • Incremental delivery. 40 to 115 ms; duration 75 ms. Parent: Dispatch to terminal completion.
  • Client TTFT. Measurement interval, not additional work. 0 to 45 ms; duration 45 ms. Parent: Dispatch to terminal completion.
  • Last content to terminal event. 115 to 120 ms; duration 5 ms. Parent: Dispatch to terminal completion.

Metric names are not interchangeable contracts. AIPerf labels its per-request continuation average ITL. GenAI-Perf instead normalizes successive response intervals by the later response’s token count. Neither convention recovers every internal token-emission interval from bundled responses.

A p99 latency is the 99th percentile of a specified population of observations, not an average. Request-latency percentiles and response-interval percentiles use different observation units. Record the population, duration, tokenizer, and load alongside the number.

A service-level objective, or SLO, states a target and its required attainment. Serving objectives can constrain both response onset and continuation pace. Task metrics, latency and usage accounting covers their broader design. Meeting a latency objective does not establish answer correctness.

Workload shape and service objectives

A workload has a joint distribution of input and output lengths: how often each combination occurs. Independent averages hide whether long prompts also produce long answers. Those requests can combine expensive prompt processing with prolonged memory residency, reducing the room available for other requests.

Workload shapeServing consequence
Long input, short outputPrompt processing can dominate; first-token performance deserves particular attention.
Short input, long outputMany dependent continuation steps make output pace and sustained state access important.
Repeated compatible prefixPrefix reuse can remove repeated prompt work, but each new continuation still requires generation.

Arrival rate counts incoming requests per second. Active concurrency counts requests occupying execution resources; total outstanding requests also includes waiting work. Burstiness means arrivals cluster unevenly over time. A burst can increase outstanding work without changing the long-run average arrival rate.

Measure input length after conversation serialization, including role markers and generation prompts. Complete-request token counts explains why document counts alone are insufficient. Changing formatting can change both total input length and the prefix available for reuse.

Input truncation removes tokens before execution and can discard needed evidence. An output limit instead caps newly generated tokens. A remote service may reject oversized inputs rather than truncate them; the tokenizer setting does not establish the server’s policy.

A supported context window describes admissible sequence length, not reliable use of every position. Controlled long-context studies found position-dependent retrieval performance in several evaluated models. Test relevant-information position and distractors separately instead of treating nominal context capacity as a quality guarantee.

A capacity objective must identify the workload class, arrival pattern, latency percentiles, completion target, and acceptable rejection rate. Throughput comparisons become decision-relevant only after excluding configurations that violate those requirements. A single fast request cannot establish performance under the intended load.

Prefill and iterative decoding

Prompt tokens are already known, so prefill can process many positions together. Causal visibility still restricts each position to itself and earlier positions. Parallel computation does not grant access to future context; Visibility and attention masks explains that distinction.

The final prompt position supplies scores for the first output selection. Processing that selected token supplies the next selection; selection alone does not create its cached representations.

Selection precedes new cached state

Example

Only processed positions have KV representations.

1 / 3 · Process prompt

Create prompt representations and scores.

Prompt processing selects y1. Processing y1 creates its KV state and selects y2.
Read the diagram as text
  • Fixed weights.
  • Prompt positions 1…N.
  • Prompt KV.
  • Scores at N.
  • Token y1.
  • KV at N+1.
  • Scores at N+1.
  • Token y2.
  • Fixed weightsPrompt KV: parameters.
  • Fixed weightsScores at N: parameters.
  • Prompt positions 1…NPrompt KV: processing yields.
  • Prompt positions 1…NScores at N: processing yields.
  • Scores at NToken y1: select.
  • Token y1KV at N+1: processing yields.
  • Token y1Scores at N+1: processing yields.
  • Prompt KVScores at N+1: retained context.
  • Fixed weightsScores at N+1: parameters.
  • Scores at N+1Token y2: select.
  1. Process prompt. Create prompt representations and scores. Active: Fixed weights, Prompt positions 1…N, Prompt KV, Scores at N. New: Fixed weights, Prompt positions 1…N, Prompt KV, Scores at N.
  2. Select y1. No y1 KV yet. Active: Fixed weights, Prompt positions 1…N, Prompt KV, Scores at N, Token y1. New: Token y1.
  3. Process y1; select y2. Retain prompt KV. y2 remains unprocessed. Active: Fixed weights, Prompt positions 1…N, Prompt KV, Scores at N, Token y1, KV at N+1, Scores at N+1, Token y2. New: KV at N+1, Scores at N+1, Token y2.

The key-value cache, or KV cache, retains attention keys and values from processed positions. Keeping these representations avoids repeating their computation. It does not eliminate the new computation or retained-state access needed when the next selected token enters the model.

Ordinary continuation remains dependent across selections: choosing a different token changes the prefix and therefore subsequent prediction distributions. Processing a known prompt in parallel and batching independent requests exploit different opportunities; neither removes this within-sequence dependency.

Token selection and stopping

Logits are unnormalized vocabulary scores. Greedy decoding chooses a highest-scoring token; sampling draws from a probability distribution derived from scores. A vocabulary projection produces those scores, but the resulting vector is not itself a token or an estimate of answer correctness.

pi(T)=exp(zi/T)jexp(zj/T),T>0.p_i(T)=\frac{\exp(z_i/T)}{\sum_j\exp(z_j/T)},\qquad T>0. Here ziz_i is candidate ii's logit and TT is temperature. Lower temperature concentrates probability on higher scores; higher temperature flattens it. Greedy selection is a separate rule: the formula does not accept T=0T=0.

Suppose three candidates have probabilities 0.60, 0.25, and 0.15 at temperature one. At temperature two, probabilities become proportional to their square roots, approximately 0.47, 0.30, and 0.23 after normalization. The ranking remains unchanged, but lower-ranked candidates become more likely.

Filtering the original 0.60, 0.25, 0.15 distribution:
RuleEligible candidatesProbabilities after filtering
Top-k, k = 2The two highest-probability candidates0.60/0.85 and 0.25/0.85
Top-p, p = 0.80The smallest leading set reaching 0.80: the same two candidates0.60/0.85 and 0.25/0.85

Top-k fixes candidate count; nucleus sampling, or top-p, fixes a cumulative-probability threshold. They happen to retain the same set above but need not do so elsewhere. These controls alter selection without retraining the model or validating the selected answer.

Stopping boundaryMeaning
End-of-sequence: EOSA designated token can end generation when the runtime honors it.
Stop stringA matching text sequence can end output; the returned text may exclude generated stopping content.
Output-token limitA generation cap stops further output; it does not ensure a complete answer.
Context limitSupported sequence length constrains prompt plus continuation independently of allocated cache capacity.

A fixed random seed controls only part of reproducibility. Scheduling, numerical execution, hardware, and runtime versions can also matter. For example, vLLM distinguishes seeded randomness from deterministic scheduling or supported batch-invariant execution, and bounds its reproducibility guidance to the same hardware and version.

Constrained decoding masks tokens that would violate a represented structure before selection. It narrows the generation path rather than merely parsing arbitrary text afterward. Constraints during generation covers this mechanism; structural conformity does not establish factual correctness.

Applications must inspect completion status before accepting a generated record. Refusal, output exhaustion, and partial streaming responses require separate handling. A schema-conforming completed result can still contain mistakes; a partial prefix is weaker evidence still.

Streaming delivery and cancellation

Generation decoding selects tokens; tokenizer decoding reconstructs text from their IDs. Incremental reconstruction can buffer output before delivery. Decoding and text preservation explains the representation boundary. A delivered text fragment can contain several tokens or only part of their eventual printable text.

EventWhat it establishes
Token ID selectedGeneration has advanced; printable text need not yet be available.
Text fragment queuedA downstream consumer can retrieve text; client receipt is a later boundary.
Client receives a chunkContent has arrived, but chunk timing cannot reveal every internal token interval.

Abort and cleanup are separate

Example

Terminal status can precede ownership release.

1 / 4 · Active

Execution may write blocks.

Assume disconnect propagates to an abort. An in-flight writer delays cleanup; other requests’ references can still prevent overwrite afterward.
Read the diagram as text
  • Request R.
  • R’s block group.
  • Running.
  • Abort handled.
  • Cleanup pending.
  • Writer finished.
  • R’s ownership released.
  • Request RRunning: status.
  • Request RAbort handled: terminal status.
  • Request RR’s block group: associated state.
  • R’s block groupCleanup pending: release blocked.
  • R’s block groupWriter finished: safe-release condition.
  • R’s block groupR’s ownership released: ownership.
  1. Active. Execution may write blocks. Active: Request R, R’s block group, Running. New: Request R, R’s block group, Running.
  2. Abort handled. No further scheduling; cleanup waits. Active: Request R, R’s block group, Abort handled, Cleanup pending. New: Abort handled, Cleanup pending.
  3. Writer finishes. Deferred release becomes safe. Active: Request R, R’s block group, Abort handled, Writer finished. New: Writer finished.
  4. Release. R relinquishes its references. Active: Request R, R’s block group, Abort handled, R’s ownership released. New: R’s ownership released.

Stop-string handling can intentionally delay text. The inspected vLLM detokenizer withholds a suffix while checking whether it completes a stop string. Generated token IDs and returned text can therefore account for different content, even without network delay.

Backpressure means downstream slowdown constrains upstream production. A slow consumer can instead merely accumulate queued output. Buffering alone establishes neither bounded queues nor producer throttling; those behaviors require evidence from the deployed delivery path.

Cancellation must reach request scheduling. Queued work can be removed; active work must stop receiving further scheduling. Cleanup may wait for an in-flight operation that can still write cache blocks. A disconnected client, terminal request status, and released ownership are therefore distinct observations.

KV state and the resident memory budget

Attention keys provide matching features; values provide the information combined using those matches. The KV cache stores these numerical representations, not conversation text or durable records. Queries, keys, values and information mixing explains their roles. Shared weights describe learned transformations; cached representations depend on processed context.

High-bandwidth memory, or HBM, is accelerator-local memory on hardware that provides it. Capacity measures stored bytes; bandwidth measures transferred bytes per second. Enough capacity to hold a model does not imply enough bandwidth to execute it quickly.

MKV=2brnr,hKV,d.M_{\mathrm{KV}}=2b\sum_r\sum_\ell n_{r,\ell}h_{\mathrm{KV},\ell}d_\ell. For unshared cache tensors, nr,n_{r,\ell} is retained positions for request rr, layer \ell; hKV,h_{\mathrm{KV},\ell} is cached heads; dd_\ell is each head’s dimension; and bb is bytes per value. The factor two assumes equally sized keys and values. Uniform precision is assumed; allocation overhead is excluded.

For 32 layers, cached head dimensions totaling 4096 per layer, 4096 retained positions, and two-byte values, one sequence needs 2 × 32 × 4096 × 4096 × 2 = 2,147,483,648 bytes, or 2 GiB. Doubling retained positions doubles these tensor bytes. Cached dimensions need not equal model width in other architectures.

Weights occupy only one allocation. Serving also needs temporary activations, execution workspaces, runtime and communication buffers, and room for transient peaks. Framework-reserved memory and live tensors overlap in accounting; adding them blindly double-counts consumption.

Assume a 24 GiB accelerator budget and the 2 GiB-per-sequence tensors above.
AllocationBudget
Weights14 GiB
Other allocations and headroom4 GiB
Remaining for KV storage6 GiB: at most three such unshared tensor sets before additional cache overhead

This storage ceiling is not validated concurrency. Representative forward-pass profiling and runtime allocation measurements must establish the actual cache budget; graph storage and transient peaks can reduce it further.

Retained history and allocated slots also differ. A static cache reserves capacity; a dynamic cache grows. Windowed layers can retain less history than the total sequence length. Neither allocating more slots nor changing reservation strategy extends the model’s supported positional range.

Quantization uses lower-precision numerical representations. Weight precision and KV precision affect different allocations. Storage dtype, arithmetic dtype, and device placement are separate choices; reducing weight bytes does not halve all serving memory or latency. Quantization covers numerical methods and quality tradeoffs. Supported kernels and workload-specific validation determine whether a smaller representation helps.

Cache blocks and compatible prefix reuse

Reserving contiguous maximum-length caches wastes space for short sequences and can fragment available memory. PagedAttention maps logical token positions to fixed-size physical KV blocks allocated as needed. Partial blocks can still waste space. This is tensor-storage organization, not automatic disk spill or ordinary CPU paging.

Prefix caching reuses compatible prompt computation across requests; it does not return a cached answer. Matching meaning is insufficient. New continuation tokens still require generation, so long outputs can limit the fraction of latency saved. An HTTP interface alone neither promises nor prevents server-side reuse.

One allocation, multiple owners

Example

One request’s completion cannot release another’s state.

1 / 3 · Both active

One shared allocation; separate suffixes.

A and B share compatible block P. With no in-flight writes, completed cleanup removes ownership. Unreferenced P may retain cached contents until eviction.
Read the diagram as text
  • Request A.
  • Request B.
  • Physical prefix block P.
  • A’s private suffix.
  • B’s private suffix.
  • Held by A and B.
  • Held by B.
  • Unreferenced; reusable.
  • Request AHeld by A and B: owns.
  • Request BHeld by A and B: owns.
  • Held by A and BPhysical prefix block P: references.
  • Request BHeld by B: owns.
  • Held by BPhysical prefix block P: references.
  • Request AA’s private suffix: private state.
  • Request BB’s private suffix: private state.
  • Physical prefix block PUnreferenced; reusable: release state.
  1. Both active. One shared allocation; separate suffixes. Active: Request A, Request B, Physical prefix block P, A’s private suffix, B’s private suffix, Held by A and B. New: Request A, Request B, Physical prefix block P, A’s private suffix, B’s private suffix, Held by A and B.
  2. A cleaned up. B still protects P. Active: Request A, Request B, Physical prefix block P, B’s private suffix, Held by B. New: Held by B.
  3. B cleaned up. P becomes overwrite-eligible. Active: Request A, Request B, Physical prefix block P, Unreferenced; reusable. New: Unreferenced; reusable.

Within a compatible engine and model configuration, reuse identity must preserve preceding context and relevant execution inputs. vLLM’s documented block identity includes the parent hash, exact block tokens, and identifiers such as adapters or multimodal content hashes. Thus an identical suffix does not imply identical state. Cache salts restrict matching but are not independently an authorization mechanism.

Shared blocks require shared ownership accounting. Finishing one request cannot make a block available for overwrite while another request still references it. Once references reach zero, cached contents may remain reusable until eviction. Releasing ownership is different from erasing data.

Dynamic allocation follows growth; static allocation reserves a maximum shape that can support compilation but wastes space on shorter sequences. Offloading moves cache state through host memory, trading accelerator capacity for transfers. Cache quantization reduces precision and storage, yet can add latency when short contexts already fit.

Retaining more cached context also requires fast writes and retrieval. A large storage tier can leave accelerators waiting if it cannot deliver useful state promptly. Capacity beyond the workload’s useful reuse horizon has diminishing benefit.

Compute, memory movement, and execution overhead

A capacity limit prevents required state from fitting. A bandwidth limit delays moving operands. A compute limit delays arithmetic. Arithmetic intensity is operations performed per transferred byte at a specified memory level. Processing more positions together can increase operand reuse, changing which limit matters.

tcoremax(FC,DB).t_{\mathrm{core}}\gtrsim\max\left(\frac{F}{C},\frac{D}{B}\right). Here FF is arithmetic operations, CC operations per second, DD transferred bytes, and BB bytes per second. With sufficient overlap, the slower term limits execution. This first-order bound excludes dispatch, queueing, and delivery; allocated model bytes are not a measurement of DD.

The roofline model expresses the corresponding throughput envelope. Actual execution can fall below it through insufficient parallelism or other inefficiencies. Find the limiting resource connects this model to traces and counters rather than treating peak specifications as predicted request performance.

Prefill often offers more parallel arithmetic; small-batch decode often depends strongly on memory bandwidth. Neither is universal. Batch size, architecture, retained context, and implementation change the balance. Longer histories add retained-state traffic even when the weights remain unchanged.

A kernel is an operation executed on the device; a launch is its host-side submission. CPU preparation and dispatch can leave gaps between GPU operations. Compute, operand movement, and host overhead need distinct evidence before choosing an optimization.

Optimizations target different costs. FlashAttention reduces attention data movement through IO-aware tiling while retaining the exact attention algorithm. Exactness here does not promise bit-identical floating-point results across implementations.

CUDA graph replay reduces repeated host setup and launch overhead by preparing a dependency graph for repeated execution. It does not remove GPU computation. Configuring graph support is insufficient evidence that the measured request actually followed that execution path.

Whole-pipeline profiling can overturn a GPU-focused diagnosis. In the Orpheus serving example, token prediction and audio decoding ran on the GPU, yet CPU coordination limited simultaneous streams in some workloads. Device placement alone does not identify the limiting resource.

Batching independent requests

A batch is work executed together, not every outstanding request. Continuous batching changes membership between generation iterations, allowing completed sequences to leave while others continue. New requests still need their own prompt processing.

PolicyMembership and waiting
Fixed batchA fixed group finishes before replacement; shorter sequences cannot independently admit new members.
Dynamic batch formationDispatch waits briefly for a suitable batch or a formation timeout. Triton’s ordinary dynamic batcher targets stateless calls.
Continuous batchingMembership can change between autoregressive iterations, without waiting for the longest sequence to finish.

Replacement without waiting for B

Example

Batch membership can change between iterations.

1 / 3 · A and B execute

C waits.

A finishes while B continues. C can enter when sequence, token, and cache budgets permit; C’s prompt still requires processing.
Read the diagram as text
  • Request A.
  • Request B.
  • Request C.
  • A running.
  • A finished.
  • B running.
  • C waiting.
  • C admitted.
  • Request AA running: status.
  • Request AA finished: status.
  • Request BB running: status.
  • Request CC waiting: status.
  • Request CC admitted: status.
  1. A and B execute. C waits. Active: Request A, Request B, Request C, A running, B running, C waiting. New: Request A, Request B, Request C, A running, B running, C waiting.
  2. A finishes. B remains active. Active: Request A, Request B, Request C, A finished, B running, C waiting. New: A finished.
  3. C admitted. Available budgets permit prompt work. Active: Request A, Request B, Request C, A finished, B running, C admitted. New: C admitted.

Shared execution can reuse weights across useful work. Padding fills unused positions; packing organizes useful positions without that filler. Consequently, sequence count alone does not describe the computation or memory traffic of a batch.

A sequence limit bounds participating requests; a token budget bounds positions scheduled in an iteration. A prompt can contribute many positions while an ordinary decode step contributes one per continuing sequence. Changing that mixture changes execution shape and the demand on cache memory.

Aggregate tokens per second can increase while each request progresses more slowly. Batch formation adds initial waiting, and shared execution can lengthen continuation intervals. Sweep batch settings against both user-visible latency and total throughput instead of assuming that higher utilization benefits every request.

Scheduling prompt work and continuing streams

A long prefill can delay a continuing stream when both compete for execution. Chunked prefill divides prompt processing across scheduling opportunities. The benefit is shorter interruptions; the cost can include later prompt completion and repeated state access or scheduling work.

One documented policy schedules decode first and uses remaining token budget for prefill chunks. Smaller budgets can favor continuation latency; larger budgets can favor prompt completion and throughput. These are workload-dependent tendencies, not an ordering that dominates every alternative.

Uninterrupted prompt work

Example timings

The active stream waits through the entire prefill.

Shared execution window010 msDuration 10 ms
B: decode step01 msDuration 1 msWithin Shared execution window
New prompt: full prefill19 msDuration 8 msWithin Shared execution window
B: next decode step910 msDuration 1 msWithin Shared execution window
Both schedules contain eight milliseconds of prompt work and two one-millisecond decode steps. Here prompt processing finishes at 9 ms; B’s next step starts then. Parent spans contain work, not extra work; do not sum parents and children.
Read the diagram as text
  • Shared execution window. 0 to 10 ms; duration 10 ms.
  • B: decode step. 0 to 1 ms; duration 1 ms. Parent: Shared execution window.
  • New prompt: full prefill. 1 to 9 ms; duration 8 ms. Parent: Shared execution window.
  • B: next decode step. 9 to 10 ms; duration 1 ms. Parent: Shared execution window.

Prompt work split into chunks

Example timings

Earlier continuation trades against later prompt completion.

Shared execution window010 msDuration 10 ms
B: decode step01 msDuration 1 msWithin Shared execution window
New prompt: first chunk15 msDuration 4 msWithin Shared execution window
B: next decode step56 msDuration 1 msWithin Shared execution window
New prompt: remaining chunk610 msDuration 4 msWithin Shared execution window
The workload and scale match the preceding schedule; extra chunking overhead is omitted. B’s next step starts at 5 ms, while prefill finishes at 10 ms. Further generation lies beyond this window. Parent and child durations must not be added.
Read the diagram as text
  • Shared execution window. 0 to 10 ms; duration 10 ms.
  • B: decode step. 0 to 1 ms; duration 1 ms. Parent: Shared execution window.
  • New prompt: first chunk. 1 to 5 ms; duration 4 ms. Parent: Shared execution window.
  • B: next decode step. 5 to 6 ms; duration 1 ms. Parent: Shared execution window.
  • New prompt: remaining chunk. 6 to 10 ms; duration 4 ms. Parent: Shared execution window.

Priority lets some waiting requests bypass others. Starvation occurs when a request keeps losing scheduling opportunities. Continuous batching and priority support do not establish a fairness bound; a service needs an explicit policy for sustained competing traffic.

Unknown output lengths make admission provisional: cache demand grows during generation. Preemption temporarily removes running work from execution; the inspected scheduler can return it to waiting and later recompute discarded state.

Separating prefill and decode across workers changes placement and communication as well as scheduling. Distributed Training and Inference covers that architecture; within-instance scheduling still needs explicit resource and latency priorities.

Queueing and sustainable capacity

L=λW.L=\lambda W. Little’s Law relates average requests in a system LL, arrival rate λ\lambda, and average residence time WW under stable long-run conditions. At five requests/s and 0.8 seconds residence, average occupancy is four. If residence includes queueing, occupancy must include waiting requests. The relationship predicts neither p99 latency nor finite waiting in an indefinitely growing queue.

Goodput here means completed requests meeting the declared per-request latency criteria per benchmark second. It differs from raw completions and excludes errors or rejections. Timely completions can still be wrong answers.

Raw throughput can hide overload

Example

Compliant completions can decline while raw throughput stays flat.

Fixed workload and configuration

128 input and 64 output tokens; warm execution. Compliance: TTFT ≤1,000 ms and TPOT ≤50 ms.

Scroll sideways if the figure extends beyond the screen.

03.256.59.751302.557.510Offered rate (requests/s)Completion rate (requests/s)All completionsSLO-compliant completions
  • 1. All completions
  • 2. SLO-compliant completions
Read coordinates and regions as data

X: 013 requests/s; Y: 010 requests/s, increasing up. Equal scale on both axes.

All completions (polyline)

(4, 4); (8, 8); (10, 9); (12, 9)

SLO-compliant completions (polyline)

(4, 4); (8, 8); (10, 8.4); (12, 6.5)

Rates equal the accompanying completion counts divided by 60 seconds. Each point is a separate trial; connecting segments guide comparison, not interpolation. Waiting, unfinished work, and rejections remain visible in the table.

The following constructed comparison fixes hardware, warm execution, 128 input tokens, and 64 output tokens. Each trial starts empty and observes 60 seconds. Compliance requires TTFT at most 1,000 ms and TPOT at most 50 ms. No cancellation or execution errors occur.

Counts cover the same window as the plotted rates. Unfinished requests include waiting and active work; p99 values describe completed requests.
Offered req/sCompleted / compliantRejected / unfinishedWaiting at endp99 TTFT / TPOT, ms
4240 / 2400 / 00300 / 20
8480 / 4800 / 00800 / 40
10540 / 5040 / 60562,400 / 80
12540 / 39060 / 1201165,000 / 120

Bounded queues and admission limits make overload explicit. Resource-aware limits matter because requests have unequal costs. Rejection prevents unlimited waiting; degradation reduces work but must expose reduced completeness. Output caps bound generation while potentially truncating useful answers.

Serving experiments and diagnosis

  • Execution identityRecord model and tokenizer revisions, runtime version, hardware, precision, sampling, stopping, seeds, and scheduling conditions. Compare configurations within an explicit reproducibility boundary.
  • Workload and observationRecord joint input/output lengths, concurrency or request rate, warmup, duration, repetitions, and metric boundaries. Keep throughput units explicit.
  • Cache conditionsRecord retained working set and access pattern. Sequential replay and sampling across an expanding user pool stress cache tiers differently; neither automatically represents production.

A closed-loop test waits for replies before issuing replacement work, often maintaining fixed concurrency. An open-loop test schedules arrivals independently. As responses slow, a closed-loop client reduces its own offered rate; an open-loop test can expose growing outstanding work and explicit overload.

Coordinated omission hides delay when stalled issuance removes work or starts its latency clock too late. Record scheduled arrival separately from actual send and completion. MLPerf LoadGen preserves scheduled timestamps so client issuance delay remains visible instead of disappearing from the measured residence time.

Worker startup can include moving weights from storage through host memory into accelerator memory. Separate this from steady execution. Warmup is another condition: initialization and compilation effects should not be silently mixed with warmed measurements.

A warm worker can still receive a cold prefix. Compare cold-prefix and reused-prefix workloads with unchanged request shapes, documented cache reset or isolation, and observed hits. Merely repeating requests does not establish which retained state the server used.

SymptomCompeting causesDiscriminating evidence and bounded change
Long first-content latencyPrompt length, batching, or scheduling delayCompare matched lengths under load; change the implicated waiting or execution policy.
Slow continuationResource limits or interference from prompt workLocate stalls relative to prefill; test a scheduling change with unchanged request shapes.
Cache allocation failureInsufficient budget after non-KV allocations and peaksProfile representative shapes and graph storage before reducing admitted state or changing memory allocation.
Generated output appears lateDetokenization or stop-string bufferingCompare generated IDs with released text before changing model execution.
Unexpectedly low measured throughputServer limit or saturated load generatorCheck achieved sends and client capacity; remote timing also contains network effects.

Inspect execution and memory traces when aggregate profiles leave the cause ambiguous. Redundant launches and idle gaps can explain poor utilization without changing model arithmetic. The useful observation connects a specific interval or allocation to a proposed intervention.

A kernel speedup needs correct execution timing, appropriate input sizes, controlled cache conditions, and an explicit numerical tolerance. Establish correctness and meaningful timing covers those requirements; a faster isolated operation is not yet a serving improvement.

Accept a serving change against matched workload results: latency distributions, completed throughput, errors, rejections, unfinished work, and memory behavior. Evaluate answer quality separately through Controlled offline comparisons. AI Cost and Performance Engineering extends the decision to cost attribution and utilization.

Open questions

  1. Bounded streaming under slow consumers remains deployment-specific. Uncontrolled buffering wastes memory and computation; throttling can instead disrupt execution sharing. Progress requires traces showing delivery-queue bounds, producer response, and disconnect-to-abort behavior under deliberately slow consumption.

  2. Portable KV reuse needs a compatibility contract beyond matching text. Model revisions, positional settings, adapters, and tensor representations can change state meaning. Progress would include explicit compatibility checks and equivalence tests that reject incompatible persisted caches before reuse.

  3. Fair scheduling remains difficult when output lengths are unknown and priority traffic persists. Protecting existing streams can delay new prompts indefinitely. Progress requires a stated waiting or service-share bound, tested under sustained mixed traffic without hiding rejected requests.

  4. Cache retention needs evaluation against changing reuse patterns. Additional capacity can improve hits while slow retrieval erases the benefit. Progress requires controlled cold and reused-prefix trials, measured hits, and joint latency, memory, and completion accounting across a changing working set.

Follow the curated reading path through the speakers and demonstrations behind this entry.

Explore more talks

The rest of the library, beyond the curated path. Cited talks support this entry; reviewed transcripts were processed in full. Metadata candidates have not been reviewed as sources or verified as topic members.

146 matching talks

TalkSpeakerEventYear
Philip Kiely, Yineng ZhangAI Engineer World's Fair 20252025
Stephen Hood, Justine TunneyAI Engineer World's Fair 20242024
Ishan AnandAI Engineer World's Fair 20242024
Charles FryeAI Engineer Summit 20232023
Daniel HanAI Engineer World's Fair 20242024
Kevin HouAI Engineer World's Fair 20242024
AI Engineering 101

Transcript reviewed

Noah HeinAI Engineer Summit 20232023
Aman KhanAI Engineer World's Fair 20252025
Sarah ChiengAI Engineer Europe 20262026
Mozhgan Kabiri ChimehAI Engineer Europe 20262026
Natalie SerrinoAI Engineer Code 20252025
Philip Kiely, Pankaj GuptaAI Engineer World's Fair 20242024
Allen PikeAI Engineer World's Fair 20262026
Jerry LiuAI Engineer Summit 20232023
Erik MeijerAI Engineer World's Fair 20262026
Elizabeth Fuentes LeoneAI Engineer World's Fair 20262026
Nupur SharmaAI Engineer Europe 20262026
Compression at the Edge

Transcript reviewed

Chris Alexiuk, Daniel Han, Asma Beevi, Merve Noyan, Parth SareenAI Engineer World's Fair 20262026
Dylan PatelAI Engineer World's Fair 20242024
Nathan LambertAI Engineer World's Fair 20252025
Zhou YuAI Engineer Summit 20252025
Aakanksha ChowdheryAI Engineer World's Fair 20252025
Vivek MuppallaAI Engineer World's Fair 20262026
Alex CheemaAI Engineer Europe 20262026
Rémi LoufAI Engineer World's Fair 20242024
Luis Romero-SevillaAI Engineer World's Fair 20262026
Sai Krishna RallabandiAI Engineer World's Fair 20262026
Philip KielyAI Engineer World's Fair 20252025
Julián Duque, Anush DSouzaAI Engineer World's Fair 20252025
Sahil Yadav, Hariharan GanesanAI Engineer World's Fair 20252025
Dmytro (Dima) DzhulgakovAI Engineer World's Fair 20242024
Daniel Kim, Daria SobolevaAI Engineer World's Fair 20252025
Steve KorshakovAI Engineer World's Fair 20262026
Daniel HanAI Engineer World's Fair 20252025
Neil Dwyer, Jack DwyerAI Engineer World's Fair 20252025
Arjun Desai, Rohit TalluriAI Engineer World's Fair 20252025
Daniel HanAI Engineer World's Fair 20262026
Arek BoruckiAI Engineer World's Fair 20262026
Joseph NelsonAI Engineer Summit 20232023
Hamed Firooz, Maziar SanjabiAI Engineer World's Fair 20252025
Shelby HeineckeAI Engineer World's Fair 20242024
A Song of Types and Agents

Metadata candidate

Roberto StagiAI Engineer World's Fair 20262026
Sharmila Chokalingam, ShubhiAI Engineer World's Fair 20242024
Will Hang, Cathy ZhouAI Engineer Code 20252025
Kevin HouAI Engineer Summit 20252025
Dan Fu, Olive SongAI Engineer World's Fair 20262026
AGI: The Path Forward

Metadata candidate

Eiso Kant, Jason WarnerAI Engineer Code 20252025
Charles FryeAI Engineer Summit 20232023
Vibhor KumarAI Engineer World's Fair 20242024
Grace IsfordAI Engineer Summit 20252025
Sunny MadraAI Engineer World's Fair 20242024
Samuel DentonAI Engineer World's Fair 20262026
Varun Badrinath Krishna, Petro Junior Milan, Rachelle MatternAI Engineer World's Fair 20242024
Raj NavakotiAI Engineer Europe 20262026
Soumya Gupta, Jai ChopraAI Engineer World's Fair 20262026
Building Cursor Composer

Metadata candidate

Lee RobinsonAI Engineer Code 20252025
Eno ReyesAI Engineer World's Fair 20242024
Dan MasonAI Engineer World's Fair 20252025
Codex, Behind the Harness

Metadata candidate

Dominik KundelAI Engineer World's Fair 20262026
Jedrick Kosinski, ComfyAnonymousAI Engineer World's Fair 20252025
Yusuf OlokobaAI Engineer Code 20252025
Santosh RadhaAI Engineer World's Fair 20242024
Keegan McCallumAI Engineer World's Fair 20252025
Rhythm Garg, Linden LiAI Engineer Code 20252025
Ending AI Slop

Metadata candidate

Thais Castello BrancoAI Engineer World's Fair 20262026
Sayash KapoorAI Engineer Summit 20252025
Maxime LabonneAI Engineer Europe 20262026
Maxime LabonneAI Engineer World's Fair 20242024
Emma Ning, Tsavo KnottAI Engineer World's Fair 20252025
Omri Bruchim, Tomer AstAI Engineer World's Fair 20262026
Rachel Lee Nabors (RL Nabors)AI Engineer World's Fair 20262026
Alex AtallahAI Engineer World's Fair 20252025
Mike BursellAI Engineer World's Fair 20252025
Mithun HunsurAI Engineer Summit 20232023
Vasant KearneyAI Engineer World's Fair 20262026
How Deep Research Works

Metadata candidate

Mukund Sridhar, Aarush SelvanAI Engineer Summit 20252025
Vinoo GaneshAI Engineer World's Fair 20262026
Kwindla Hultman KramerAI Engineer World's Fair 20242024
Paul GilbertAI Engineer Summit 20252025
Kyle CorbittAI Engineer World's Fair 20252025
Hypermode Launch

Metadata candidate

Kevin Van GundyAI Engineer World's Fair 20242024
Nicolas SchlaepferAI Engineer World's Fair 20242024
Jake NationsAI Engineer Code 20252025
Gabriel Jorge MenezesAI Engineer World's Fair 20262026
AI Engineer Summit 20252025
Stefano FiorucciAI Engineer Europe 20262026
Rachelle Mattern, Petro Milan, Varun KrishnaAI Engineer World's Fair 20242024
Sally Ann O'MalleyAI Engineer Europe 20262026
Carter Abdallah, Vincent Weisser, Lucas Atkins, Chris AlexiukAI Engineer World's Fair 20262026
Joe FiotiAI Engineer World's Fair 20252025
Kelvin MaAI Engineer World's Fair 20252025
Lin Qiao, Dmytro (Dima) DzhulgakovAI Engineer World's Fair 20242024
Matthias LoiblAI Engineer World's Fair 20252025
Pietro ZulloAI Engineer World's Fair 20262026
Liad Yosef, Ido SalomonAI Engineer Europe 20262026
Stefania DrugaAI Engineer World's Fair 20262026
Will BrownAI Engineer World's Fair 20262026
Alvaro MoralesAI Engineer World's Fair 20252025
Cedric VidalAI Engineer World's Fair 20242024
Ahmed MenshawyAI Engineer World's Fair 20242024
Frank CoyleAI Engineer World's Fair 20262026
Saoud RizwanAI Engineer World's Fair 20262026
Lech KalinowskiAI Engineer World's Fair 20262026
OpenLLMetry is all you need

Metadata candidate

Nir GazitAI Engineer Summit 20252025
Christopher HarrisonAI Engineer World's Fair 20252025
Yuval Belfer, Niv GranotAI Engineer World's Fair 20252025
Tengyu MaAI Engineer World's Fair 20252025
Idan GazitAI Engineer World's Fair 20262026
Adrien GrondinAI Engineer Europe 20262026
Scaling Compute on Context

Metadata candidate

Jack MorrisAI Engineer World's Fair 20262026
Alessandro CappelliAI Engineer Europe 20262026
Scaling to Long Horizons

Metadata candidate

Ross Taylor, Chengxi TaylorAI Engineer World's Fair 20262026
Merve NoyanAI Engineer Europe 20262026
Sarah GuoAI Engineer World's Fair 20252025
Nader Khalil, Alex Cheema, Matthew Berman, Ahmad Osman, Joseph NelsonAI Engineer World's Fair 20262026
Thiyagarajan MaruthavananAI Engineer World's Fair 20262026
Taylor Jordan SmithAI Engineer World's Fair 20252025
Rob CheungAI Engineer World's Fair 20242024
Devansh TandonAI Engineer World's Fair 20252025
Patrick DeboisAI Engineer World's Fair 20252025
Darius EmraniAI Engineer World's Fair 20252025
Travis FrisingerAI Engineer World's Fair 20252025
Beyang LiuAI Engineer World's Fair 20252025
Travis Bartley, Myungjong Kim, Byungjoong, JaehanAI Engineer World's Fair 20252025
Justin SchroederAI Engineer World's Fair 20262026
Kyle CorbittAI Engineer World's Fair 20242024
Dylan PatelAI Engineer World's Fair 20252025
Stefania DrugaAI Engineer World's Fair 20242024
Amir HaghighatAI Engineer World's Fair 20252025
Filip MakraduliAI Engineer World's Fair 20252025
Gorkem YurtsevenAI Engineer World's Fair 20252025
Walden, Carter, Tanay, Alex Atallah, NavAI Engineer World's Fair 20262026
Jonathan MortensenAI Engineer World's Fair 20252025
Maxime Rivest, Isaac MillerAI Engineer World's Fair 20262026
Thinking Deeper in Gemini

Metadata candidate

Jack RaeAI Engineer World's Fair 20252025
Sangwu LeeAI Engineer World's Fair 20262026
Eric AllamAI Engineer World's Fair 20252025
Chris LattnerAI Engineer World's Fair 20242024
Hassan El MghariAI Engineer World's Fair 20252025
Matt DaileyAI Engineer World's Fair 20262026
Charles FryeAI Engineer World's Fair 20252025
Benjamin CowenAI Engineer Europe 20262026
Cormac BrickAI Engineer World's Fair 20262026
Philipp SchmidAI Engineer Europe 20262026
Ziv IlanAI Engineer Europe 20262026
Ramana Siddanth EmaniAI Engineer World's Fair 20262026

References

Coverage and source review
Processed transcripts
34 processed in full · 6 in the curated path
Automated source review
Passed
Metadata candidates
118 unreviewed; not verified topic membership
Corpus version
1bd8e407b26a07b33815594e1b2db5f41827119a2b3cb6fbf240f9fc571fc767

Automated review checks source support; it is not publication approval.

A synthesis of selected conference talks and technical references. Citations link to the source material; they do not imply that every talk on this subject is included.

  1. Google SRE: Handling Overload

    Handling Overload introduction; The Pitfalls of Queries per Second; Per-Customer Limits; Client-Side Throttling.

  2. Improving Language Understanding by Generative Pre-Training

    Primary paper sections 3.1 and 4.1, including equations and explicit decoder-only model specification.

  3. Chat templates — Transformers

    Official chat-template documentation; serialization, generation prompts, and special-token duplication.

  4. Mastering LLM Inference Optimization: From Theory to Cost-Effective Deployment

    In the described TensorRT-LLM workflow, compilation produces a hardware-targeted inference engine, while Triton hosts it and handles serving responsibilities.

  5. Metrics design — vLLM

    Metric names and definitions can evolve; explicitly define any illustrative latency boundary and do not add overlapping intervals.

  6. AIPerf Metrics Reference

    Streaming metrics, request latency, goodput and error definitions; clarifies tool-specific naming and client-observed boundaries.

  7. GenAI-Perf: latency and throughput measurement

    Metrics table; Input Data; Profiling Options; warmup, concurrency, request-rate, and measurement-interval options.

  8. DistServe: Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving

    Sections 2–3 and Figure 2; a bounded experimental example of phase interference and SLO-constrained capacity.

  9. Mastering LLM Inference Optimization: From Theory to Cost-Effective Deployment

    Measure the joint distribution of input and output lengths instead of sizing from a single benchmark pattern or advertised context limit.

  10. Compute & System Design for Next Generation Frontier Models

    Prompt processing and token generation stress different resources: prefill is compute-intensive, while iterative decode is memory-bandwidth-intensive.

  11. Automatic prefix caching — vLLM

    Prefix reuse is distinct from within-request KV caching and is not a semantic answer cache.

  12. Notes on Little's Law — Karl Sigman

    Definitions and Theorem 1.1; the serving interpretation follows directly from choosing requests as the items.

  13. Padding and truncation — Transformers

    Official padding/truncation strategy documentation and tokenizer-call examples.

  14. Lost in the Middle: How Language Models Use Long Contexts

    Primary paper sections 2–4 and controlled experiment descriptions inspected.

  15. How fast are LLM inference engines anyway?

    The demonstrated benchmark interface selects throughput results under a time-to-first-token requirement rather than treating throughput alone as sufficient.

  16. Caching — Transformers v4.50.0

    Cache-class explanation and published greedy-generation loop; supports a token-position teaching trace without executing the example.

  17. Mastering LLM Inference Optimization: From Theory to Cost-Effective Deployment

    Retaining key and value representations avoids repeating earlier prompt work during decoding, at the cost of GPU memory.

  18. Language Models are Unsupervised Multitask Learners

    Primary paper section 2, equation 1, and section 2.3; sequence factorization and conditioning inspected.

  19. How LLMs work for Web Devs: GPT in 600 lines of Vanilla JS

    The demonstrated language head scores vocabulary tokens using the token embedding matrix, then chooses the largest score for deterministic comparison with another GPT-2 implementation.

  20. Hugging Face: autoregressive decoding and temperature sampling

    Autoregressive introduction; Greedy Search; Sampling; Top-K Sampling; Top-p Sampling.

  21. How LLMs work for Web Devs: GPT in 600 lines of Vanilla JS

    Top-K limits sampling to a fixed number of candidates, while nucleus sampling, also called Top-P, limits it by cumulative probability.

  22. Generation — Transformers

    Official GenerationConfig documentation; decoding strategy, probability filtering, output-length and stopping controls.

  23. vLLM incremental detokenizer implementation

    BaseIncrementalDetokenizer initialization, update and get_next_output_text methods inspected.

  24. Transformers: cache allocation versus retained history

    Default cache; Fixed-size cache; Cache offloading; Quantized cache.

  25. Reproducibility — vLLM

    Reproducibility guidance and global-seed definitions; supports recording runtime and scheduling conditions alongside sampling settings.

  26. Introducing Structured Outputs: dynamic constrained decoding

    Official technical explanation: constrained-decoding mechanism and limitations sections inspected.

  27. Structured model outputs: supported contracts and incomplete responses

    Official guide: schema support, refusals, incomplete response handling, mistakes and streaming sections.

  28. Utilities for Generation: TextStreamer and TextIteratorStreamer

    Official Streamers API sections, put/end methods, queue behavior and threaded example.

  29. vLLM scheduler: admission, preemption and abort cleanup

    Official main-branch source: scheduling limits, waiting admission, _preempt_request, finish_requests, _free_request and deferred block freeing inspected.

  30. Attention Pooling by Similarity — Dive into Deep Learning

    Attention pooling mechanism; this source does not establish implementation-specific KV layout or serving costs.

  31. NVIDIA Hopper Tuning Guide

    Memory System section, especially the HBM3 subsystem; supports first-use vocabulary and the capacity-versus-bandwidth distinction.

  32. Mastering LLM Techniques: Inference Optimization — NVIDIA

    KV caching and LLM memory requirement sections; the exact byte total is arithmetic from the published factors, not a device measurement.

  33. vLLM memory profiling: allocations and transient peaks

    Official main-branch source: MemorySnapshot, MemoryProfilingResult and memory_profiling, including its worked allocation example.

  34. vLLM GPU worker: profiling available KV capacity

    Official main-branch source, determine_available_memory and subsequent graph-memory accounting inspected.

  35. Bitsandbytes — Transformers

    Official integration documentation; quantized layers, outliers, compute dtype, offloading, and dequantization.

  36. Efficient Memory Management for Large Language Model Serving with PagedAttention

    Primary paper version 1, introduction and section 2; block allocation, sharing, autoregressive phases, and scheduling.

  37. Automatic Prefix Caching — vLLM v0.14.1

    Versioned prefix-cache design, identity components, multimodal example and cache-isolation section.

  38. vLLM block pool: reference counts and reusable cache blocks

    Official main-branch source: touch, free_blocks and eviction handling inspected.

  39. Cache strategies — Transformers

    Do not equate weight size with total serving memory or memory savings with speedups. Main-branch documentation, mechanisms rather than stable API promises.

  40. Context Platform Engineering to Reduce Token Anxiety — Val Bercovici and Callan Fox, WEKA

    A useful token-storage tier needs sufficient capacity plus fast writes and reads; capacity alone cannot prevent GPU stalls.

  41. GPU Performance Background User's Guide — NVIDIA

    Official hardware guide, sections 2–4; execution model, arithmetic intensity, and approximation limits.

  42. Roofline Performance Model — NERSC

    Official NERSC performance methodology: Roofline, arithmetic intensity, empirical machine limits, and hierarchical memory levels.

  43. Frontier AI at Home (literally)

    The speaker prioritizes memory capacity, memory bandwidth, and energy per byte moved for low-batch local decode.

  44. Your Coding Agent Should Do AI System Engineering

    Diagnose kernel performance across compute, memory movement, and overhead; the speaker identifies memory movement as a frequent bottleneck.

  45. FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness

    Primary paper abstract, version 2; IO-aware tiling and exact versus block-sparse attention.

  46. CUDA Graphs — NVIDIA CUDA Programming Guide

    Sections 4.2, 4.2.2 and 4.2.2.1.2 inspected; mechanism, not a speedup guarantee for every model or batch.

  47. Optimizing inference for voice models in production

    Profiling found that this Orpheus implementation was often CPU-bound despite both token prediction and audio decoding running on the GPU.

  48. Continuous batching — Transformers

    Conceptual scheduling distinction; no universal batch-size or throughput claim.

  49. Batchers — NVIDIA Triton Inference Server

    Dynamic Batcher, Delayed Batching, Priority Levels and Queue Policy sections; a concrete example of batch formation and bounded waiting controls.

  50. Compute & System Design for Next Generation Frontier Models

    Continuous batching admits new requests while existing requests are still generating, helping a shared inference service maintain economical batch sizes.

  51. Optimization and tuning — vLLM

    Scheduling mechanism and tradeoffs; specific defaults are implementation-specific.

  52. From model weights to API endpoint with TensorRT-LLM

    Measure streaming responsiveness separately from aggregate GPU throughput, then choose trade-offs for the application.

  53. Hacking the Inference Pareto Frontier

    Disaggregation lets prefill and decode use different resource allocations and avoids competition between their scheduling needs.

  54. MLPerf LoadGen: independent arrivals and explicit overload termination

    Official source: QueryScheduler specializations, issuance loop and outstanding-query error path inspected.

  55. Context Platform Engineering to Reduce Token Anxiety — Val Bercovici and Callan Fox, WEKA

    The described toolkit supports deterministic sequential prompt replay and growing, randomly sampled user pools, exposing different memory-tier behaviors.

  56. MLPerf LoadGen: arrival distribution and completion latency

    Official source: Server ScheduleDistribution and ResponseDelegate completion/timestamp handling inspected.

  57. AI Engineering 201: Inference

    Loading model weights into accelerator memory can turn a memory-transfer constraint into a cold-start latency problem.

  58. AI Kernel Generation: What's Working, What's Not, What's Next

    A useful kernel benchmark must define floating-point correctness and control input size, execution timing, warm-up, and caching effects.

  59. Mastering LLM Inference Optimization: From Theory to Cost-Effective Deployment

    Measure first-token latency, inter-token latency, and completion latency under load, with request length and token position as explanatory variables.

  60. From model weights to API endpoint with TensorRT-LLM

    Endpoint measurements include network effects, and the load generator itself can become a bottleneck.

  61. AI Engineering 201: Inference

    Inspect compute timelines and memory traces to find redundant kernel launches and idle GPU intervals.

  62. Mastering LLM Inference Optimization: From Theory to Cost-Effective Deployment

    In-flight batching admits replacement requests without waiting for the entire active batch to finish.

  63. Mastering LLM Inference Optimization: From Theory to Cost-Effective Deployment

    The illustrated inference loop has a prefill stage for the prompt followed by incremental decoding, with different computation shapes.

  64. AI Engineering 201: Inference

    Interactive services should choose batching and caching around their actual bottleneck and latency budget; throughput-only jobs can favor larger batches.

  65. Compute & System Design for Next Generation Frontier Models

    Reusing a document's KV cache avoids repeated prefill work, but retaining that cache creates a substantial memory or storage requirement.

  66. Frontier AI at Home (literally)

    KV-cache transfer must be fast enough to overlap computation; otherwise communication adds a serial delay before decode.

  67. Hacking the Inference Pareto Frontier

    Route using both reusable prefix state and current worker load; maximizing KV match alone can increase queueing.