apache / apache/tooling-llmao

qwen3-8b is running with vLLM's default scheduler limits

Open
#33 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

What

max_num_batched_tokens defaults to 2048 in vLLM 0.25.1. Every box in the fleet was launched without overriding it, and it throttles admitted concurrency severely — the scheduler will not take on new work once a step's token budget is spent, regardless of how much KV cache is free.

Measured on qwen3.8-27b before and after raising it to 16384:

before after
max concurrent running 2 38
KV cache used 7% 23%
queue time : prefill time 4.3 : 1 —

A 19× improvement in admitted concurrency from one flag. gemma4-26b showed the same pattern — Running: 1 with up to 46 queued while its cache sat at 5%.

Both have since been relaunched with --enable-chunked-prefill --max-num-batched-tokens 16384. qwen3-8b has not.

Why it matters more here, not less

The 8B is the tier meant to absorb routine, high-volume traffic. It is also on a 24GB card, so it has the least cache to admit into — which makes efficient scheduling more important, not less.

Fix

Recreate the pod with the two flags added:

--enable-chunked-prefill --max-num-batched-tokens 16384

--max-num-partial-prefills is not supported in this version — it raises NotImplementedError: Concurrent Partial Prefill. Do not include it.

The catalog entry needs the same flags in model_info.vllm.args, or a reprovision reverts to the defaults.

Worth measuring, not assuming

16384 was chosen to make the 27B's problem go away, not because it is optimal. The 8B has a 40,960 window and a smaller cache, so a different value may suit it. Worth ramping before and after rather than copying the number across.

The tradeoff is decode latency for requests already running: larger prefill batches mean an in-flight token waits longer behind new arrivals. At a 4.3:1 queue-to-prefill ratio that was obviously worth it; on a less loaded box it may not be.

Note

Every throughput figure gathered before this fix was measured through the bottleneck and should be re-taken.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the qwen3-8b pod configuration and its catalog entry at model_info.vllm.args; compare them with the already relaunched 27B and gemma4-26b deployments. Reprovision with chunked prefill and a measured max_num_batched_tokens value, excluding max-num-partial-prefills, then re-run throughput, queue, prefill, concurrency, and latency measurements.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai-infra-agents, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.