Build the reproducibility story that a parallel-performance paper needs. Unlike a deterministic algorithm, a PPoPP result depends on the machine, the topology, and the run conditions — and an evaluator or a future reader will not have your exact node. Reproducibility here means someone else can rebuild the environment and recover the scaling trend and the relative comparison, even when their absolute numbers differ. Pin everything you can at run time; you cannot reconstruct it after the machine is released.
State enough that a stranger could stand up the same experiment:
[CPU] exact model, sockets, cores/threads, base/turbo policy, NUMA node layout
[Memory] size, channels, speed; per-socket bandwidth if it bounds you
[GPU] model, count, driver + CUDA/ROCm version, connection (PCIe/NVLink)
[Interconnect] for multi-node: fabric and topology
[Software] OS + kernel, compiler + version + exact flags, libraries + versions, allocator
[Runtime] thread count(s), pinning/affinity policy, scheduler settings, env vars
An evaluation whose machine is described only as "a Linux server" is the one reviewers trust least and cannot reproduce.
numactl, first-touch policy).Because evaluators have different hardware, design the package so the conclusion survives a change of machine:
[Fresh checkout] build from a clean clone in the pinned container -> succeeds?
[Blind re-run] a colleague re-runs a scaling figure on a *different* machine -> trend matches?
[Provenance] every number in the paper traces to a script + a recorded machine config?
[Anonymity] the review-time package hides machine names, accounts, and personal repos?
[Environment] CPU/GPU/memory/interconnect/software/runtime fully stated? gaps: <...>
[Non-determinism] pinning, warm-up, seeds, frequency, isolation, repeats controlled? list gaps
[Trend portability] scaled config + minimum config + tolerance stated? yes/no
[Data] exact inputs or seeded generator shipped/pinned? yes/no
[Pass result] fresh-checkout build + cross-machine trend match? yes/no