[TRTLLM-12721][feat] Enable disaggregated in-flight cancellation by default - #15738
Draft
chienchunhung wants to merge 2 commits into
Draft
[TRTLLM-12721][feat] Enable disaggregated in-flight cancellation by default#15738chienchunhung wants to merge 2 commits into
chienchunhung wants to merge 2 commits into
Conversation
Collaborator
Author
|
/bot run |
chienchunhung
force-pushed
the
codex/disagg-inflight-cancel-default-on
branch
from
June 30, 2026 18:30
6e3cc63 to
3543f9d
Compare
chienchunhung
added a commit
to chienchunhung/TensorRT-LLM
that referenced
this pull request
Jun 30, 2026
Combine the current NVIDIA#15238, NVIDIA#15737, NVIDIA#15794, and NVIDIA#15795 snapshots into one parent commit for NVIDIA#15738. The source PRs remain independently reviewable and mergeable. Signed-off-by: Chien-Chun Hung <2679986+chienchunhung@users.noreply.github.com>
chienchunhung
force-pushed
the
codex/disagg-inflight-cancel-default-on
branch
from
June 30, 2026 18:45
3543f9d to
de0eb2b
Compare
Collaborator
Author
|
/bot run --disable-fail-fast |
Collaborator
|
PR_Github #56696 [ run ] triggered by Bot. Commit: |
chienchunhung
added a commit
to chienchunhung/TensorRT-LLM
that referenced
this pull request
Jun 30, 2026
Combine the current NVIDIA#15238, NVIDIA#15737, NVIDIA#15794, and NVIDIA#15795 snapshots into one parent commit for NVIDIA#15738. The source PRs remain independently reviewable and mergeable. Signed-off-by: Chien-Chun Hung <2679986+chienchunhung@users.noreply.github.com>
chienchunhung
force-pushed
the
codex/disagg-inflight-cancel-default-on
branch
from
June 30, 2026 19:27
de0eb2b to
36751c2
Compare
Collaborator
Author
|
/bot run --disable-fail-fast |
Collaborator
|
PR_Github #56708 [ run ] triggered by Bot. Commit: |
chienchunhung
force-pushed
the
codex/disagg-inflight-cancel-default-on
branch
from
June 30, 2026 19:37
36751c2 to
f303901
Compare
chienchunhung
added a commit
to chienchunhung/TensorRT-LLM
that referenced
this pull request
Jun 30, 2026
Combine the current NVIDIA#15238, NVIDIA#15737, NVIDIA#15794, and NVIDIA#15795 snapshots into one parent commit for NVIDIA#15738. The source PRs remain independently reviewable and mergeable. Signed-off-by: Chien-Chun Hung <2679986+chienchunhung@users.noreply.github.com>
This was referenced Jun 30, 2026
Collaborator
|
PR_Github #56708 [ run ] completed with state
|
Combine the current NVIDIA#15238, NVIDIA#15737, NVIDIA#15794, and NVIDIA#15795 snapshots into one parent commit for NVIDIA#15738. The source PRs remain independently reviewable and mergeable. Signed-off-by: Chien-Chun Hung <2679986+chienchunhung@users.noreply.github.com>
Signed-off-by: Chien-Chun Hung <2679986+chienchunhung@users.noreply.github.com>
chienchunhung
force-pushed
the
codex/disagg-inflight-cancel-default-on
branch
from
June 30, 2026 23:38
f303901 to
83a0565
Compare
Collaborator
Author
|
/bot run --disable-fail-fast |
Collaborator
|
PR_Github #56759 [ run ] triggered by Bot. Commit: |
Collaborator
|
PR_Github #56759 [ run ] completed with state
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This draft enables disaggregated in-flight KV-transfer cancellation by default only for the qualified C++ NIXL/UCX configuration. Unsupported configurations continue without coordinated in-flight cancellation unless
TRTLLM_DISAGG_ENABLE_INFLIGHT_CANCEL=1explicitly requests validation, in which case startup fails.The branch intentionally has two DCO-signed commits:
The source parent PRs remain independently reviewable. The Python lifecycle fixes are backported to #15795 and this snapshot is refreshed from that head. The remaining C++ prerequisite fixes in commit 1 still need to be backported to #15794.
Effective policy
TRTLLM_DISAGG_ENABLE_INFLIGHT_CANCEL01Any other value is rejected.
The qualified configuration is:
PyExecutor, with no simultaneous KV connector.max_tokens_in_bufferandkv_transfer_timeout_ms.PP=1,CP=1, attention DP disabled, and DWDP disabled.AutoDeploy, legacy TensorRT execution, Python transceiver, direct UCX, MPI, Mooncake, NIXL-libfabric, synchronous receive, PP, CP, attention DP, DWDP, connector, layerwise, zero-copy, no-deadline, and unbounded-admission paths do not auto-enable coordinated in-flight cancellation.
Self-review fixes
C++ protocol and ownership
TransferSessioncalls own and release/quarantine their preassigned NIXL receive slots.ready=trueremains a clean queued rejection.DISAGG_TRANS_ERRORfor default-off synchronous rejection instead of rewriting it as success.Python policy and fatal cleanup
=1when no transceiver is configured, including AutoDeploy and the legacy TensorRT executor.AsyncTransferManager-only context sends through fatal cleanup without duplicate responses or double termination.Coverage
Readiness
This PR remains draft and not merge-ready.
Blocking items:
new enabled GEN -> legacy CTXsettlement and adding serialization, TP>1, and C++ NIXL integration coverage.ready=truecancellation/poison fault injection and multi-rank TP consensus/mixed-ready coverage.bufferIndexHolderTest,cacheTransferStateTest,peerProtocolTest, andagentCommTest.Until #15798 is complete, upgrades must be atomic: set
TRTLLM_DISAGG_ENABLE_INFLIGHT_CANCEL=0on every CTX and GEN worker, upgrade and verify all workers, then remove the override. Default-on also remains gated on #15799 or the approved bounded fail/restart alternative.Validation
Passed locally on
f303901b7c(prerequisite snapshot06ece0c791):git diff --check.36751c2c62head.Not available locally:
transformersis not installed).The previous full CI run targeted a superseded head and must be replaced for this commit.
Dependency graph
Arrows point from prerequisite to dependent. #15238 and #15737 are parallel, independently mergeable inputs to #15794. All PRs target
NVIDIA/main; stacked child diffs are cumulative until their parents merge.#15798 and #15799 are production/default-on hardening follow-ups. They do not block the default-off merges of #15238, #15794, or #15795. #15798 is required for #15738. #15799 may be replaced only by an explicitly approved bounded fail/restart policy that satisfies the same memory-safety requirements.
flowchart LR PR15238["#15238<br/>gated cancellation<br/>(default off)"] PR15737["#15737<br/>CacheSender lost-wakeup fix"] PR15794["#15794<br/>C++ protocol and buffer safety<br/>(default off)"] PR15795["#15795<br/>PyExecutor lifecycle safety<br/>(default off)"] PR15798["#15798<br/>CTX↔GEN protocol/mode negotiation"] PR15799["#15799<br/>peer cancel/terminal protocol<br/>(design scaffold)"] PR15738["#15738<br/>qualified default-on policy"] PR15238 --> PR15794 PR15737 --> PR15794 PR15794 --> PR15795 PR15794 --> PR15798 PR15798 --> PR15799 PR15795 --> PR15738 PR15798 --> PR15738 PR15799 -.->|or bounded fail/restart policy| PR15738