Repository navigation
[Core] Route stages through configured pipeline transitions - #8745
Pinoeer-kingxi wants to merge 12 commits into
Conversation
Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Retain abort prefixes until transfer release succeeds and return them in configured route order. Publish empty-bridge success after cleanup and commit output processor abort state after all replicas stop. Keep public IDs retryable after failed, timed-out or repeated cancellation cleanup, and exclude closed requests from updates and audio metrics. Cover the failure paths and request isolation with CPU regressions. Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Preserve main stage initialization and request admission contracts. Keep configured-edge lifecycle fixes and their regressions, and leave the unrelated generic acknowledged-release framework out of this PR. Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
…ing-main-20261017 Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Signed-off-by: Pinoeer-kingxi <13022943007@163.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
This PR appears to belong to: docs/design/module/observability.md. Module owners: @lishunyang12 @vraiti @fake0fan Routing: @lishunyang12 via module of the changed files, CODEOWNERS; @vraiti via module of the changed files; @fake0fan via CODEOWNERS @Pinoeer-kingxi, please review your own changes and leave a short self-review comment describing what you checked. PRs without author self-review may not be assigned a reviewer. Please take a look when you have a chance. If you would like an automated review, mention @vllm-omni-review-bot in a comment. |
Omni ReviewBot triage noteAutomated triage of commit
These are automated triage suggestions only — the final decision belongs to the maintainers. |
Purpose
Add
PipelineConfig.stage_transitionsfor the routing work in #8264 Item 14 / RFC #8740.Nonepreserves sequential execution; explicit transitions support compatible skip and reorder chains, such as0 → 2and0 → 2 → 1.Static turn-based chains only; skipped stages still initialize. Branches, joins, cycles and non-sequential duplex are unsupported. Deployment YAML owns placement and backends. Resource release remains best-effort; abort acknowledgement is not physical buffer release (#8744).
Configuration guide.
Test Plan
Head
539648e7; vLLM 0.31.0, Python 3.12.4, PyTorch 2.13.0+cu130.CPU command, including the known failing input-cache cases:
Test Result
539648e7: failed/in-flight aborts, late bridge errors and ID reuse. An earlier candidate integrated withabff9664passed 977 cases, covering default/skip/reorder routes, both loops, headless/multi-API projection and real SHM transfer. Counts overlap; this is not a full current-head suite pass.0 → 1 → 2and MRv2 async0 → 2 → 3produced finite audio and nine ordered word timestamps, completed audio-only prefixes, and passed admission-time cancellation, ID reuse and binding release.Known gaps
next_logicalargument. The call-site fix is not in this head and is needed before merge.Reproduce the two model route smokes
Use one idle 48 GiB CUDA GPU and cached weights. Save the Python block as
validate_route.pyat the repo root. SetROUTING_ALIGNER_MODELto the local Qwen3-ForcedAligner-0.6B snapshot. The script pins the TTS revision and uses a repository WAV. These smokes cancel after admission, not during a nativePROCREAD.Contributor intent
1. What outcome do you want to achieve?
Let model pipelines declare a static execution chain, including compatible skip and reorder paths, while preserving sequential routing by default.
2. What is the highest-leverage variable for that outcome?
Configuration, initialization, prewarming, forwarding and completion must follow the same validated route.
3. How will this work move that variable?
Add optional
PipelineConfig.stage_transitionsand pass the resolved topology through the existing runtime. Attach ForcedAligner after the actual route tail. Limit this change to static chains, without dynamic routing or a generic cleanup framework.4. Whose customer or user needs does this address, and what are those needs?
Model integration developers need to adjust compatible execution chains without editing stage-number assumptions throughout the runtime, while keeping deployment, sampling-array and request-lifecycle contracts intact.
AI assistance: Codex helped with code, tests and writing.