Use when deciding whether a parallel/concurrent-computing project belongs at PPoPP or should be routed to PLDI, CGO, POPL, ASPLOS, HPCA, SC, SPAA, or OOPSLA, and when distinguishing PPoPP's \"the parallelism is the point\" scope from a compiler contribution (CGO/PLDI), a concurrency logic (POPL), or a microarchitecture result (ASPLOS/HPCA).
Installs into .claude/skills of the current project.
Are you the author of Ppopp Topic Selection?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-ppopp-topic-selection)
---
name: ppopp-topic-selection
description: "Use when deciding whether a parallel/concurrent-computing project belongs at PPoPP or should be routed to PLDI, CGO, POPL, ASPLOS, HPCA, SC, SPAA, or OOPSLA, and when distinguishing PPoPP's \"the parallelism is the point\" scope from a compiler contribution (CGO/PLDI), a concurrency logic (POPL), or a microarchitecture result (ASPLOS/HPCA)."
category: engineering-core
source_repo: brycewang-stanford/Awesome-Journal-Skills
source_path: "PPoPP-Skills/skills/ppopp-topic-selection/SKILL.md"
source_url: https://github.com/brycewang-stanford/Awesome-Journal-Skills/blob/HEAD/PPoPP-Skills/skills/ppopp-topic-selection/SKILL.md
---
# PPoPP Topic Selection
Decide the venue before drafting. PPoPP — the ACM SIGPLAN Symposium on Principles and Practice of
Parallel Programming — is the premier forum for work whose **center of gravity is parallelism and
concurrency**: parallel languages, compilers, and runtimes; lock-free/wait-free data structures;
GPU/accelerator and NUMA performance; parallel algorithms; and scalability studies. A technically
strong paper whose real contribution is a compiler pass, a program logic, or a cache design is
respected here and then rejected as out of scope. The question PPoPP reviewers ask first is: **is
the parallelism the point, or is it the setting?**
## The routing question that matters most
PPoPP sits inside the co-located **HPCA/CGO/PPoPP/CC** week, so its nearest neighbors are one
hallway away and the boundary is real. Use the "is the parallelism the point?" test: if you removed
the concurrency/parallel-performance story, is there still a paper? If yes, the contribution lives
elsewhere.
## Sibling-venue routing table
| Signal in your project | Better home | Why |
|---|---|---|
| The contribution *is* a parallel algorithm, runtime, synchronization mechanism, or a concurrency-correctness + scalability result | **PPoPP** | This is PPoPP's center; both correctness and speedup are judged |
| The contribution is a **compiler optimization or code-generation** technique | **CGO** (or **PLDI**) | Backend/optimization is CGO's named center; PLDI for broader PL implementation |
| The contribution is a **new program logic, type system, or semantics** for concurrency | **POPL** | Foundational concurrency *theory* over a measured parallel system |
| The contribution is **hardware/microarchitecture** (coherence, memory system, accelerator design) | **ASPLOS / HPCA** | The result is about the machine, not the parallel program |
| The core is a **large-scale HPC application or systems-at-scale** deployment | **SC / ICS / IPDPS** | Application/HPC-systems framing over a general parallel-programming lesson |
| The core is a **theoretical parallel-algorithm** bound with no implementation | **SPAA** | Theory of parallelism; PPoPP wants practice alongside principle |
| A concurrency feature of a managed language / object system | **OOPSLA / PLDI** | Language-design framing dominates |
## Contribution shapes PPoPP rewards
- **Concurrent data structures** — a new lock-free/wait-free structure or synchronization primitive
with a correctness argument (linearizability, progress) *and* throughput/scalability under
contention.
- **Parallel runtimes and schedulers** — work-stealing, task graphs, futures, load balancing, with
measured overhead and scaling on real workloads.
- **GPU / accelerator programming** — techniques, languages, or libraries that raise occupancy,
reduce divergence, or exploit heterogeneity, with speedups over strong GPU baselines.
- **Parallel algorithms in practice** — graph, numerical, or sparse kernels whose parallel design
and NUMA/locality engineering deliver a measured win.
- **Memory-model and concurrency-correctness work** — race/linearizability checking, weak-memory
reasoning, or verified concurrency, positioned as a parallel-programming enabler.
- **Compilers/languages *for parallelism*** — DSLs, parallel IRs, and runtime-coupled compilation
where the parallel-execution lesson (not a generic pass) is the contribution.
## The remove-the-parallelism and swap-the-machine tests
Two quick tests sharpen a borderline verdict:
- **Remove-the-parallelism test:** delete the concurrency and the scaling story. If a contribution
remains (a better pass, a cleaner semantics, a faster core), route to CGO/PLDI/POPL/ASPLOS.
- **Swap-the-machine test:** if your result is a single-configuration speedup that would vanish or
reverse on another core count, socket topology, or GPU generation, it is a microbenchmark, not a
parallel-programming contribution — PPoPP wants a lesson that survives the sweep.
## Evidence maturity, without the cliché
Fit is necessary but not sufficient. A synchronization idea shown only at one thread count is a
workshop poster; a runtime evaluated only on microbenchmarks needs real workloads before the
research track; a scalability claim with no baseline is not yet a paper. PPoPP's twin bar —
**correct under concurrency and measurably scalable** — is what promotes an idea from "interesting"
to "PPoPP-shaped."
## Cheap reconnaissance before committing
```text
[Scope] scan the last two PPoPP programs (dblp, conf.researchr.org) for your subarea
-> 3+ recent papers = a reviewer pool exists; 0 = mismatch or a CGO/ASPLOS home
[Citations] is your bibliography majority PPoPP/PLDI/ASPLOS/SC/SPAA parallel venues?
-> majority elsewhere => reviewers read you as a visitor; reframe the intro
[Calendar] PPoPP's summer deadline vs CGO/PLDI/ASPLOS/SC dates (same co-located family)
-> route to the nearest honest fit; a marginal preference rarely justifies a year
```
## Decision procedure
```text
[Point test] remove the parallelism -> is there still a contribution? yes => reroute
[Claim type] concurrent structure / runtime / GPU / parallel algorithm / memory-model / parallel-language
[PPoPP vs CGO/PLDI] is a compiler pass the real result? -> CGO/PLDI
[PPoPP vs POPL] is it concurrency theory with no measured system? -> POPL
[PPoPP vs ASPLOS/HPCA] is it about the machine? -> ASPLOS/HPCA
[Verdict] PPoPP research track / sibling venue, with a one-line reason
```
Run this before the writing skills; a wrong venue decision wastes every later step. When the
verdict is PPoPP, continue with `ppopp-workflow` for the calendar and `ppopp-writing-style` for the
paper shape.
---
**Source:** [`brycewang-stanford/Awesome-Journal-Skills`](https://github.com/brycewang-stanford/Awesome-Journal-Skills) → `PPoPP-Skills/skills/ppopp-topic-selection/SKILL.md`