serving

5 posts

REQUEST TO TOKENS · 06

Paged Attention: Virtual Memory for the KV Cache

How serving engines hand out KV cache memory in 16-token blocks instead of reserving the maximum, how the same blocks let requests share a prompt, and what that saves in memory and time to first token.

INFERENCE ENGINES · 01MANY USERSYOUR MACHINEONE TARGET

Choosing an Inference Server: The Landscape, from Data Centers to Laptops

Inference servers in three groups: production engines and their stacks, local apps built on llama.cpp, and enthusiasts' specialized engines, with how to pick.

REQUEST TO TOKENS · 01PROMPT · ONE PASSANSWER · ONE PASS PER TOKENFIRST TOKEN 82 ms · THEN 73 ms EACH

From Prompt to Token: The Life of an LLM Request

One chat request followed through a real inference server, from chat template and tokens to prefill, decode, sampling, and streaming, each stage timed.

REQUEST TO TOKENS · 054 SLOTS, REFILLED AT EVERY STEP

Continuous Batching, Animated: How a Server Keeps the GPU Busy

Why serving engines re-form the batch at every decode step, what it buys in throughput and latency, and the settings that control it.

SERVING IN PRODUCTION · 01PREFILLKV CACHEDECODE

Disaggregated Serving: Dynamo, llm-d, and When Splitting Prefill from Decode Pays

Why production stacks run prefill and decode on separate GPUs, how NVIDIA Dynamo and llm-d move the KV cache between them, and when the split pays.