Skip to content
This repository was archived by the owner on Feb 3, 2026. It is now read-only.

Allow the sidecar to sample from a list of prefill host ports#65

Closed
smarterclayton wants to merge 1 commit into
llm-d:mainfrom
smarterclayton:enable_prefiller_sampling
Closed

Allow the sidecar to sample from a list of prefill host ports#65
smarterclayton wants to merge 1 commit into
llm-d:mainfrom
smarterclayton:enable_prefiller_sampling

Conversation

@smarterclayton

@smarterclayton smarterclayton commented Sep 25, 2025

Copy link
Copy Markdown

In some benchmarking and test environments dynamic prefill selection may be difficult and random selection among a set of hosts is sufficient.

Add a new --enable-prefiller-sampling flag that instructs the sidecar to select a random prefill host from the provided list instead of the first one. Make the behavior opt-in to prevent users from accidentally depending on the new behavior, and keep the existing default behavior (first header value) consistent.

E.g.:

curl -H 'x-prefiller-host-port: server1:8000` -H 'x-prefiller-host-port: server2:8000'

will randomly choose one of the two values.

This allows static test environments to use multiple hardcoded hosts for testing. A load balancer may still be desirable, but I am chasing an issue where using a load balanced prefiller group does not result in the correct serving behavior.

@smarterclayton

Copy link
Copy Markdown
Author

The configuration this allows is vllm bench serve to take a static x-prefiller-host-port header (via the newly added --header support) for a benchmark run that approximates round robin load balancing to DP>8 instances, without any other dependencies except a kube service to balance between the decoders.

In some benchmarking and test environments dynamic prefill selection
may be difficult and random selection among a set of hosts is
sufficient.

Add a new `--enable-prefiller-sampling` flag that instructs the
sidecar to select a random prefill host from the provided list
instead of the first one. Make the behavior opt-in to prevent
users from accidentally depending on the new behavior, and
keep the existing default behavior (first header value) consistent.

E.g.:

    curl -H 'x-prefiller-host-port: server1:8000` -H 'x-prefiller-host-port: server2:8000'

will randomly choose one of the two values.

Signed-off-by: Clayton Coleman <smarterclayton@gmail.com>
@smarterclayton smarterclayton force-pushed the enable_prefiller_sampling branch from 1143dac to b49f6e3 Compare October 13, 2025 20:28
@elevran

elevran commented Oct 29, 2025

Copy link
Copy Markdown
Contributor

@smarterclayton as we've moved the routing sidecar code into llm-d-inference-scheduler, could you kindly close the PR here and more move the code over to the new repo if needed?
Also note that there are lint errors (unused param in test code)

@smarterclayton

Copy link
Copy Markdown
Author

Moved to llm-d/llm-d-router#404

andresllh pushed a commit to andresllh/llm-d-routing-sidecar that referenced this pull request Jan 13, 2026
….2 Docker digest to 3d016c6 (llm-d#65)

Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com>
Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants