Abbreviations¶
The short forms that turn up in concurrency books and documentation. Each has a source; an abbreviation we could not find a source for is left out rather than guessed at.
| Short form | Stands for | Concept | Source |
|---|---|---|---|
| ABA | the A → B → A sequence of values behind the ABA problem (not an acronym) | ABA problem | source ↗ |
| ACID | atomicity, consistency, isolation, durability — the guarantees of a database transaction | Consistency models | source ↗ |
| BASE | basically available, soft state, eventually consistent — the usual contrast with ACID | Consistency models | source ↗ |
| CAS | compare-and-swap | Compare-and-swap | source ↗ |
| CSP | communicating sequential processes | Communicating sequential processes | source ↗ |
| EDF | earliest deadline first | Earliest deadline first | source ↗ |
| FIFO | first in, first out — the order a channel or queue delivers in | Channel | source ↗ |
| futex | fast user-space mutex | Futex | source ↗ |
| GCD | Grand Central Dispatch, Apple's task-queue concurrency library | Thread pool and executor | source ↗ |
| GIL | global interpreter lock | Global interpreter lock | source ↗ |
| GPGPU | general-purpose computing on graphics processing units | GPU computing | source ↗ |
| IOCP | I/O completion port, Windows' mechanism for asynchronous I/O | I/O multiplexing | source ↗ |
| IPC | inter-process communication (in CPU performance, the same letters also mean instructions per cycle) | Inter-process communication | source ↗ |
| M:N | M user-level threads scheduled onto N operating-system threads | Green threads and M:N scheduling | source ↗ |
| MPI | Message Passing Interface | MPI | source ↗ |
| MPSC | multi-producer, single-consumer — the shape of Rust's std::sync::mpsc channel; SPSC and MPMC are the other shapes |
Channel | source ↗ |
| MVCC | multi-version concurrency control | Multi-version concurrency control | source ↗ |
| NIO | New I/O, Java's buffer-and-channel I/O API (java.nio), which includes non-blocking I/O |
I/O multiplexing | source ↗ |
| NTP | Network Time Protocol | Clock skew and drift | source ↗ |
| NUMA | non-uniform memory access | NUMA | source ↗ |
| PTP | Precision Time Protocol | Clock skew and drift | source ↗ |
| RAII | resource acquisition is initialization — the idiom behind scoped lock guards | Scoped locking | source ↗ |
| RCU | read-copy-update | Read-copy-update | source ↗ |
| RMS | rate-monotonic scheduling | Rate-monotonic scheduling | source ↗ |
| RPC | remote procedure call (RMI, remote method invocation, is Java's object-oriented form) | Remote procedure call | source ↗ |
| SIMD | single instruction, multiple data | SIMD | source ↗ |
| SMT | simultaneous multithreading (Intel's brand name for it is Hyper-Threading) | Simultaneous multithreading | source ↗ |
| STM | software transactional memory | Transactional memory | source ↗ |
| TLS | thread-local storage (not to be confused with Transport Layer Security) | Thread-local storage | source ↗ |
| TOCTOU | time of check to time of use (also written TOCTTOU) | Time of check to time of use | source ↗ |
| TSan | ThreadSanitizer | Race detector | source ↗ |
| TSO | total store order, the memory model of x86 processors (x86-TSO) | Weak memory models and reordering | source ↗ |
| WCET | worst-case execution time | Worst-case execution time | source ↗ |