All 22 articles, sorted alphabetically
Reactive Streams Backpressure Architecture
How reactive streams (Project Reactor, RxJava) propagate demand upstream.
Read article →Actor Model Architecture in Depth
A 2500-word walkthrough of the actor model: actors, mailboxes, dispatchers, supervisors, cluster distribution, and event-sourced persistence.
Read article →Thread barrier architecture
Deep-dive on thread barriers: the party count and arrival protocol, the last-arriver that trips the barrier, the run-once barrier action, the generati…
Read article →Coroutines -- cooperative suspension for concurrency
Deep-dive on coroutines: functions that suspend at await/yield points, cooperative scheduling, the event loop, cheap massive IO-bound concurrency vs t…
Read article →Deadlock detection and prevention architecture - Coffman conditions, lock ordering, recovery
Deep-dive on deadlock: the four Coffman conditions and the wait-for graph, prevention via lock ordering, avoidance with the Banker&…
Read article →False sharing architecture
Deep-dive on false sharing: how a 64-byte cache line and the MESI coherence protocol turn independent per-thread writes into an invalidation storm, wh…
Read article →Futures and promises architecture
Deep-dive on futures and promises: the shared write-once state cell, promise as the write end and future as the read end, the callback-registration ra…
Read article →Hazard pointers architecture
Deep-dive on hazard pointers, the safe-memory-reclamation scheme that lets lock-free stacks, queues, and maps free deleted nodes without use-after-fre…
Read article →Lock-Free Data Structures Architecture in Depth
A 2500-word walkthrough of lock-free data structures: CAS loops, memory order, ABA problem, hazard pointers, epoch GC, wait-free vs lock-free.
Read article →Java Memory Model architecture
Deep-dive on the JMM as a system: compiler and CPU reordering, store buffers vs cache coherence, happens-before edges from volatile, monitors, final f…
Read article →Priority inversion architecture
Deep-dive on priority inversion: the three-thread scenario that rebooted Mars Pathfinder, bounded vs unbounded inversion, priority inheritance and cei…
Read article →Read-Copy-Update (RCU) architecture
Deep-dive on RCU: near-free lock-free reads via rcu_read_lock and rcu_dereference, the writer's copy-swap-publish protocol wi…
Read article →Read-write lock architecture
Deep-dive on read-write (shared-exclusive) locks: reader-count/writer-flag internals, readers- vs writer-preference fairness and starvation, the upgra…
Read article →Thread Scheduler Architecture in Depth
A 2500-word walkthrough of thread scheduler: CFS/EEVDF, priority + niceness, work stealing, preemption, real-time, cgroups, NUMA, affinity.
Read article →Semaphore architecture
Deep-dive on counting semaphores: the atomic permit count and wait queue, acquire/release on a queued synchronizer, fair vs non-fair (barging) acquisi…
Read article →Seqlock architecture
Deep-dive on the seqlock: the even/odd sequence counter, optimistic reader retry, the exact acquire/release memory ordering that makes it correct, wri…
Read article →Spinlock architecture
Deep-dive on spinlocks: the spin-versus-sleep decision governed by hold time and core count, compare-and-swap with acquire/release barriers, cache-lin…
Read article →Structured concurrency architecture
Deep-dive on structured concurrency: scope lifecycles and the join guarantee, fail-fast vs first-success vs collect-all policies, cooperative cancella…
Read article →Thread pools -- reuse threads instead of creating them
Deep-dive on thread pools: the thread-per-task cost problem, reusable worker threads, the task queue, bounded concurrency, pool sizing (CPU-bound vs I…
Read article →Work-stealing schedulers
Deep-dive on work-stealing schedulers: per-thread deques, LIFO-local/FIFO-steal mechanics, fork-join pairing and locality, low contention, blocking ha…
Read article →ThreadLocal vs ScopedValue Architecture
How to carry request-scoped data across threads, and why ScopedValue is better in the virtual-threads era.
Read article →Work-Stealing Scheduler Architecture
The scheduler pattern behind Fork/Join, Go's runtime, and Rust's Tokio.
Read article →