Concurrency
- Memory Consistency Models: From Sequential Consistency to the C++11 Memory Model
· 2025-06-24
A rigorous treatment of memory consistency models: Lamport's sequential consistency, the transition to relaxed models, the formal semantics of the C++11 memory model with its acquire-release and relaxed atomics, and how to reason about concurrent code that doesn't tear.
- Scheduling: Trading Latency for Throughput (and Back Again)
· 2025-02-12
Queue disciplines, work stealing, and CPU affinity: how scheduler choices shape p50/p99, and when to bias for one over the other.
- Linearizability and Serializability: A Formal Hierarchy of Consistency Models
· 2025-01-28
Build a rigorous understanding of consistency models from linearizability to eventual consistency, with formal definitions, counterexamples, and the practical implications for distributed database design.
- Lock-Free Data Structures: Concurrency Without the Wait
· 2024-07-18
Explore how lock-free algorithms achieve thread-safe data access without traditional locks. Learn the theory behind compare-and-swap, the ABA problem, memory ordering, and practical implementations that power high-performance systems.
- Concurrency Primitives and Synchronization: From Spinlocks to Lock-Free Data Structures
· 2024-03-15
A comprehensive exploration of concurrent programming fundamentals, covering mutexes, spinlocks, semaphores, condition variables, memory ordering, and lock-free programming techniques that enable safe parallel execution.
- Transactional Memory: HTM, STM, and Why Intel TSX Kept Getting Disabled
· 2024-02-25
A deep analysis of transactional memory—hardware (Intel TSX, IBM POWER), software (STM), the transactional lock elision pattern, and the bug saga that repeatedly forced Intel to disable TSX via microcode.
- Garbage Collection Algorithms: From Mark-and-Sweep to ZGC
· 2022-11-22
A comprehensive exploration of garbage collection algorithms, from classic mark-and-sweep to modern concurrent collectors like G1, Shenandoah, and ZGC. Learn how automatic memory management works and the trade-offs that shape collector design.
- Process Scheduling and Context Switching: How Operating Systems Share the CPU
· 2022-05-18
A deep dive into how operating systems decide which process runs next and how they switch between processes. Understand scheduling algorithms, context switches, and the trade-offs that shape system responsiveness.
- Process Calculi: Milner's CCS, the π-Calculus, Bisimulation, and Session Types for Protocol Correctness
· 2022-01-10
A rigorous exploration of process calculi—from CCS to the π-calculus, the theory of bisimulation, and the Curry-Howard line connecting session types to linear logic.
- Separation Logic: The Frame Rule, Separating Conjunction, and Concurrent Verification
· 2022-01-01
An exploration of separation logic—O'Hearn and Reynolds's revolutionary extension of Hoare logic for local reasoning about mutable state, the frame rule, and concurrent separation logic.
- Modern Operating Systems (4th ed.)
- Operating System Concepts (9th ed.)