Skip to content
Back to skills

Ppopp Topic Selection

ASecurity

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).

  • 3 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 12, 2026
ai-agentsgogitbackendperformance

Works with

  • cli

Security analysis

A100/100

Scanned September 12, 2026

npx -y skills add thedixitjain/the-mega-skill-library --skill ppopp-topic-selection --agent claude-code

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.

Security grade badge for Ppopp Topic Selection
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thedixitjain-ppopp-topic-selection/badge)](https://www.skillsdirectory.com/skills/thedixitjain-ppopp-topic-selection)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.