Parent research epic: #39
背景
当前静态 scan/full/dirs/hotset 模式适合作为 baseline,但它们没有统一预算,也没有根据构建目标、Agent 阶段、历史 trace 和共享热集动态选择对象。
目标
提供可插拔 planner:
trait PrefetchPlanner {
fn plan(
&self,
context: &WorkspaceContext,
hints: &[PrefetchHint],
budget: PrefetchBudget,
) -> Vec<PrefetchCandidate>;
}
预算至少包含:
max_bytes
max_objects
max_duration
max_in_flight
deadline
Hint Sources
按实现优先级:
- 显式 path/target hint;
- Buck2/Bazel/Cargo/CMake 构建依赖提示;
- 当前命令和最近访问目录;
- 历史 trace hotset;
- 多 workspace 共享热对象;
- 可选 learned model。
先做可解释 heuristic,不以 ML 模型作为前置条件。
Candidate Score
可以采用:
score =
P(access) × estimated_saved_latency
- λ × object_bytes
- μ × queue_contention
- ν × cache_pollution
Tasks
Acceptance Criteria
Paper Retention Gate
至少在两个真实 workload 上满足:
- P95 mount-to-first-successful-action 降低 ≥20%,且
- 无效预取字节不超过实际 demand bytes 的 30%,且
- 并发邻居 workload 的 P95 延迟退化 <5%。
未达到时放入 appendix/negative result,不作为主论文贡献。
Dependencies
Issue 1、Issue 2、Issue 7。建议在真实 trace 到位后再投入。
Parent research epic: #39
背景
当前静态 scan/full/dirs/hotset 模式适合作为 baseline,但它们没有统一预算,也没有根据构建目标、Agent 阶段、历史 trace 和共享热集动态选择对象。
目标
提供可插拔 planner:
预算至少包含:
Hint Sources
按实现优先级:
先做可解释 heuristic,不以 ML 模型作为前置条件。
Candidate Score
可以采用:
Tasks
Acceptance Criteria
Paper Retention Gate
至少在两个真实 workload 上满足:
未达到时放入 appendix/negative result,不作为主论文贡献。
Dependencies
Issue 1、Issue 2、Issue 7。建议在真实 trace 到位后再投入。