Skip to content

test: Phase 1 TC-05 performance arms and TC-06 Guard recovery timing - #140

Draft
luckyq wants to merge 1 commit into
doxu/phase1-3-tc04from
doxu/phase1-4-tc05-tc06
Draft

luckyq wants to merge 1 commit into
doxu/phase1-3-tc04from
doxu/phase1-4-tc05-tc06

Conversation

@luckyq

@luckyq luckyq commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Series map (Phase 1 harness, one PR per step; each is based on the previous one)

PR Step Test cases
#137 Harness core: stack, client, telemetry, reference engine, CI unit tests; phase1 job in vllm-e2e.yml on the two-GPU runner (TC-01; #138/#139 extend --cases) TC-01 integration generation correctness
#138 Local DRAM flow and hinted peer transfer, hybrid geometry flags TC-02, TC-03
#139 Guard protection, takeover, replacement TC-04
#140 Streaming client, performance arms, Guard recovery timing TC-05, TC-06
#141 Sidecar kvcr_service, 2P+1D, two nodes, k8s / Slurm / Docker runners; phase1-2p1d CI job (2P+1D on the two-GPU runner, prefill workers share GPU 0) all cases on those topologies
#142 docs/ci.md: what the two CI lanes verify, how to run them elsewhere, how to read evidence —
#143 Test plan, run history, bare-vLLM probes —
#180 --engine sglang: dynamo.sglang + HiCache KVCR storage backend (quick-start config), SGLang telemetry mapping, deterministic mode; no Guard/disagg TC-01..03, TC-05 on SGLang

Replaces #103. All seven are drafts until the per-PR GPU runs on the current main image are done.

Problem

  • Part 4 of the stacked Phase 1 series (on top of TC-04). The functional cases prove correctness; nothing yet measures what KVCR costs or how fast the Guard recovers.

What this adds

  • tests/e2e/phase1/perf.py with streaming requests (Client.stream_completion: client-side TTFT, TPOT, per-chunk timing, worker identity) and the KVCR-disabled cold/warm baseline recorded in the reference phase.
  • TC-05 performance arms: cold, KVCR local hit, DRAM-pool hit after evicting the GPU prefix cache (--perf-evict-filler), remote hit through a peer transfer, plus a concurrency sweep (--perf-concurrency-levels). Every stream must reproduce the reference tokens; transfer telemetry must reconcile (remote_deliver == source_write, bytes equal, exact pages for hybrid geometry). No latency thresholds in this round; deltas against the baseline are recorded.
  • TC-06 Guard recovery timing: t0 engine kill, t1 first correct Guard-served response (must be covered by remote_deliver on the target; attempts rotate over prompts the target has not seen so a local re-commit cannot pass; a token mismatch fails), t2 replacement serving; post-recovery hits from the reclaimed pool.
  • Unit tests for the Guard-source and attempt-outcome verdicts.

Validation

@copy-pr-bot

copy-pr-bot Bot commented Oct 27, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@luckyq
luckyq marked this pull request as draft October 27, 2026 19:33
@luckyq
luckyq force-pushed the doxu/phase1-3-tc04 branch from f56cf2d to 3a275b4 Compare November 2, 2026 07:38
@luckyq
luckyq force-pushed the doxu/phase1-4-tc05-tc06 branch from f7424f7 to a3e050e Compare November 2, 2026 07:38
@luckyq
luckyq force-pushed the doxu/phase1-3-tc04 branch from 3a275b4 to a136065 Compare November 2, 2026 22:44
@luckyq
luckyq force-pushed the doxu/phase1-4-tc05-tc06 branch 2 times, most recently from 8122f88 to df9077b Compare November 2, 2026 23:15
@luckyq
luckyq force-pushed the doxu/phase1-3-tc04 branch from a136065 to 711ea9f Compare November 2, 2026 23:15
@luckyq
luckyq force-pushed the doxu/phase1-4-tc05-tc06 branch from df9077b to 3b144f2 Compare November 2, 2026 23:17
@luckyq
luckyq force-pushed the doxu/phase1-3-tc04 branch from 711ea9f to 6d913cd Compare November 2, 2026 23:17
@luckyq
luckyq force-pushed the doxu/phase1-4-tc05-tc06 branch from 3b144f2 to 19d03a6 Compare November 2, 2026 23:53
@luckyq
luckyq force-pushed the doxu/phase1-3-tc04 branch from 6d913cd to 29cc510 Compare November 2, 2026 23:53
@luckyq
luckyq force-pushed the doxu/phase1-4-tc05-tc06 branch 2 times, most recently from c21f34f to 72fd8e9 Compare November 3, 2026 19:45
@luckyq
luckyq force-pushed the doxu/phase1-3-tc04 branch from 18a0131 to 3494fff Compare November 3, 2026 19:45
@luckyq
luckyq force-pushed the doxu/phase1-4-tc05-tc06 branch from 72fd8e9 to 896cea0 Compare November 3, 2026 19:46
@luckyq
luckyq force-pushed the doxu/phase1-3-tc04 branch 2 times, most recently from 4ad9824 to ff5ab7d Compare November 3, 2026 20:22
@luckyq
luckyq force-pushed the doxu/phase1-4-tc05-tc06 branch from 896cea0 to 3da11fb Compare November 3, 2026 20:22
Streaming client (client-side TTFT, TPOT, per-chunk timing) and the
KVCR-disabled cold/warm baseline in the reference phase. TC-05 measures cold,
local-hit, DRAM-pool-hit, remote-hit and concurrency arms with full token and
telemetry reconciliation; TC-06 times engine kill -> first Guard-served
response (must be delivered from the Guard: remote_deliver on the target,
attempts rotate over unseen prompts, mismatches fail) -> replacement serving.

Part 4 of the stacked Phase 1 series.

Signed-off-by: doxu <doxu@nvidia.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant