ATC Reproducibility
Build the reproducibility story alongside the system, not at the deadline. ATC has an active
artifact culture inherited from USENIX: reviewers expect a runnable, anonymized artifact at review
time, and after acceptance an Artifact Evaluation Committee awards Available / Functional /
Reproduced badges (see atc-artifact-evaluation). The through-line is that a systems result other
people can re-run is worth more than one they must take on faith — and systems provenance cannot be
reconstructed after the fact.
Pin what you cannot reconstruct
Record these at collection time; none can be recovered at the deadline:
[Hardware] CPU/NIC/SSD models, core/memory counts, firmware/BIOS where it matters
[OS/kernel] kernel version, distro, relevant sysctl/tuning, hugepages/NUMA settings
[Toolchain] compiler, library, and runtime versions; build flags
[Workload] trace source + extraction date, generator version + seeds, request mix
[Method] warm-up window, measurement duration, run count, aggregation method
[Code] commit SHAs for your system and every baseline; patches applied
A turnkey path to the headline numbers
The single most valuable artifact property is that an evaluator can regenerate your paper's main
figures and tables:
- Ship a claim-to-experiment map: paper claim → script → expected figure/table → expected
runtime.
- Provide a one-command entry point per headline result (
./run_fig3.sh) that does setup, run,
and plot.
- Give a small-scale mode for evaluators who lack your hardware (fewer nodes, a trace sample),
and state clearly which results are full-scale-only and why.
- Log expected outputs and tolerances so an evaluator knows what "reproduced" looks like given
measurement noise.
Pinned, portable environments
- Prefer a container (Dockerfile) or a pinned environment (lockfile,
requirements, Nix) over
"install these 30 packages by hand."
- Where the result depends on kernel features or hardware (RDMA, SPDK, io_uring, specific NICs), say
so explicitly and document the required host, since a container cannot abstract the hardware away.
- Include traces/datasets (or documented, durable access), not just the query that produced
them.
Anonymized-but-runnable review package
At submission the artifact must be runnable yet double-blind:
- No owner strings, cluster hostnames, lab or product names, or identity-revealing URLs in code,
configs, logs, or commit metadata.
- Mirror any linked repository behind an anonymizing service; scrub
.git/ from archives.
- The system's own name can de-anonymize you — use a neutral placeholder if the real name is
identifying, and reconcile it in the camera-ready.
- Verify the package runs from a clean checkout on a fresh machine — "works on the author's
laptop" is the most common Functional failure.
Honest reproducibility posture
- If a result cannot be shared (proprietary trace, confidential deployment), say so and why, and
provide the closest reproducible substitute — silence reads as a weakness.
- Distinguish reproducible (same artifact, same numbers) from replicable (independent
reimplementation) and claim only what you support.
- For experience/deployed-systems papers, provide what you can — configs, anonymized traces,
analysis scripts — even when the production system itself cannot ship.
Output format
[Provenance] hardware/OS/toolchain/workload/method/code pinned at collection time? gaps?
[Turnkey] claim-to-experiment map + one-command runs + small-scale mode present? yes/no
[Environment] container or pinned lockfile? hardware dependencies documented?
[Anonymity] artifact runnable AND double-blind (no names/hosts/owner strings)? yes/no
[Clean-machine] runs from a fresh checkout on a clean host? yes/no
[Badge readiness] on track for Available / Functional / Reproduced? blockers?
Source: brycewang-stanford/Awesome-Journal-Skills → ATC-Skills/skills/atc-reproducibility/SKILL.md
1---2name: atc-reproducibility3description: Use when building the reproducibility story for an ATC (ACM SIGOPS Annual Technical Conference, formerly USENIX ATC) systems paper — pinning testbed and software environments, providing a turnkey path from the artifact to the headline numbers, and preparing an anonymized-but-runnable review package ahead of the Available/Functional/Reproduced badges.4---567# ATC Reproducibility89Build the reproducibility story alongside the system, not at the deadline. ATC has an active10artifact culture inherited from USENIX: reviewers expect a runnable, anonymized artifact at review11time, and after acceptance an Artifact Evaluation Committee awards **Available / Functional /12Reproduced** badges (see `atc-artifact-evaluation`). The through-line is that a systems result other13people can re-run is worth more than one they must take on faith — and systems provenance cannot be14reconstructed after the fact.1516## Pin what you cannot reconstruct1718Record these **at collection time**; none can be recovered at the deadline:1920```text21[Hardware] CPU/NIC/SSD models, core/memory counts, firmware/BIOS where it matters22[OS/kernel] kernel version, distro, relevant sysctl/tuning, hugepages/NUMA settings23[Toolchain] compiler, library, and runtime versions; build flags24[Workload] trace source + extraction date, generator version + seeds, request mix25[Method] warm-up window, measurement duration, run count, aggregation method26[Code] commit SHAs for your system and every baseline; patches applied27```2829## A turnkey path to the headline numbers3031The single most valuable artifact property is that an evaluator can regenerate your paper's main32figures and tables:3334- Ship a **claim-to-experiment map**: paper claim → script → expected figure/table → expected35 runtime.36- Provide a **one-command** entry point per headline result (`./run_fig3.sh`) that does setup, run,37 and plot.38- Give a **small-scale mode** for evaluators who lack your hardware (fewer nodes, a trace sample),39 and state clearly which results are full-scale-only and why.40- Log **expected outputs and tolerances** so an evaluator knows what "reproduced" looks like given41 measurement noise.4243## Pinned, portable environments4445- Prefer a **container (Dockerfile) or a pinned environment** (lockfile, `requirements`, Nix) over46 "install these 30 packages by hand."47- Where the result depends on kernel features or hardware (RDMA, SPDK, io_uring, specific NICs), say48 so explicitly and document the required host, since a container cannot abstract the hardware away.49- Include **traces/datasets** (or documented, durable access), not just the query that produced50 them.5152## Anonymized-but-runnable review package5354At submission the artifact must be **runnable yet double-blind**:5556- No owner strings, cluster hostnames, lab or product names, or identity-revealing URLs in code,57 configs, logs, or commit metadata.58- Mirror any linked repository behind an **anonymizing service**; scrub `.git/` from archives.59- The system's own **name** can de-anonymize you — use a neutral placeholder if the real name is60 identifying, and reconcile it in the camera-ready.61- Verify the package runs from a **clean checkout** on a fresh machine — "works on the author's62 laptop" is the most common Functional failure.6364## Honest reproducibility posture6566- If a result cannot be shared (proprietary trace, confidential deployment), say so and why, and67 provide the closest reproducible substitute — silence reads as a weakness.68- Distinguish **reproducible** (same artifact, same numbers) from **replicable** (independent69 reimplementation) and claim only what you support.70- For experience/deployed-systems papers, provide what you can — configs, anonymized traces,71 analysis scripts — even when the production system itself cannot ship.7273## Output format7475```text76[Provenance] hardware/OS/toolchain/workload/method/code pinned at collection time? gaps?77[Turnkey] claim-to-experiment map + one-command runs + small-scale mode present? yes/no78[Environment] container or pinned lockfile? hardware dependencies documented?79[Anonymity] artifact runnable AND double-blind (no names/hosts/owner strings)? yes/no80[Clean-machine] runs from a fresh checkout on a clean host? yes/no81[Badge readiness] on track for Available / Functional / Reproduced? blockers?82```8384---8586**Source:** [`brycewang-stanford/Awesome-Journal-Skills`](https://github.com/brycewang-stanford/Awesome-Journal-Skills) → `ATC-Skills/skills/atc-reproducibility/SKILL.md`