AIToday
Large Language ModelsDaily Dose of Data SciencePublished: Sep 2, 2026, 10:00 JST

LLM serving: why continuous batching wins

Send on LINE
LLM serving: why continuous batching wins

3 Key Points

  1. What happened

    A technical explainer compares three LLM serving strategies—static, dynamic, and continuous batching. It shows continuous batching, which re-decides the batch at every forward pass, delivers the most throughput and is the default in major engines like vLLM and SGLang.

  2. Why it matters

    Static batching runs at the pace of its slowest member, wasting GPU capacity and latency. Dynamic batching adds a timer but still waits for the slowest sequence. Continuous batching lets finished sequences leave and waiting ones join, keeping the GPU saturated even when output lengths vary widely.

  3. What to watch

    The article notes chunked prefill, which splits long prompts into smaller chunks, is on by default in vLLM V1. It also flags that there is no universal best chunk size—it depends on the model, GPU, prompt length distribution, and which latency metric your SLO measures.

Not sure about something? Ask the AI

Questions and answers are published on this page.

Summaries like this, every morning.

Context & Analysis

The article explains that a GPU's forward pass is bottlenecked on reading weights from memory, not on math. This is why batching helps: loading weights once and pushing many sequences through the same pass spreads the memory cost. However, LLMs are autoregressive—each pass produces one token and depends on previous ones—so a fixed batch runs at the pace of its slowest member.

Static batching works for fixed-output models like classifiers or embedding models, where every request finishes at nearly the same step. Dynamic batching adds a timer but still treats the batch as one unit, so fast requests wait for slow ones. Continuous batching, with iteration-level scheduling, is the only strategy that keeps the GPU saturated when output lengths vary.

The article also highlights chunked prefill as a technique to mitigate stutter when a long prompt joins the batch. It splits prompts into smaller chunks, giving the scheduler more chances to run decodes. There is no universal best chunk size—it depends on the model, GPU, prompt distribution, and the latency metric an SLO targets. For live traffic with variable output lengths, continuous batching is the only strategy that holds up, and every major engine enables it by default.

FAQ
What is the difference between static and continuous batching?
Static batching fixes the batch before it starts and runs until the slowest member finishes. Continuous batching re-decides at every forward pass, letting finished sequences leave and waiting requests join.
Why does static batching perform poorly with LLMs?
LLMs generate one token per pass and stop at unpredictable lengths, so a fixed batch runs at the pace of its slowest member. Widening output length spread dropped static batching to roughly 81 tokens per second, while continuous batching held an order of magnitude higher, per Anyscale.
Daily Dose of Data ScienceRead Original Article
Send on LINE

AI news that matters for your work, delivered every morning.

Pick your industry and the AI tools you use, and get news related to your work every day.

Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →

Ask AI

Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.

Questions and answers are published on this page.

Related Articles

Next articleAnthropic's Fable 5.1: Costlier reasoning, better pelicans