Repository navigation
docs(pd): cover vLLM HTTP disaggregation, KV-protocol pairing, and EPD - #46
Merged
Merged
Conversation
Document sequential vLLM PD over HTTP with kv_transfer_params relay and connector registration (smg-project/smg#2255, #2425, #2358, #2359). Add KV-transfer-protocol pairing and --pd-pairing-mode (#2484, #2486, #2504), the gRPC decode admission window, n>1 fan-out, PD error codes, and Messages/Responses/count_tokens support (#2466, #2482, #2479, #2250, #2638). Add an EPD section and fix stale worker flags, metrics, and examples. Signed-off-by: Simo Lin <25425177+slin1237@users.noreply.github.com>
|
Warning Review limit reachedNext included review available in 43 minutes. View limit detailsLimit details: You’ve used all 4 included reviews currently available. Your 62 included PR review attempts over the past 7 days set your current allowance at 4 reviews per hour. Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (6)
Comment |
SGLang 0.5.16+ names the flag --smg-grpc-mode and keeps --grpc-mode as a deprecated alias; smg pins SGLang 0.5.20. Move the concept example's decode worker to 50061 as well, clear of the prefill sidecar on --port + 1. Signed-off-by: Simo Lin <25425177+slin1237@users.noreply.github.com>
Verified against smg v1.11.0 (3be823a7): - Drop the worker-spec pairing_protocol field as a source: registration never applies it; the label and SMG_PAIRING_PROTOCOL are what work. - List do_remote_decode/do_remote_prefill in the minted Mooncake params. - gRPC n>1 still runs the untagged prefill leg and gives Mooncake decode the legacy host/port; only HTTP skips prefill. - Seed offset in the n>1 fan-out applies to TokenSpeed only. - Deferred decode abort is capped at 30 s; drop "never torn down". - Only the HTTP PD router names the leg in no_available_workers. - prefill_upstream_error covers an error status, not transport failures. - power_of_two check is per explicit leg policy and skipped under discovery or IGW; non-nixl/mooncake connectors keep their own name. - HTTP n>1 stall is scoped to single-prompt completions; pairing is compatibility, not key equality; readiness wording is necessary-only. - Admission wait/shed counter descriptions, restart engine-id caveat, and Mooncake push wording in the sequential flow. Signed-off-by: Simo Lin <25425177+slin1237@users.noreply.github.com>
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.
PD disaggregation changed a lot in v1.10 and v1.11, and the docs still described the pre-1.10 behavior:
kv_transfer_params(feat(pd): sequential vLLM disaggregation with kv_transfer_params relay over HTTP smg#2255, with MultiConnector resolution in #2425).count_tokensroute through PD (#2250, #2638).--pd-pairing-mode(#2484, #2486, #2504).n>1fans out into one pair per sample (#2482).503for an unavailable leg (#2479).The old pages also showed wrong SGLang flags, invented pairing strategies and sizing tables, and no EPD at all.
Changes
concepts/routing/pd-disaggregation.md(rewritten)runtime_pd_not_supported); and ZMQ (rejected).n>1fan-out.pd_decode_language_model_only_*codes.pairing_protocol/SMG_PAIRING_PROTOCOL, and 503no_compatible_pd_pair.smg_pd_*series.getting-started/pd-disaggregation.md(rewritten)kv_connectorthroughPOST /workers.getting-started/index.md, PD Disaggregation Workerssmg launch(the pip CLI requires a subcommand).--port + 1, which collided with a decode worker on 50052.sglang.ai/bootstrap-port,smg.ai/kv-connector,smg.ai/kv-engine-id), a vLLM Mooncake pod example, and notes on role precedence and readiness.concepts/architecture/overview.md, PD Mode: one accurate paragraph replaces a stale four-step list.Verification
v1.11.0(3be823a7):routers/http/pd_router.rs,routers/grpc/common/stages/{worker_selection,request_execution,context_length}.rs,worker/{pd_pairing,pd_pair_index,kv_transfer}.rs,service_discovery/kubernetes.rs,main.rs, andconfig/validation.rs. Launch commands were cross-checked with the e2e harness. The sidecar port was checked in the SGLang source.pnpm lint,pnpm check(0 errors), andpnpm buildpass.zmq-workers.md(docs: add a guide for direct ZMQ engine connections #45),multimodal.md(docs: add a multimodal pipeline concept page #44), andoverload-protection.md(docs(reliability): document worker overload protection and load monitoring #37).wrangler pages dev.This is one of a series of docs PRs that bring the site up to smg v1.11.0, one per area.
🤖 Generated with Claude Code