技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
nsdi-reproducibility【数据与研究】Use when making an NSDI paper's results reconstructible — capturing testbed topology, trace provenance, and configuration while experiments run, planning which datasets can ship publicly, and keeping the paper and artifact from drifting apart so badge evaluation and the Community Award stay reachable.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
A networked-systems result is a function of topology, traffic, timing, and code — and three of those four are absent from the PDF unless deliberately recorded. NSDI rewards the discipline institutionally: artifact badges after acceptance and a Community Award for the best paper whose code and/or dataset is public by the final-papers deadline. But the work happens during the experiments, not after the decision email.
Keep each as a versioned file next to the results it explains:
| Ledger | Contents | Loss mode it prevents |
|---|---|---|
| Topology | node specs, NIC/switch models, link speeds, RTT matrix, kernel + NIC settings | "worked on our cluster," unreproducible knee points |
| Traffic | trace source + collection context, scaling/anonymization transforms, synthetic-generator parameters + seeds | headline numbers tied to data nobody can regenerate |
| Configuration | every config diff from defaults, per system and per baseline | untuned-baseline accusations you cannot rebut |
| Run | per-experiment: commit hash, config snapshot, fault schedule, raw-log location, analysis-script hash | figures that cannot be regenerated at revision time |
The run ledger has a second life NSDI makes unusually likely: a one-shot revision letter can demand new measurements on the same setup, 3-4 months after submission, at a subsequent deadline. Teams with ledgers rerun in days; teams without them rebuild the testbed from memory.
Unlike ML reproducibility, networked-systems results are legitimately non-deterministic — background load, timer jitter, and cross-traffic vary. The honest posture is not "identical numbers" but characterized variance:
Decide per data item before the camera-ready crunch, because the answer shapes the paper's claims:
Anonymize the artifact itself for review-time supplements (repo owners, hostnames, paths, company strings in configs); de-anonymize only at final-paper time.
# Layout that keeps paper and artifact from drifting
experiments/
<exp-id>/run.sh # topology + config + fault schedule, self-describing
<exp-id>/provenance.json # commit, trace id, seeds, dates, operator
figures/
Makefile # every paper figure regenerated from raw logs:
# make fig6 -> pulls exp logs, runs analysis, emits PDF
paper/
claims.md # claim -> exp-id -> figure mapping, reviewed at freeze
The claims.md cross-map is the cheapest anti-drift device: at submission freeze,
walk it once; any claim whose exp-id is stale gets rerun or reworded. The shared
smoke-checker
(../../resources/code/README.md) covers package
hygiene but not topology/trace fidelity — those checks are yours.
Reproducibility material crosses the double-blind boundary twice, and each crossing has a checklist:
nsdi-camera-ready).provenance.json per experiment, written by the runner script (an hour to
automate).Any one of these, found at submission freeze, costs days; found by an artifact evaluator or a revision reviewer, it costs the result's credibility.
[Ledger status] topology / traffic / configuration / run — each present/partial/absent
[Variance] headline results with characterized spread? which lack repeats?
[Shippability] data items -> public / transformable / never (fallback named)
[Drift check] claims.md walked? stale claim list
[Award posture] on track for public code+data by final-papers deadline?
[Next actions] ordered by payoff-per-hour