算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
ppopp-experiments【设计与创意】Use when designing or auditing a PPoPP paper's evaluation, covering the twin bar of concurrency correctness and measured scalability — speedup curves, strong vs weak scaling, core/thread sweeps, NUMA and GPU effects, contention microbenchmarks plus real workloads, variance and measurement hygiene, and honest strong baselines.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Design the evaluation to clear PPoPP's twin bar: the contribution must be correct under concurrency and measurably scalable. A speedup with no correctness argument, or a correctness proof with no scaling data, each fails half the venue. Reviewers are parallel-systems experts who will interrogate the baseline, the machine, and the variance before they believe a number.
| Claim shape | Evidence PPoPP expects | Common failure it catches |
|---|---|---|
| A lock-free/wait-free structure | Throughput vs. thread count under varied contention; a linearizability/progress argument; memory-reclamation overhead | Single contention level; "no race seen" instead of an argument |
| A parallel runtime/scheduler | Overhead vs. sequential; strong+weak scaling on real workloads; load-balance behavior | Microbenchmarks only; no real application |
| A GPU/accelerator technique | Speedup over a strong GPU baseline; occupancy/divergence analysis; transfer costs counted | Ignoring host-device transfer; a weak baseline kernel |
| A parallel algorithm | Scaling on real inputs; NUMA/locality effects; comparison to the best known implementation | One input; a naive baseline |
| A memory-model / race tool | Soundness/coverage claims; runtime overhead; false-positive/negative characterization | Overhead unmeasured; no ground truth |
[Repeats] multiple runs; report median/mean with variance (error bars / percentiles)
[Warm-up] discard JIT/cache/allocator warm-up; state the steady-state protocol
[Pinning] pin threads to cores; state the topology and the pinning policy
[Isolation] quiescent machine; no co-tenants; disable turbo/frequency scaling or report it
[Inputs] real workloads plus targeted microbenchmarks; state sizes and sources
[Provenance] exact CPU/GPU, socket/NUMA layout, memory, compiler and flags, OS
A single-run bar chart with no error bars, on an unstated machine, is the evaluation a PPoPP reviewer trusts least.
The two questions PPoPP reviewers ask most — "does it still scale at higher core counts / on
another GPU?" and "how does it compare to baseline X?" — cannot be answered in the short
rebuttal window if the runs were never made. Pre-run the larger core sweep and the obvious
alternative baseline before submission so the numbers are already in hand (see
ppopp-author-response).
[Twin bar] correctness argument present? scalability curve present? both required
[Scaling] strong/weak labeled, core sweep, NUMA/GPU topology, hidden costs counted? yes/no
[Correctness] hazard + argument (linearizability/progress) under a named memory model? yes/no
[Baselines] strongest real competitor, same machine, tuned? yes/no
[Hygiene] repeats+variance, warm-up, pinning, isolation, provenance? list gaps
[Rebuttal pre-runs] higher core count + alternative baseline already measured? yes/no