Repository navigation
Conversation
luckyq
marked this pull request as draft
October 27, 2026 19:33
This was referenced Oct 27, 2026
luckyq
force-pushed
the
doxu/phase1-5-topologies
branch
3 times, most recently
from
November 2, 2026 22:44
ef6424e to
b699987
Compare
luckyq
force-pushed
the
doxu/phase1-4-tc05-tc06
branch
from
November 2, 2026 23:15
8122f88 to
df9077b
Compare
luckyq
force-pushed
the
doxu/phase1-5-topologies
branch
3 times, most recently
from
November 2, 2026 23:53
e27b3b6 to
3a35342
Compare
luckyq
force-pushed
the
doxu/phase1-4-tc05-tc06
branch
2 times, most recently
from
November 3, 2026 18:18
19d03a6 to
c21f34f
Compare
luckyq
force-pushed
the
doxu/phase1-5-topologies
branch
2 times, most recently
from
November 3, 2026 19:13
8a27d99 to
91aa5c0
Compare
luckyq
force-pushed
the
doxu/phase1-4-tc05-tc06
branch
from
November 3, 2026 19:45
c21f34f to
72fd8e9
Compare
luckyq
force-pushed
the
doxu/phase1-5-topologies
branch
from
November 3, 2026 19:45
91aa5c0 to
21cdac1
Compare
luckyq
force-pushed
the
doxu/phase1-4-tc05-tc06
branch
from
November 3, 2026 19:46
72fd8e9 to
896cea0
Compare
luckyq
force-pushed
the
doxu/phase1-5-topologies
branch
from
November 3, 2026 19:46
21cdac1 to
81f9c6d
Compare
luckyq
force-pushed
the
doxu/phase1-4-tc05-tc06
branch
from
November 3, 2026 20:22
896cea0 to
3da11fb
Compare
luckyq
force-pushed
the
doxu/phase1-5-topologies
branch
2 times, most recently
from
November 3, 2026 21:24
3ad327c to
df1faa0
Compare
Sidecar kvcr_service containers (--external-services), 2P+1D disaggregation on three GPUs (--topology disagg: prefill workers with a KVCR + NIXL MultiConnector, one decode consumer, prefill pinning), two-node runs through a node agent with etcd discovery (--remote-worker, --etcd), and the runners: scripts/docker (image build with recorded source revisions, containerised harness run), scripts/k8s (pod manifests, one or two nodes, overlays) and scripts/dlcluster (Slurm sbatch + image build). Dockerfile.quick-start records the source revisions the image was built from into the evidence. Part 5 of the stacked Phase 1 series. Signed-off-by: doxu <doxu@nvidia.com>
luckyq
force-pushed
the
doxu/phase1-4-tc05-tc06
branch
from
November 4, 2026 01:14
3da11fb to
d2a7ea7
Compare
luckyq
force-pushed
the
doxu/phase1-5-topologies
branch
from
November 4, 2026 01:14
df1faa0 to
81af848
Compare
This branch has not been deployed
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.
Series map (Phase 1 harness, one PR per step; each is based on the previous one)
phase1job invllm-e2e.ymlon the two-GPU runner (TC-01; #138/#139 extend--cases)kvcr_service, 2P+1D, two nodes, k8s / Slurm / Docker runners;phase1-2p1dCI job (2P+1D on the two-GPU runner, prefill workers share GPU 0)docs/ci.md: what the two CI lanes verify, how to run them elsewhere, how to read evidence--engine sglang: dynamo.sglang + HiCache KVCR storage backend (quick-start config), SGLang telemetry mapping, deterministic mode; no Guard/disaggReplaces #103. All seven are drafts until the per-PR GPU runs on the current main image are done.
Problem
kvcr_servicecontainers, 2P+1D disaggregation, two nodes) have no runner.What this adds
--external-services DIR: sidecar topology,kvcr_serviceruns in its own containers and shares sockets/logs through DIR.--topology disagg: 2P+1D on three GPUs; workers 0/1 are prefill workers with a MultiConnector (KVCR OffloadingConnector + NixlConnector producer), worker 2 the decode consumer; requests pin the prefill worker. The KVCR tier list, state-agent settings andself_describing_kv_eventsare mirrored at the MultiConnector top level because Dynamo read them only there (fixed upstream by dynamo#16778).--remote-worker INDEX=URL+--etcd: two-node runs throughtests/e2e/phase1/node_agent.py(spawns the remote worker and its sidecar, relays logs); etcd discovery because Dynamo's file discovery does not cross nodes.Runners:
scripts/docker/(build the quick-start image from committed source with recorded Dynamo / vLLM-adapter revisions; run the harness in that image on two selected GPUs),scripts/k8s/phase1-pod.py(pod manifests: single or two nodes, overlays, extra env),scripts/dlcluster/(Slurm sbatch + image build) with the hybrid matrix pinned to the measured Qwen3.5-4B geometry.Dockerfile.quick-start-vllm(rebased onto v0.2.0 pins): records the Dynamo / vLLM-adapter / KVCR revisions into/opt/kvcr-build/source-revisions.jsonsoresult.jsoncarries image provenance; configurable runtime user for sidecar images.phase1-2p1djob in.github/workflows/vllm-e2e.yml: the 2P+1D layout on the two-GPU runner (--gpus 0,0,1 --gpu-memory-utilization 0.35,kvcr-servicesidecars as background processes of the step), TC-01..04 + TC-06, functional verdicts only.Validation
v020c-2p1d-shared, 2×H100): TC-01..04 + TC-06 PASS, Guard promoted 1.0 s, first correct response 1.4 s, replacement serving 82 s.ruff,pytest tests/ci: see CI.--gpu-memory-utilization 0.35because the decode worker keeps the dead prefill's KV mapped over NIXL) are in the test plan part of this series.