diff --git a/README.md b/README.md index b77be47..131abec 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # sskj — 多平台大模型推理性能基准测试项目 +> **更新(2026-07-31 11:57:13 CST)** +> +> 实现 DeepSeek-V4-Pro 双机 Pro6000D SGLang TP16 的 Phase 2 硬件与资源竞争归因。新增唯一入口 `run_hardware_contention_attribution.sh`,内部复用 Phase 1 的双机服务与 benchmark,不要求用户手工启动 Phase 1;默认重放长/并发 Prefill、普通/持续/长上下文 Decode 和混合 Prefill/Decode A/B。Head 与 Worker 在同一诊断窗口采集 GPU、DCGM、CPU、进程、NUMA、`eth0/eth3` 和 `mlx5_0/mlx5_3` RDMA 数据,并保存 Case marker、完整命令、Manifest 和结构化汇总。正式执行只需运行 Phase 2 的 `all` 入口。 +> > **更新(2026-07-31 10:45:24 CST)** > > 为 DeepSeek-V4-Pro 双机 Pro6000D SGLang TP16 的 Phase 2 硬件归因同步宿主机监控环境:`174.1.51.5` 与 `174.1.51.7` 均安装 `sysstat 12.5.2`,`pidstat`、`mpstat`、`sar -n DEV,EDEV` 的 1 秒实时采样验证通过。两节点的 sysstat service/timer 保持 `disabled/inactive`,正式实验由编排脚本显式启停采集,避免后台周期任务干扰 Case。Phase 2 必须同时保存 Head/Worker 的 sysstat、GPU、SGLang 与 RDMA 时间序列;`docker top` 用于 PID 映射,`perf` 用于 CPU 硬件事件,`numastat` 用于 NUMA 亲和,`mlx5_0/mlx5_3` HCA 计数器用于 RoCE 数据面,均不能由 sysstat 完整替代。 @@ -81,6 +85,7 @@ | `experiments/pro6000/dsv4_pro6000_vllm_tp_dp_matrix/` | RTX 6000D + vLLM | | `experiments/pro6000/dsv4_pro6000_sglang_tp_dp_matrix/` | RTX 6000D + SGLang | | `experiments/pro6000/dsv4pro_pro6000d_2node_sglang_tp16_quick_map/` | 双机 RTX 6000D + DeepSeek-V4-Pro,SGLang TP16 快速性能地图与混合干扰 A/B | +| `experiments/pro6000/dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution/` | 双机 RTX 6000D + DeepSeek-V4-Pro,SGLang TP16 硬件与资源竞争归因 | TP/DP matrix 目录内:`run_bench.sh` 跑固定并发矩阵;`run_adaptive_concurrency.sh` 从 C=1 指数倍增搜饱和点;`run_adaptive_concurrency_add16.sh` 从 C=16 线性 +16 步进、带 TTFT SLO 停止与回退(当前主力用法,见 `experiments/ADAPTIVE_CONCURRENCY_USAGE.md`)。专项 quick-map 的入口以对应目录 README 为准。 diff --git a/docs/dsv4pro_pro6000d_2node_sglang/phase1_dsv4pro_pro6000d_2node_sglang_quick_map.html b/docs/dsv4pro_pro6000d_2node_sglang/phase1_dsv4pro_pro6000d_2node_sglang_quick_map.html index 31cf0e0..d12d64d 100644 --- a/docs/dsv4pro_pro6000d_2node_sglang/phase1_dsv4pro_pro6000d_2node_sglang_quick_map.html +++ b/docs/dsv4pro_pro6000d_2node_sglang/phase1_dsv4pro_pro6000d_2node_sglang_quick_map.html @@ -609,10 +609,9 @@ wait "${background_pid}"
- Phase 2 优先采集三类代表负载:128K → 1,C=1 的纯长 Prefill、
- 32K → 1,C=16 的并发 Prefill,以及
- 1K → 1K,C=32 在有无 128K 注入时的混合 A/B。
- 目标是区分计算、显存带宽、调度排队、跨机通信和节点不均衡。
+ Phase 2 在上述长 Prefill、并发 Prefill和混合 A/B 之外,还会采集普通 Decode、
+ 长输出 Decode 与长上下文 Decode。目标是区分计算、显存带宽、调度排队、
+ 跨机通信、KV 增长和节点不均衡。
完整产物: @@ -647,8 +646,8 @@ tmux attach -t dsv4pro-phase1-full
下一阶段: - - Phase 2:Prefill 硬件指标归因 + + Phase 2:硬件与资源竞争归因
diff --git a/docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_prefill_hardware_attribution.html b/docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution.html similarity index 62% rename from docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_prefill_hardware_attribution.html rename to docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution.html index 03bd8e3..5db3d8e 100644 --- a/docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_prefill_hardware_attribution.html +++ b/docs/dsv4pro_pro6000d_2node_sglang/phase2_dsv4pro_pro6000d_2node_sglang_hardware_contention_attribution.html @@ -3,7 +3,7 @@ -