[Docs] (Disaggregated): sync stage progress and roadmap with the five-arm perf comparison and the cross-host hang blocker

This commit is contained in:
2026-09-28 22:33:53 -04:00
parent 1987bdff5c
commit 221a8144c2
2 changed files with 23 additions and 6 deletions
+21 -4
View File
@@ -1,6 +1,6 @@
# 当前阶段:P12 — server 自己开窗口上屏
> **更新 2026-09-25**。这一页只有摘要;带裁定编号的明细、余项清单、证据位置在 [`notes/p12/README.md`](notes/p12/README.md)(计划与交接 [`PLAN-P12.md`](notes/p12/PLAN-P12.md))。P12 审查后的定向主机与真机复测已完成;两个收官验收门仍未打。上一阶段 P7 已于 2026-09-23 完成。
> **更新 2026-09-28**(含五臂传输性能对比,见 [`notes/perf-five-arm-20260928`](notes/perf-five-arm-20260928/README.md))。这一页只有摘要;带裁定编号的明细、余项清单、证据位置在 [`notes/p12/README.md`](notes/p12/README.md)(计划与交接 [`PLAN-P12.md`](notes/p12/PLAN-P12.md))。P12 审查后的定向主机与真机复测已完成;两个收官验收门仍未打。上一阶段 P7 已于 2026-09-23 完成。
## 目标
@@ -17,10 +17,27 @@ Android 上的 server 应用自己开一个全屏窗口,把收到的渲染流
| 验收 A:同一台手机上用 FCL 以两个后端进游戏,杀掉 server 后干净报"设备丢失" | ❌ 未做 |
| 验收 B:另一台电脑经 TCP 连手机进游戏,并记录链路数据 | ❌ 未做 |
## 性能现状(2026-09-28,Redmi 未定频交错 A/B)
| 臂 | rd12 重负载 | openra 轻负载 |
|---|---|---|
| monolith | 131 fps | 101 fps |
| inproc | 176 fps(+34%) | 100 fps |
| spawn+shm | 178 fps(+36%) | 89 fps(−12%) |
| spawn+tcp localhost | 21–23 fps | 77 fps(−24%) |
| tcp localhost + `SPIN_US=2000` | 63.6 fps(2.9×) | — |
| tcp over Wi-Fi | hang,0 有效帧 | — |
- inproc / shm 重负载比 monolith 快(run-ahead 并行 + 探针更少);轻负载只付固定握手成本。
- tcp 慢的主因:present credit=1 串行等待 ~74% + futex 唤醒税;不是带宽。
- **跨主机 TCP 在 `eglMakeCurrent`(控制面 seq 3)100% 挂死**(源码 bug,疑控制面帧重组 / 双 reader 竞态)——验收 B 的直接阻塞项;修好后 Wi-Fi 吞吐 19–22 MiB/s 仍使 rd12 上限 ~40–45 fps。
## 下一步
1. 完成验收 B:另一台机器经 TCP 连 Redmi 入世界并记录 P6.5 必测数;再完成验收 A:FCL 同机 spawn、双后端入世界并验证杀 server 后的 device-lost。
2. 收尾:写 `MG_Remote/CONTRACT-P12.md`、修门脚本里误导的一行输出、做一次收官审查。
3. 之后按 [`ROADMAP.md`](ROADMAP.md):P8;P9 → P10 → P11。
1. 修跨主机控制面 hang(`RunSession` 控制泵 / `ControlInbox` 读状态机;脚本 `tools/device_bench/disagg/wifi_hang_repro.sh` 等)。
2. 打验收 B(另一台机器经 TCP 入世界)与验收 A(FCL 同机 spawn、双后端、杀 server 报 device-lost)。
3. 收尾:写 `MG_Remote/CONTRACT-P12.md`、修门脚本误导的一行输出、收官审查。
4. 零代码 knob A/B:`PRESENT_CREDIT=2`、shm 臂 server `SPIN_US` 降到 20–35、`SERVER_AFFINITY`;代码级:client doorbell 换 futex/eventfd、applier 自适应 spin、sendmsg 跨 Flush 合批。
5. 之后按 [`ROADMAP.md`](ROADMAP.md):P8;P9 → P10 → P11。
**阻塞**:没有需要决策的事项。
+2 -2
View File
@@ -1,6 +1,6 @@
# 路线图(索引)
> **2026-09-25**:P0 到 P7 已完成;当前阶段 **P12**(server 自己开窗口上屏)审查后主机定向测试和真机七项复测已通过,FCL 与跨机 TCP 两项验收仍待完成。每个阶段的计划、验收结果、实测与报告在 `notes/<阶段>/`(点阶段名进入)。
> **2026-09-28**:P0 到 P7 已完成;当前阶段 **P12**(server 自己开窗口上屏)审查后主机定向测试和真机七项复测已通过,FCL 与跨机 TCP 两项验收仍待完成(跨机 TCP 被控制面 hang 阻塞,见 [五臂性能对比](notes/perf-five-arm-20260928/README.md))。每个阶段的计划、验收结果、实测与报告在 `notes/<阶段>/`(点阶段名进入)。
## 目标
@@ -32,7 +32,7 @@ client(跑应用的一方)与 server(跑驱动的一方)可以在**不
| [Ph](notes/p7/README.md) | server 能安全地接受外来连接:令牌、限额、坏数据不致崩溃 | 必需项 ✅(随 P7) |
| [P3b / P4b](notes/p34b/README.md) | GLES 后端的深化与收尾 | 大部分 ✅,余项并行 |
| [P7](notes/p7/README.md) | Vulkan 后端完整迁移;真机画面检查 36/36 通过 | ✅ 09-23 |
| [**P12**](notes/p12/README.md) | **server 自己开窗口上屏,client 不需要窗口** | **进行中**:审查后主机定向测试和真机七项复测通过;FCL / 跨机 TCP 验收待完成 |
| [**P12**](notes/p12/README.md) | **server 自己开窗口上屏,client 不需要窗口** | **进行中**:审查后主机定向测试和真机七项复测通过;FCL / 跨机 TCP 验收待完成;跨主机 hang 为阻塞项 |
| [P8](notes/p8/README.md) | 把剩余的仿真路径挪到正确的一侧,补齐协议 | 待排 |
| [P9](notes/p9/README.md) | 反向通道异步化(回读、写回不再同步等待) | 待排 |
| [P10](notes/p10/README.md) | 同步对象、查询与帧节奏 | 待排 |