Skip to content

[EC Connector] Added Build Connector Worker Meta for EC Connector - #49585

Merged
ywang96 merged 52 commits into
vllm-project:mainfrom
omerpaz95:worktree-ec_connector_add_build_connector_worker_meta
Aug 15, 2026
Merged

ywang96 merged 52 commits into
vllm-project:mainfrom
omerpaz95:worktree-ec_connector_add_build_connector_worker_meta

Conversation

@omerpaz95

@omerpaz95 omerpaz95 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Purpose

Why this is still needed after #38390. The PR implemented the V2 model runner EC Connector, but EC still has no worker -> scheduler metadata channel. KV connectors have a complete one: build_connector_worker_meta() -> KVConnectorOutput.kv_connector_worker_meta -> KVOutputAggregator -> scheduler-side KV connector.
EC had none of those three pieces, so a worker-sideECConnector has no way to report per-step state — e.g. "this mm_hash is now durably stored" — back to its scheduler-side EC connector. That blocks the CPU-offload based on CUDA events and NIXL P2P EC connectors, which need exactly this report (We are retiring the StepTracker in the CPU EC Connector, because using CUDA events is the right way to handle "copy done" notifications, instead of waiting until the batch is done).

This PR adds that channel, and fixes the exit paths where the worker's ec_connector_output was computed and then dropped before reaching the scheduler.

The channel

  • ec_connector/base.py: ECConnectorWorkerMetadata ABC with an abstract aggregate(), plus ECConnectorBase.build_connector_worker_meta().
  • v1/outputs.py: ec_connector_worker_meta field on ECConnectorOutput.
  • ec_connector/utils.py: ECOutputAggregator, mirroring KVOutputAggregator - merges the EC output of the rank that ran the connector onto the rank whose ModelRunnerOutput reaches the scheduler.
  • engine/core.py, executor/abstract.py, executor/multiproc_executor.py: wiring so the aggregator runs when an EC connector is configured.
  • Both runners (MRv1, MRv2) populate the field via build_connector_worker_meta().

Default behavior is unchanged for existing connectors: nothing overrides
build_connector_worker_meta() yet, so it returns None.

Test Plan

# Existing EC connector unit tests (unaffected areas)
.venv/bin/python -m pytest tests/v1/ec_connector/unit/test_metadata.py \
  tests/v1/ec_connector/unit/test_ec_example_connector.py \
  tests/v1/ec_connector/unit/cpu/test_connector.py -v

## Test Result

tests/v1/ec_connector/unit/test_metadata.py ..................... PASSED
tests/v1/ec_connector/unit/test_ec_example_connector.py ......... PASSED
tests/v1/ec_connector/unit/cpu/test_connector.py ................ PASSED
36 passed, 2 warnings

pre-commit: ruff check / ruff format / mypy / SPDX headers / etc. — all Passed

@omerpaz95
omerpaz95 requested a review from njhill as a code owner July 23, 2026 12:33

@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 added the v1 label Jul 23, 2026
yewentao256 and others added 3 commits July 23, 2026 14:47
Signed-off-by: yewentao256 <zhyanwentao@126.com>
Signed-off-by: yewentao256 <zhyanwentao@126.com>
@orozery orozery added the ready ONLY add when PR is ready to merge/full CI is needed label Jul 27, 2026

@yewentao256 yewentao256 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Let's wait until #38390 landed
Same for #49579 and #49582

Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
Comment thread vllm/v1/worker/gpu_model_runner.py Outdated
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>

@yewentao256 yewentao256 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM, thanks for the iterations!

@gty111

gty111 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #83812 for commit 9ac0d01b7894.

@gty111

gty111 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

The failed CI is related to this PR. Need to fix the tests.

@mergify

mergify Bot commented Aug 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, @omerpaz95.

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 14, 2026
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
…rker_meta

Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
@gty111

gty111 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #83886 for commit 9c13dbc473d2.

@mergify mergify Bot removed the needs-rebase label Aug 14, 2026
@gty111

gty111 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator
Clipboard_Screenshot_1786717823

Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
@gty111

gty111 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #83938 for commit 2cf705c8a108.

@gty111

gty111 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

/ci retry

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #83985 for commit c8a9b6eb66f7, running 1 failed step(s) from Buildkite CI #83938.

@ywang96
ywang96 merged commit fa9d67f into vllm-project:main Aug 15, 2026
9 of 11 checks passed
zyp2014 pushed a commit to zyp2014/vllm that referenced this pull request Aug 21, 2026
…lm-project#49585)

Signed-off-by: yewentao256 <zhyanwentao@126.com>
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
Signed-off-by: omerpaz95 <73347585+omerpaz95@users.noreply.github.com>
Co-authored-by: yewentao256 <zhyanwentao@126.com>
Co-authored-by: Wentao Ye <44945378+yewentao256@users.noreply.github.com>
wyettzeng pushed a commit to wyettzeng/vllm that referenced this pull request Aug 21, 2026
…lm-project#49585)

Signed-off-by: yewentao256 <zhyanwentao@126.com>
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
Signed-off-by: omerpaz95 <73347585+omerpaz95@users.noreply.github.com>
Co-authored-by: yewentao256 <zhyanwentao@126.com>
Co-authored-by: Wentao Ye <44945378+yewentao256@users.noreply.github.com>
Signed-off-by: Wyett <wyettzeng@gmail.com>
zufangzhu pushed a commit to zufangzhu/vllm that referenced this pull request Aug 24, 2026
…lm-project#49585)

Signed-off-by: yewentao256 <zhyanwentao@126.com>
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
Signed-off-by: omerpaz95 <73347585+omerpaz95@users.noreply.github.com>
Co-authored-by: yewentao256 <zhyanwentao@126.com>
Co-authored-by: Wentao Ye <44945378+yewentao256@users.noreply.github.com>
Signed-off-by: Zhu, Zufang <zufang.zhu@intel.com>
khushali9 pushed a commit to khushali9/vllm that referenced this pull request Aug 29, 2026
…lm-project#49585)

Signed-off-by: yewentao256 <zhyanwentao@126.com>
Signed-off-by: omerpaz95 <omerpaz95@gmail.com>
Signed-off-by: omerpaz95 <73347585+omerpaz95@users.noreply.github.com>
Co-authored-by: yewentao256 <zhyanwentao@126.com>
Co-authored-by: Wentao Ye <44945378+yewentao256@users.noreply.github.com>
Signed-off-by: khushali9 <khushali.desai9@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/build documentation Improvements or additions to documentation kv-connector mrv2 Model Runner V2 specific ready ONLY add when PR is ready to merge/full CI is needed v1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants