Back to engineering

4ROUTER / Performance

Continuous batching, explained

Coordinating generation as requests arrive and finish.

Engineering note

Why a batch changes

Online requests do not start or finish together. Continuous batching lets a serving scheduler admit new sequences and retire completed ones as generation progresses. This reuses available capacity, while throughput and latency still depend on workload and scheduling choices.

Prefill and decode share resources

Long-prompt processing and token-by-token generation have different compute profiles. Sharing an execution queue can make long inputs affect active generations. Policies such as chunked prefill change this interaction and should be tested against interactive workloads.

Bound the batch to protect latency

More simultaneous work does not necessarily improve the user experience. Capacity pressure can lengthen queues and reduce cache headroom. Observe queue delay, first-token time, generation intervals and failures together, and preserve cancellation and timeout handling.

Before implementation

  • Arrival pattern
  • Mixed prompt lengths
  • Batch limits and waiting targets

Further reading

vLLM · Optimization and tuning

4ROUTER / SYSTEMS RESEARCH

Mechanisms and experiment design

Understand how operators, KV state and scheduling shape an inference path.

Read the systems notes in Resources
SCHEDULING / SLO

From prefill to decode: designing the scheduling experiment

When throughput rises, know which requests are waiting.

PREFIX / REUSE

RadixAttention: reuse prefixes, not answers

Reuse a prefix state with compatible computational history.

TIERS / TRANSFER

LMCache: placing KV state in a storage hierarchy

Avoiding prefill requires paying for state access.

Let’s talk infrastructure.

Connect to the platform, or discuss models, performance and deployment.