Skip to content

[Feature][EPD] Support dynamic EPD (EC-connector) proxy - #54176

Open
gty111 wants to merge 15 commits into
vllm-project:mainfrom
gty111:epd-dynamic-registry
Open

gty111 wants to merge 15 commits into
vllm-project:mainfrom
gty111:epd-dynamic-registry

Conversation

@gty111

@gty111 gty111 commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Purpose

Support dynamic E and P/PD registration in the existing EPD example proxy; standalone D instances remain statically configured.

  • EC workers announce their HTTP address and role over ZMQ. Periodic registration handles proxy restarts, and health probes exclude unavailable instances.
  • Mooncake consumers bind free control ports and publish their worker endpoints, keeping encoder pushes and inference requests on the same consumer replica.
  • Example/NIXL use worker registration without changing their transfer protocols. Static and dynamic routing share the same proxy.
python examples/disaggregated/disaggregated_encoder/disagg_epd_proxy.py \
  --port 8000 --registry-address tcp://0.0.0.0:14580

Set "proxy_registry_addr": "tcp://proxy-host:14580" in each E or P/PD instance's ec_connector_extra_config. HTTP addresses are derived from the serving CLI options. For E+P+D, pass standalone D addresses via --decode-servers-urls.

Validation

Earlier revision: CONCURRENCY=1 REPEAT=1 MAX_MODEL_LEN=16384 bash tests/v1/ec_connector/integration/run_epd_mooncake_ec_full_pipeline.sh — Qwen2.5-VL-3B, Mooncake TCP, CUDA graphs enabled; single-image, two-image and repeated-image responses matched the colocated baseline (3/3). E2E has not been rerun on the current revision.

This extends discovery and registration for existing EC transports rather than adding a competing connector. AI assistance was used.

gty111 added 5 commits August 28, 2026 07:47
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
…ensor

Signed-off-by: Tianyu Guo <guoty@inferact.ai>

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@mergify

mergify Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Documentation preview: https://vllm--54176.org.readthedocs.build/en/54176/

@mergify mergify Bot added documentation Improvements or additions to documentation frontend kv-connector scheduler labels Aug 28, 2026
@gty111 gty111 changed the title [EPD] Let instances register with the proxy instead of naming them at launch support dynamic EPD proxy Aug 28, 2026
@gty111 gty111 changed the title support dynamic EPD proxy [Feature][EPD] Support dynamic EPD (EC-connector) proxy Aug 28, 2026
@mergify

mergify Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @gty111.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase label Aug 31, 2026
gty111 added 2 commits August 31, 2026 07:08
# Conflicts:
#	examples/disaggregated/disaggregated_encoder/disagg_epd_proxy.py

Signed-off-by: Tianyu Guo <guoty@inferact.ai>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
@mergify mergify Bot removed the needs-rebase label Aug 31, 2026
@mergify

mergify Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @gty111.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase label Sep 4, 2026
Preserve dynamic registration and reconcile current EC metadata and transfer handles.

Assisted-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
@Isotr0py Isotr0py self-assigned this Sep 11, 2026
@Isotr0py
Isotr0py requested review from Isotr0py and removed request for WoosukKwon, alexm-redhat, robertgshaw2-redhat and ywang96 September 11, 2026 02:57
Keep explicit embedding input flags in the dynamic proxy examples.

Assisted-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
Assisted-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
Assisted-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
Assisted-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
@mergify

mergify Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @gty111.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase label Sep 14, 2026
Co-authored-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Tianyu Guo <guoty@inferact.ai>
@mergify mergify Bot removed the needs-rebase label Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation frontend kv-connector scheduler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants