Repository navigation
[Doc][M9] PD and KV transfer walkthrough - #64
YouHengfei wants to merge 6 commits into
Conversation
|
I suggest moving this proposal to a dedicated M9 RFC linked to #32, so we can agree on ownership and cross-module contracts before implementation. |
Thanks ! I’ll move the proposal into a dedicated M9 RFC linked to #32 and this PR, focusing on state ownership, handoff contracts, and dependencies on M3/M4/M5 and M1 before implementation. |
a479de3 to
b56f588
Compare
b56f588 to
07d196e
Compare
|
The design proposal has moved to the dedicated M9 RFC: #111. This PR now retains the baseline walkthrough ( |
|
Maintainer self-review: this walkthrough is materially stale against current Concrete drift since the re-pin at
Recommendation: keep the draft, re-pin to current |
Signed-off-by: youhengfei <474029121@qq.com>
Re-pin the M9 evidence document to 21f59c9 and describe only the current architecture: StageClient/StageWorker/StageEngine with PDStageConnector, the received -> ack handoff, reservation credits, cancellation/lease ordering, and remaining review and validation work. Signed-off-by: youhengfei <474029121@qq.com>
|
Re-pinned to current main ( |
Required human contributor answers
1. What outcome are you trying to achieve?
Re-pin the M9 walkthrough to current main so it serves as accurate evidence for the RFC #111 discussion. (User: "主要是固定新的walkthrough"; maintainer review below recommends exactly this.)
2. What is the highest-leverage variable for that outcome?
Accuracy of the evidence document against the reviewed source: reviewers and RFC participants must reason about the current StageEngine/StageWorker/PDStageConnector architecture, not stale line-level detail.
3. How will this work move that variable rather than create busywork?
Rewrites the walkthrough against the pinned baseline
21f59c9and deletes all expired worker/ownership detail, per the maintainer self-review on this PR: "keep the draft, re-pin to currentmain, and rewrite the worker/ownership section againstStageEngine/StageWorker... it is the line-level detail that expired, not the document's purpose."4. Who is the customer or user, and what do they actually need?
Maintainers reviewing this PR and participants in RFC #111 / module M9 (#32): they need a current-state description of ownership, the handoff state machine, and remaining review/validation work to make contract decisions.
PR necessity and bugfix evidence
Yes — this PR is the agreed evidence document for RFC #111 (see prior discussion moving the proposal to #111). Documentation update, not a bugfix; no runtime failure is claimed. One code-level discrepancy found during the re-pin (coordinator rebuilds all worker configs as
OuroConfig, rejecting Nanbeige'snum_loops; reproduced at the CPU metadata boundary) is documented as remaining work, not fixed here.Purpose
Refs #32 and #111. Evidence document for the M9 RFC; interface decisions belong to #111.
Re-pins
docs/pd_walkthrough.mdto main21f59c9(post unified-stage refactor #118). The document now describes only the current tree:PDEngine,StageClient/StageWorker,StageEngine,PDStageConnector/RequestTransfer,NixlConnector, Scheduler and KVCacheManager.reserve_transfer,can_schedule,prefill_submitted,accept_import,release_transfer_compute,release_transfer,suspend_transfer) and their contracts.reserved_blocks/slots) versus physical allocator usage; message scopes including genericcontrol/replyprofiling.received → ackordering (independent of compute admission) and the eight distinct completion milestones.Test Plan
vllm-rlt Version / Commit:
22951a5ondocs/m9-pd-refactoring, merging main21f59c9.Documentation only; no runtime change.
git diff upstream/main --check: clean.pytest -q tests/test_transfer_connector.py tests/test_stage_engine.py tests/test_pd.py tests/test_profiling.py→ 89 passed, 34 skipped (GPU cases skipped, CUDA hidden).OuroConfig(**asdict(NanbeigeConfig()))→TypeError: num_loops); documented in §6.Test Result
As above. No GPU, real-checkpoint or performance runs; no runtime behavior is claimed or changed.