-
Notifications
You must be signed in to change notification settings - Fork 4
[Paper/M3][P0] Run the full evaluation matrix and release a reproducible paper artifact #54
Open
Description
Parent research epic: #39
背景
功能完成不等于论文完成。需要预注册研究问题、固定实验矩阵、保存所有原始数据,并避免只选择有利场景。
Required Research Questions
RQ1 — Snapshot isolation and correctness
- branch move 后旧 workspace 是否稳定;
- A/B revision 并存;
- refresh/open-handle semantics;
- manifest replay;
- reference-tree oracle。
RQ2 — Workspace provisioning and storage scaling
- workspace 数:
1/4/16/64; - unique snapshot 数:
1/2/4/16; - provisioning/delete latency;
- FUSE sessions/mounts;
- RSS/CPU;
- logical/physical storage。
RQ3 — Cross-workspace request sharing
- 相同 target 同时启动;
- 不同 target 但共享依赖;
- single-flight ratio;
- remote bytes;
- CAS hit;
- queue delay/fairness。
RQ4 — Prefetch and cold-start tail latency
- no prefetch;
- scan;
- dirs;
- static hotset;
- build hint;
- trace hotset;
- full;
- budget sensitivity。
RQ5 — Fault tolerance
在以下阶段 kill/crash/timeout:
snapshot resolve
CAS write
mount publish
copy-up manifest update
refresh prepare
generation swap
state commit
old-generation cleanup
unmount
RQ6 — End-to-end build and Agent workflow
- clean build;
- incremental build;
- candidate patch fan-out;
- scripted coding-agent loop;
- time-to-first-test;
- time-to-success;
- remote bytes;
- total workspace footprint。
Workload Selection
至少包含:
- 一个 Buck2 workload;
- 一个 Bazel workload;
- 一个 Cargo workload;
- 一个 CMake/Ninja workload;
- 一个合成 million-file/sparse-working-set workload;
- 一个 scripted Agent workload;
- 一个 parallel patch validation workload。
真实仓库应先通过 reproducibility smoke test,再冻结 commit 和 build target。
Baseline Matrix
B0 Full materialized checkout
B1 Warm bare clone + git worktree
B2 Partial clone + sparse checkout
B3 Materialized lower + kernel OverlayFS
B4 ScorpioFS v0.4.0-style per-job FUSE
B5 Snapshot + CAS
B6 + FetchCoordinator
B7 + Shared snapshot-lower architecture
B8 + Semantic prefetch
Required Ablations
- no CAS;
- no single-flight;
- no fairness;
- per-job lower;
- no delta manifest;
- no prefetch;
- different prefetch budgets;
- different snapshot diversity;
- different network RTT/bandwidth;
- different cache capacity。
Statistical Requirements
- 每个主要点至少 10 次独立重复;
- 报告 median、P95/P99 和 95% CI;
- 保存随机 seed;
- 同时报告绝对值和相对值;
- 明确剔除规则,不得事后无记录删除 outlier;
- 记录失败率;
- 对 Agent workload 报告任务成功率,不只报告文件系统时间;
- 对共享机制报告 noisy-neighbor 影响。
Artifact Tasks
- 冻结 artifact branch/tag;
- 提供一键 smoke reproduction;
- 提供完整实验 manifest;
- 保存所有 raw JSONL/CSV;
- 提供生成每张论文图的脚本;
- 结果文件包含 commit/kernel/hardware/config;
- 提供公开 fixture backend;
- 提供 VM/container/Qlean 环境;
- 文档列出需要
/dev/fuse、mount namespace 和权限的步骤; - artifact verifier 能检查结果完整性;
- release 中包含 design ADR 和 known limitations。
Acceptance Criteria
- 每个论文 claim 都能映射到一个 experiment ID;
- 每张主要图都能由 raw data 重新生成;
- smoke artifact 在全新 Linux VM 上通过;
- 结果同时覆盖有收益和无收益场景;
- fault matrix 全部有明确 outcome;
- baseline 配置经过核对,不故意弱化;
- artifact 文档能让非项目成员完成最小复现;
- 最终报告明确区分 measured result、inference 和 limitation。
Dependencies
所有 P0 issue;Issue 9 仅在通过 retention gate 时纳入主矩阵。
建议实施优先级
最小可发表主线(必须完成)
Issue 1 Telemetry
Issue 2 Benchmark
Issue 3 Immutable SnapshotId
Issue 4 Shared CAS
Issue 5 Transactional refresh
Issue 6 Delta manifest
Issue 7 FetchCoordinator
Issue 8 Shared snapshot lower
Issue 10 E2E integration
Issue 11 Evaluation
可选增强
Issue 9 Semantic prefetch
语义预取不应阻塞主线。若 Snapshot multiplexing、CAS 和 request coalescing
已经产生清晰结果,它们足以构成论文核心;预取只有达到预设收益门槛后再加入。
不建议优先投入的方向
- 通用 Agent 权限系统;
- 完整进程 checkpoint/rollback;
- 只增加更多静态缓存参数;
- 只优化单文件顺序吞吐;
- 只包装 HTTP/CLI 或部署脚本;
- 在 revision correctness 未完成前扩展 merge/rebase;
- 在 telemetry 未完成前凭经验设计复杂 ML prefetcher。