[TRTLLM-12721][fix] Negotiate disaggregated cancellation protocol and mode - #15798
Draft
chienchunhung wants to merge 2 commits into
Draft
[TRTLLM-12721][fix] Negotiate disaggregated cancellation protocol and mode#15798chienchunhung wants to merge 2 commits into
chienchunhung wants to merge 2 commits into
Conversation
This was referenced Jun 30, 2026
…wnership Signed-off-by: Chien-Chun Hung <2679986+chienchunhung@users.noreply.github.com>
… mode Signed-off-by: Chien-Chun Hung <2679986+chienchunhung@users.noreply.github.com>
chienchunhung
force-pushed
the
codex/disagg-peer-protocol-negotiation
branch
from
June 30, 2026 22:26
f8fd1af to
25aac38
Compare
Collaborator
Author
|
/bot run --disable-fail-fast |
Collaborator
|
PR_Github #56743 [ run ] triggered by Bot. Commit: |
Collaborator
|
PR_Github #56743 [ 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
Negotiate cancellation compatibility between the C++ NIXL context and generation services before cache DMA.
DataTransceiverStateorRequestInfowire layout.ready=falseexchange without DMA.The negotiation is scoped to the C++ NIXL cache-transceiver path. Python transceiver, direct UCX, MPI, Mooncake, and descriptor-less
AgentConnectionManagerconstruction remain unchanged.Compatibility and rollout
ready=false; no DMAready=false; no DMAA descriptor-less peer cannot prove its effective mode. Rolling upgrades must keep cancellation disabled until both services are protocol-aware. Enabling by default remains blocked on #15799 or an explicitly approved drain/restart policy for the final row.
Safety properties
CommState[selfIdx]identity and address must match the live NIXL notification sender.ready=falsereleases them.Validation
Local checks passed: DCO, repository pre-commit,
git diff --check, and a self-contained C++17-Wall -Wextra -Werrorprotocol check.Coverage includes descriptor parsing and spoof resistance, capability/version/rank matrices, serialization and live-sender binding, rejected-session buffer ownership, baseline NIXL propagation, and real 1P+1D NIXL mode mismatches in both directions with future settlement, no-DMA sentinels, and receive-pool reuse checks.
Remaining verification:
Dependency graph
Arrows point from prerequisite to dependent. All PRs target
NVIDIA/main; stacked child diffs remain cumulative until their parents merge. #15798 is a single unique commit on the current #15794 head.#15798 and #15799 harden production/default-on readiness; they do not block the default-off merges of #15238, #15794, or #15795. #15799 may be replaced only by an explicitly approved bounded fail/restart policy with equivalent memory-safety guarantees.
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