Skip to content

[Paper/M3][P0] Run the full evaluation matrix and release a reproducible paper artifact #54

Description

@Ivanbeethoven

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
已经产生清晰结果,它们足以构成论文核心;预取只有达到预设收益门槛后再加入。

不建议优先投入的方向

  1. 通用 Agent 权限系统;
  2. 完整进程 checkpoint/rollback;
  3. 只增加更多静态缓存参数;
  4. 只优化单文件顺序吞吐;
  5. 只包装 HTTP/CLI 或部署脚本;
  6. 在 revision correctness 未完成前扩展 merge/rebase;
  7. 在 telemetry 未完成前凭经验设计复杂 ML prefetcher。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions