arthrop0d

Brief articles on varied topics.

concurrency

21 articles tagged concurrency.

  1. Python Asyncio Task Cancellation

    How asyncio delivers CancelledError at await points, propagates it through coroutines, and still runs cleanup during cancellation.

    pythonconcurrency

  2. How Work-Stealing Deques Reduce Scheduler Contention

    A work-stealing deque gives each worker fast local task operations while letting idle workers take tasks from the opposite end.

    concurrencyalgorithms

  3. Go’s G-M-P Scheduler Explained

    How Go’s scheduler maps goroutines onto OS threads, uses processors, and steals work when blocking would otherwise stop progress.

    golangconcurrency

  4. RCU Read-Side Critical Sections and Grace Periods

    How RCU lets readers access shared data without locks while writers publish replacements and reclaim old versions safely.

    concurrencyoperating systems

  5. Windows I/O Completion Ports

    How Windows queues overlapped I/O completions to a bounded worker pool for scalable servers and services.

    microsoftconcurrency

  6. MVCC Snapshots and Row Version Visibility

    How MVCC snapshots choose visible row versions so SQL readers and writers can run concurrently without blocking each other.

    sqldatabasesconcurrency

  7. Linux Futexes: User-Space Fast Paths and Kernel Wait Queues

    Futexes let synchronization stay in user space when uncontended and use kernel wait queues only when threads must sleep.

    concurrencyoperating systems

  8. Acquire and Release Memory Ordering

    How release operations publish prior writes to acquire operations without forcing every atomic access into one global order.

    concurrencycomputer science

  9. CPython’s Global Interpreter Lock

    How CPython’s GIL protects interpreter state, makes threads contend, and affects CPU-bound and I/O-bound programs differently.

    pythonconcurrency

  10. Python Asyncio Task Cancellation

    Understand how asyncio injects CancelledError, propagates cancellation through awaited tasks, and lets coroutines clean up safely.

    pythonconcurrencysoftware engineering

  11. The Go Scheduler’s G-M-P Model

    How goroutines, OS threads, processors, parking, wake-ups, and work stealing cooperate to keep Go code running efficiently.

    golangconcurrency

  12. Linux epoll: Interest Lists, Ready Lists, and Triggers

    How epoll tracks watched descriptors, reports readiness, and lets one thread handle many connections with level- or edge-triggered events.

    operating systemsnetworkingconcurrency

  13. Rust Pin and Unpin for Self-Referential Futures

    How Rust’s Pin and Unpin types keep asynchronous state machines at stable addresses when futures contain references to their own data.

    rustconcurrency

  14. Memory Barriers and Concurrent Memory Ordering

    Memory barriers constrain compiler and CPU reordering so one thread can observe another’s updates in order, without making a whole operation atomic.

    concurrencycomputer science

  15. MVCC Snapshots and SQL Row Visibility

    How SQL transactions choose visible row versions so readers can use a consistent view while writers update the same data.

    sqldatabasesconcurrency

  16. TLB Shootdowns and Deferred Invalidation

    How CPUs keep page-table changes safe, why TLB shootdowns interrupt other cores, and how batching reduces their performance cost.

    operating systemsconcurrencyperformance

  17. Linux Futexes and User-Space Mutex Waiting

    A futex lets a mutex use atomic user-space operations normally and enter the kernel only when a contending thread must sleep or be woken.

    linuxconcurrencyoperating systems

  18. Go’s G-M-P Scheduler

    How Go’s goroutines, OS threads, processors, run queues, and work stealing determine concurrency, latency, and throughput.

    golangconcurrencyperformance

  19. Inside Python’s asyncio Event Loop

    How await suspends a Task, how I/O and timers wake it, and how the event loop chooses callbacks from its ready queue.

    pythonconcurrency

  20. Windows I/O Completion Ports and Worker Scheduling

    How Windows turns completed overlapped I/O into queued packets and limits runnable workers instead of assigning a thread to every operation.

    microsoftconcurrency

  21. CPython’s Global Interpreter Lock

    How CPython’s GIL protects interpreter state, coordinates thread execution, and lets native extensions run parallel or blocking work safely.

    pythonperformanceconcurrency

← All tags