From 5359463652498cf5353edfe31679b73e466d40df Mon Sep 17 00:00:00 2001 From: Gahow Wang Date: Mon, 13 Jul 2026 18:11:32 +0800 Subject: [PATCH] Record CollectiveSpec P0 no-go evidence --- docs/collectivespec-pilot-design-20260713.md | 99 ++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/docs/collectivespec-pilot-design-20260713.md b/docs/collectivespec-pilot-design-20260713.md index d046447..73fa86f 100644 --- a/docs/collectivespec-pilot-design-20260713.md +++ b/docs/collectivespec-pilot-design-20260713.md @@ -213,3 +213,102 @@ components;414 条 non-root edge 中 30 条(7.25%)父节点落在窗口外 这只能称为 **window-session-closed**,不等于 full-session coherent:任何结果都必须报告 这 30 条 boundary-parent residual,且不能据此声称跨窗口 KV reuse。若原始 span 恢复,必须 重新从完整 source resolve root 与重新采样,不能沿用 fallback 的 score/threshold。 + +## 2026-07-13 P0 v2:header/liveness premise 的实际结果 + +### 先报异常 + +两个 cell 都在 probe/result 已落盘、64 个请求都已完成后出现 teardown 异常。heterogeneous +cell 有 `free(): corrupted unsorted chunks` 与共享资源泄漏;control 还出现 SIGTERM/SIG11 +和 TCPStore broken pipe。这些不是运行期 request/collective failure,但也意味着本实验**不 +证明干净退出或部署鲁棒性**。本节只使用完成前的 request、worker phase 与 DP metadata +作为 P0 evidence;不报告任何 TPOT/QPS 比较。 + +### 设计、判定与修正后的观测范围 + +在 dash0 的 Qwen3-235B-A22B FP8 + EAGLE3、TP=4/DP=2/EP=8、DeepEP 配置上,P0 将 EAGLE +已生成的 Kmax=3 candidates 按预先给定的 request-static 表截断为 `k_i ∈ {0,1,2,3}`。它只 +改变 verifier 可见 candidate,不消除 EAGLE 的 Kmax drafter 工作。 + +原始 worker hook 还会记录 vLLM 的 profile/DP dummy run;空 `SchedulerOutput` 仍可能有 +physical rows。因此真实 target batch 的判据固定为: + +```text +event == batch_execution_plan +AND request_count > 0 +AND total_scheduled_rows > 0 +``` + +最初 summary 将 676/640 条 dummy/profile record 混入 target phase,错误地把 control 的 +145/146 internal-call 差异解释为 rank mismatch。修正后的汇总只比较 target event,并将 +真实 DP pair 识别为 `[0,4]`、`[1,5]`、`[2,6]`、`[3,7]`;同一 logical DP replica 内的 TP +group 则为 `[0,1,2,3]` 与 `[4,5,6,7]`。 + +### 结果 + +远端可复核 artifact: +`/home/admin/cpfs/wjh/collectivespec-pilot/20260713T054328Z/p0_phase_v2_20260713T0944Z` +(run source `bb698b5`;`summary.json`、`summary.md`、`driver_result.json` 和原始 +`p0_logs/*.jsonl` 均在该目录)。 + +| cell | completion | 实际 candidate K | target worker records | target plan / DP coordination | +|---|---:|---|---:|---| +| control K=3 | 64/64,usage 均为 64 | `{3}` | 488;DP0 每 TP peer 65,DP1 每 peer 57 | 每个 logical DP replica 内序列完全一致;四个真实 DP pair 的 57 个 shared target epoch 的 scalar coordination signature 一致 | +| heterogeneous | 64/64,usage 均为 64 | `{0,1,2,3}` | 528;8 个 peer 各 66 | 两个 logical DP replica 内序列完全一致;四个真实 DP pair 的 66/66 shared target epoch signature 一致 | + +heterogeneous 的 `candidate_truncate` 直方图为 `{0: 1408, 1: 670, 2: 672, 3: 398}`,而截断前 +全部为 K=3(共 3,148 个 candidate)。所以它不是只改变 log 的“伪异构”实验。两 cell 的 +target record 都满足: + +```text +num_tokens_per_rank[dp_rank] == total_scheduled_rows +physical_batch_rows == rows_across_dp[dp_rank] +rows_across_dp[i] >= num_tokens_per_rank[i] +len(rows_across_dp) == len(num_tokens_per_rank) == 2 +``` + +这说明两个独立 scheduler 的 logical plan 可以不同,但 live runtime 已用 scalar DP metadata +协调共同 physical shape,并让共享 EP domain 的真实请求完成;没有观察到运行期 deadlock 或 +collective error。它反驳的是“异构 verifier-side K 必须新增 canonical header 才能先保证 +liveness”的必要性,而不是一般性的形式化证明。 + +### 留下的物理现象,以及为什么它仍不足以继续造系统 + +heterogeneous 的 66 个 shared target epoch 中有 62 个的 raw DP token counts 不相等;现有 +runtime 将 `rows_across_dp` 同步为共同 shape。按每个 DP replica 的一个 TP anchor 计, +target-only physical rows 为 7,024、`num_tokens_per_rank` 为 6,276,metadata 记录的 +post-coordinate row excess 为 748(10.65% physical rows)。control 相应为 9,596/9,080/516 +(5.38%)。 + +这只能看作 **P2 的 row-count upper bound**,绝不能把 control 与 heterogeneous 相减当作 +速度收益:两者 logical plan、scheduler trajectory 都不同,748 也混合 DP max-padding、TP +对齐与 CUDA-graph padding。更关键的是 EAGLE drafter 仍完成 Kmax 工作;即使理想 compact +verifier 回收全部 10.65% target rows,端到端 SLO-goodput 增益也只会更小。 + +因此决策为: + +1. **停止**把 canonical plan header / deadlock avoidance 当作 CollectiveSpec 的研究主线; + P0 已在目标部署上否定其必要前提。 +2. **停止**把“dynamic verification length + flattened ragged execution”本身当贡献;DSpark + 已覆盖该组合,且它也指出固定长度 drafter 的前置工作不会因 verifier 截断自动消失。 +3. 仅保留一个很窄的、默认 no-go 的机会:同一 logical plan 下的 compact-vs-padded physical + execution。只有先以 P1 证明相对 best-static/global-sync 至少 10% E2E SLO-goodput,再以 + P2 的因果对照证明关键路径 rows/bytes 真正下降,并完成 DSpark topology gap 审计,才值得 + 再投入实现。当前 P0 不满足这些条件。 + +P0 未验证 greedy token-exact 输出、真实 DeepEP dispatch ordinal/split digest、取消/empty-rank +stress,或其他模型/后端/更大 K 的泛化;这些都不能从本结果外推。 + +### P0 data sanity + +- **teardown red flag 已单列**:control/heterogeneous 都在 completion 后发生 allocator/资源 + 清理异常;因此没有使用延迟、吞吐或 clean-shutdown 指标作结论。 +- n=2 cells,8 worker/cell,64 usage-verified completions/cell;completion count 的 + min=max=64,distinct=1。 +- target worker record count:control=488、heterogeneous=528(min=488,max=528,distinct=2); + dummy/profile records 分别为 676/640,已排除。 +- heterogeneous K:min=0,max=3,distinct=4;control K distinct=1。所有计数、rows 和 + padding 非负;JSON parse errors=0。 +- 修正后的不变量均为 true:probe integrity、8 workers observed、每个 DP replica 内 target + phase/sequence 一致、target DP metadata 合法、DP coordination record 存在、四个真实 DP pair + 的 shared scalar coordination signature 一致。