Skip to content

standalone-indexer (h24 line): subscribe to every data-parallel rank of a discovered pod - #40

Merged
Shang-Pin merged 1 commit into
v41-partial-skip-h24from
dp-rank-watch-h24
Sep 17, 2026
Merged

Shang-Pin merged 1 commit into
v41-partial-skip-h24from
dp-rank-watch-h24

Conversation

@Shang-Pin

Copy link
Copy Markdown

Cherry-pick of #39 (bb6dcfd5c5) onto v41-partial-skip-h24, the branch the h24 indexer image is built from (it carries --h24, which the v41-partial-skip image lacks, so the #39 image exits with unexpected argument '--h24' on the h24 service). Same change, same tests; see #39 for the analysis.

🤖 Generated with Claude Code

…ered pod

Pod discovery registered each engine pod once, as dp_rank 0 on
tcp://<ip>:<zmq_port>. vLLM offsets the KV-event ZMQ port and the
/kv_recover port by data_parallel_rank, so on a --data-parallel-size N
engine ranks 1..N-1 publish to ports nobody subscribes to and everything
they cache is invisible to /query while the engine still hits it.

Measured on deepseek-ai/DeepSeek-V4.1-Flash (DP=2): every prefill the
scheduler placed on rank 1 (about half) showed 0 in the standalone
indexer and in rank 0's /kv_recover dump, and all its blocks in rank 1's
dump; the KV ladder read actual 0.78 > h24 0.65 > perfect 0.63 >
reality 0.59.

Add --watch-dp-size (default 1, so single-rank engines are unchanged).
The watcher registers one listener per rank under the pod's instance:
dp_rank r, tcp://<ip>:<zmq_port + r>, http://<ip>:<recover_port + r>.
register() rejects a rank that is already present, so a pod whose
registration fails part-way is deregistered before the retry instead of
being left half-subscribed forever.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit bb6dcfd)
@Shang-Pin
Shang-Pin deployed to external_collaborator September 16, 2026 23:45 — with GitHub Actions Active
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 16, 2026
@Shang-Pin

Copy link
Copy Markdown
Author

Built localhost:30500/dynamo-indexer:kvtest-d57bab4a29 from this branch and rolled it to deepseek-ai/DeepSeek-V4.1-Flash kv-indexer:h24. Pod Ready; startup log shows Recovery complete (TreeDump) for dp_rank 0 and dp_rank 1 on all six engine pods (per-rank /kv_recover on 5559/5560 works).

@Shang-Pin
Shang-Pin marked this pull request as ready for review September 17, 2026 21:15
@Shang-Pin
Shang-Pin merged commit b16af1e into v41-partial-skip-h24 Sep 17, 2026
14 of 26 checks passed

This branch was successfully deployed

1 active deployment
external_collaborator d57bab4a Deployed Sep 16, 2026 by Shang-Pin via ok-to-test #38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant