From e9c5f85500e9aa289c27d8658269c25435ad08ec Mon Sep 17 00:00:00 2001 From: Zhiyi Hong <2497491955@qq.com> Date: Fri, 31 Jul 2026 16:20:53 +0800 Subject: [PATCH] [Docs] document Phase 2 worker staging fix --- README.md | 4 +++ .../phase2_code.html | 28 +++++++++++-------- ...glang_hardware_contention_attribution.html | 11 +++++--- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 8351c69..9017f4d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # sskj — 多平台大模型推理性能基准测试项目 +> **更新(2026-07-31 16:18:35 CST)** +> +> 修复 Phase 2 双节点通信基线在 Worker 启动后立即退出的问题。唯一入口仍只在 Head `174.1.51.5` 执行;脚本现在按 `RUN_ID` 将 `communication_baseline.py` 自动暂存到 Head/Worker 的 `/tmp`,校验 SHA256 后只读挂载进通信容器,并在结果目录保存当次源码与哈希。Worker `174.1.51.7` 不再依赖同路径 Git 工作树,异常退出也会清理暂存文件。新增回归测试后 Phase 2 单元测试为 9/9。 +> > **更新(2026-07-31 15:59:49 CST)** > > 在 DeepSeek-V4-Pro 双机 Pro6000D 推理优化主计划和 Phase 2 实施档案中增加 `phase2_code.html` 的直接入口,便于从阶段状态、实验命令与结果页面跳转到对应代码调用关系和逐行实现说明。 diff --git a/docs/dsv4pro_pro6000d_2node_sglang/phase2_code.html b/docs/dsv4pro_pro6000d_2node_sglang/phase2_code.html index 125780d..c4f5259 100644 --- a/docs/dsv4pro_pro6000d_2node_sglang/phase2_code.html +++ b/docs/dsv4pro_pro6000d_2node_sglang/phase2_code.html @@ -105,7 +105,7 @@

Standalone Code Walkthrough / Phase 2

DSV4-Pro 双机 Pro6000D SGLang 硬件竞争归因:代码详解

- 行号基线:30664faa41f8  + 行号基线:39fc2ba565a3  生成时间:2026-07-31 15:25:00 CST  唯一入口:run_hardware_contention_attribution.sh all
@@ -114,7 +114,7 @@
- 文档边界:本文只解释提交 30664faa41f8 的 Phase 2 + 文档边界:本文只解释提交 39fc2ba565a3 的 Phase 2 代码和文件调用关系。Phase 1 负责模型服务与请求;Phase 2 负责通信基线、 两节点监控、精确时间切片和逐指标报告。
@@ -161,10 +161,10 @@ 文件行数职责 config.env61节点、Case、分层采样周期、通信尺寸、NCCL 选择和 fail-closed 策略。 - run_hardware_contention_attribution.sh968唯一 Shell 编排器:预检、通信基线、Phase 1 委托、采集器、Case 和清理。 + run_hardware_contention_attribution.sh1036唯一 Shell 编排器:预检、通信文件分发、通信基线、Phase 1 委托、采集器、Case 和清理。 communication_baseline.py227CUDA P2P 全矩阵及 PyTorch/NCCL AllReduce 正确性、延迟和带宽测试。 hardware_contention_attribution.py1480解析所有原始采集器,按 Case 切片,聚合通信并生成 CSV/JSON/report.md。 - tests/test_hardware_contention_attribution.py3088 项纯 Python 单元测试,覆盖精确窗口、解析器、RDMA 单位和通信聚合。 + tests/test_hardware_contention_attribution.py3229 项纯 Python 单元测试,覆盖 worker 无仓库依赖、精确窗口、解析器、RDMA 单位和通信聚合。 @@ -212,19 +212,23 @@

5. 通信微基准

5.1 Shell 如何编排

- run_hardware_contention_attribution.sh:L269-L447 负责 Docker 命令、 - 两节点同步和清理。所有命令先写入 commands/*.txt: + run_hardware_contention_attribution.sh:L281-L513 负责源码暂存、 + Docker 命令、两节点同步和清理。所有命令先写入 commands/*.txt

Docker 使用和 SGLang 一致的 CUDA 13 nightly 镜像,并显式透传 rdma_cmuverbs0uverbs3NCCL_DEBUG=INFO 只在微基准中打开,用于证明 NET/IB/GDRDMA 路径。 + Worker 不要求存在 Git 仓库;容器只读挂载自动分发的 + /tmp/.../<RUN_ID>/communication_baseline.py。结果目录同时保存 + 当次源码副本和 SHA256,避免两个节点 checkout 不一致造成版本漂移。

5.2 P2P 代码

@@ -374,7 +378,7 @@ measurement_window_source = bench_main_marker_plus_duration L26-L66日志、远端执行、命令证据基础设施。 L67-L199配置、工具、时钟、GPU 空闲门禁正式运行前 fail-fast。 L200-L268Manifest、marker、Phase 1 委托运行身份与复用边界。 - L269-L447通信基线P2P、8/16-rank AllReduce、CROSS_NIC A/B。 + L281-L513通信基线按 Run 分发源码、P2P、8/16-rank AllReduce、CROSS_NIC A/B 与清理。 L448-L516服务和静态快照启停 Phase 1 双机服务并保存环境。 L517-L710采集命令与启动两节点分层采样。 L711-L772采集器检查和停止fail-closed 与残留清理。 @@ -403,7 +407,7 @@ measurement_window_source = bench_main_marker_plus_duration
diff --git a/docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution.html b/docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution.html index a6487c4..817a22e 100644 --- a/docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution.html +++ b/docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution.html @@ -574,11 +574,11 @@ dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution/ 文件职责当前状态 - run_hardware_contention_attribution.sh唯一 Shell 入口;通信基线、服务启停、双节点采集器、Case 编排、门禁和 Trap 清理已实现 + run_hardware_contention_attribution.sh唯一 Shell 入口;按 Run 分发通信代码、通信基线、服务启停、双节点采集器、Case 编排、门禁和 Trap 清理已实现 config.envPhase 1 相对路径、节点、代表 Case、分层采样周期、通信基线与 fail-closed 策略已实现 communication_baseline.pyCUDA P2P 全矩阵与 PyTorch/NCCL 8/16-rank AllReduce 微基准已实现 hardware_contention_attribution.py精确窗口、全部采集器解析、逐 Case 汇总、通信聚合和逐指标报告已实现 - tests/test_hardware_contention_attribution.pyGPU/RDMA、精确窗口、DCGM/CPU 解析、通信聚合和结果生成测试8/8 通过 + tests/test_hardware_contention_attribution.pyWorker 无仓库依赖、GPU/RDMA、精确窗口、DCGM/CPU 解析、通信聚合和结果生成测试9/9 通过 README.md唯一入口、范围和结果目录说明已实现 @@ -602,6 +602,8 @@ dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution/ head_server.log worker_server.log communication/ + communication_baseline.py + communication_baseline.sha256 p2p_head.log p2p_worker.log allreduce_head_8gpu.log @@ -646,8 +648,8 @@ dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution/

8. 验收结果