[None][infra] Run GB200 functional-only disagg perf-sanity on both oci-hsg and aws-dfw - #16619
[None][infra] Run GB200 functional-only disagg perf-sanity on both oci-hsg and aws-dfw#16619chenfeiz0326 wants to merge 2 commits into
Conversation
…i-hsg and aws-dfw The pre-merge GB200 2-node disaggregated perf-sanity stage (GB200-8_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-FUNCTIONAL-ONLY-CTX1-NODE1-GPU1-GEN1-NODE1-GPU4) is functional-only: perf regressions do not fail CI, it only verifies that the disaggregated path runs. It currently uses "auto:gb200-flex", which pins it to the oci-hsg cluster. Switch it to "auto:gb200-flex-split" so it can also land on aws-dfw. Because this stage only checks functionality (not perf numbers), cross-cluster perf variance is irrelevant, and spreading it across both clusters relieves pressure on the heavily-loaded oci-hsg cluster. The "auto:gb200-flex-split" label is already used by the neighboring GB200 2-node multi-node stages, so this reuses an existing, validated placement for the same 8-GPU / 2-node topology. Signed-off-by: Chenfei Zhang <chenfeiz@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe SBSA multi-node GB200 disaggregated perf-sanity Jenkins stage now resolves its platform using ChangesGB200 platform configuration
Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/bot run --disable-fail-fast --stage-list "GB200-8_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-FUNCTIONAL-ONLY-CTX1-NODE1-GPU1-GEN1-NODE1-GPU4-1" |
|
PR_Github #60352 [ run ] triggered by Bot. Commit: |
|
PR_Github #60352 [ run ] completed with state
|
|
/bot run --disable-fail-fast --stage-list "GB200-8_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-FUNCTIONAL-ONLY-CTX1-NODE1-GPU1-GEN1-NODE1-GPU4-1" |
|
PR_Github #60362 [ run ] triggered by Bot. Commit: |
|
PR_Github #60362 [ run ] completed with state
|
|
/bot run --disable-fail-fast --stage-list "GB200-8_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-FUNCTIONAL-ONLY-CTX1-NODE1-GPU1-GEN1-NODE1-GPU4-1" |
|
PR_Github #60368 [ run ] triggered by Bot. Commit: |
|
PR_Github #60368 [ run ] completed with state
|
|
/bot run --disable-fail-fast --stage-list "GB200-8_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-FUNCTIONAL-ONLY-CTX1-NODE1-GPU1-GEN1-NODE1-GPU4-1" |
|
PR_Github #60392 [ run ] triggered by Bot. Commit: |
|
PR_Github #60392 [ run ] completed with state
|
|
/bot run --disable-fail-fast --stage-list "GB200-8_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-FUNCTIONAL-ONLY-CTX1-NODE1-GPU1-GEN1-NODE1-GPU4-1" |
|
PR_Github #60532 [ run ] triggered by Bot. Commit: |
|
PR_Github #60532 [ run ] completed with state
|
…s-dfw EFA The GB200 functional-only disaggregated perf-sanity stage now also runs on aws-dfw (via auto:gb200-flex-split). aws-dfw nodes use an Amazon EFA fabric, where UCX auto-selects the gdr_copy transport for the NIXL KV-cache transfer. gdr_copy fails on EFA with `gdr_copy_from_mapping failed. ret:22`, so the ctx worker cannot send KV, the gen worker starves, and the test times out (verified by reproducing on aws-dfw GB200 and via the PR NVIDIA#14933 cache-transceiver harness). Set UCX_TLS=^gdr_copy for GB200 FUNCTIONAL-ONLY disagg stages so UCX keeps its other transports and the KV transfer completes on EFA. The scope is deliberately limited to FUNCTIONAL-ONLY stages: they only verify the disaggregated path runs and do not judge perf, so the slower EFA fallback is acceptable. GB200 post-merge perf-sanity stages (which share the same config yaml but run on oci-hsg over NVLink/IB) keep `unset UCX_TLS` so their perf numbers are unaffected. Note: this makes the functional-only stage PASS on aws-dfw but the EFA KV path is host-staged (<1 GB/s); getting the disagg transfer onto NVLink/GPUDirect-RDMA is a separate upstream NIXL/cache-transceiver item. Signed-off-by: Chenfei Zhang <chenfeiz@nvidia.com>
Why this PR now also touches
|
|
/bot run --disable-fail-fast --stage-list "GB200-8_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-FUNCTIONAL-ONLY-CTX1-NODE1-GPU1-GEN1-NODE1-GPU4-1" |
|
PR_Github #60905 [ run ] triggered by Bot. Commit: |
|
PR_Github #60905 [ run ] completed with state
|
Closing this PR — aws-dfw cannot run this disaggregated case (correcting an earlier claim)After validating on real aws-dfw GB200 hardware, I'm closing this PR: moving this GB200 functional-only disaggregated stage to aws-dfw does not work, and no environment tweak fixes it. Correction to my earlier commentMy earlier comment said What actually happens on aws-dfw (all runs → 0 completed requests)The real
Every config ends at 0 completed requests via the 60 s KV-transfer timeout. The PR #14933 cache-transceiver harness showed cuda_ipc/NVLink ~200 GB/s in a microbenchmark, but that path is not taken by the full NIXL disagg serve transceiver on aws-dfw — it routes over EFA and times out. So the root issue is the NIXL cross-node KV transfer over EFA itself, not the UCX TLS/rndv env or the KV-cache-manager version. DecisionThis disaggregated stage stays on |
|
Closing per the analysis above — aws-dfw EFA cannot run this NIXL disagg case; keeping it on oci-hsg (auto:gb200-flex). |
Description
The pre-merge GB200 2-node disaggregated perf-sanity stage
GB200-8_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-FUNCTIONAL-ONLY-CTX1-NODE1-GPU1-GEN1-NODE1-GPU4is functional-only — as the stage name and the surrounding comment note,
"perf regressions do not fail CI." Its only purpose is to verify that the
disaggregated serving path runs end-to-end.
It currently uses
auto:gb200-flex, which pins it to the oci-hsg cluster.oci-hsg is heavily loaded, and since this stage does not judge perf numbers,
there is no reason to keep it on a single cluster.
This PR switches the platform label to
auto:gb200-flex-splitso the stage canalso be scheduled on aws-dfw. Because the stage only checks functionality
(not perf), cross-cluster perf variance is irrelevant, and spreading it across
both clusters relieves pressure on the crowded oci-hsg cluster.
auto:gb200-flex-splitis already used by the neighboring GB200 2-nodemulti-node stages in the same file, so this reuses an existing, validated
placement for the same 8-GPU / 2-node topology.
Test Coverage
No new tests. This is a CI placement-only change to an existing pre-merge
functional-only stage; the stage's test content is unchanged. The stage itself
(
GB200-8_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-FUNCTIONAL-ONLY-...) exercisesthe change by running on either oci-hsg or aws-dfw.
PR Checklist
Summary by CodeRabbit