MODULE 3 · DAY 1
Production Serving with vLLM
Continuous batching + PagedAttention, same /v1 contract
Gourav Shah · School of DevOps & AI · Containers for GenAI & Agentic AI
M3·01
What you'll learn
Why vLLM is the production workhorse — and how to run it here.
M3·02
Ollama is great — until the crowd arrives
A home machine pulls one shot; ask for a second and you wait.
M3·03
Continuous batching — never let a head sit idle
A finished slot refills mid-flight — no waiting for the whole batch.
M3·04
PagedAttention — virtual memory for the KV cache
Small pages on demand, mapped anywhere — like your OS pages RAM.
M3·05
The payoff: ~3x throughput under load
Same GPU, same per-shot time — heads never idle, far more coffees.
M3·06
Same contract, bigger engine
The wall socket from M2, again — the client speaks to the contract.
M3·07
The CPU track — learn the machinery anywhere
No GPU passthrough on Apple Silicon, so this runs on CPU — slow on purpose.
M3·08
Why containers report 0 NUMA nodes
NUMA is the floor plan; a container is an apartment inside it.
M3·09
CPU tuning knobs that keep the laptop usable
A few env dials do most of the work — thread cap, not all your cores.
M3·10
CPU track vs GPU track
Learn the engine on any laptop; reach for throughput on an NVIDIA box.
M3·11
GPU operational gotchas
Two flags and one sizing rule separate a working server from cryptic crashes.
M3·12
Quantization — trade a little precision for a lot of room
Like a JPEG for weights — 16-bit floats shrink to 4- or 8-bit ints.
M3·13
TO THE LAB
Same socket. Bigger engine.
Serve SmolLM2 on CPU vLLM behind the same /v1 contract
Next: Lab — Serve SmolLM2 on CPU vLLM · Gourav Shah · School of DevOps & AI
M3·14