4 posts with tag concurrency

Amortizing Cross-Core Coordination: Cursor Caching and Batch Processing

How cursor caching and batch processing amortize the cost of cross-core coordination in a lock-free SPSC ring buffer, so cores touch shared atomics a fraction as often.

· 13 minutes reading time

The Cross-Core Contract: Memory Ordering and Single-Writer State in Lock-Free Rust

How Release/Acquire ordering, Relaxed counters, and single-writer UnsafeCell state make lock-free Rust ring buffers correct and efficient.

· 12 minutes reading time

Cache-Conscious Data Layout in Rust: Field Zoning, False Sharing, and the 128-Byte Rule

How to lay out a shared Rust struct by who-touches-what - zoning fields by write owner and frequency, then padding the cross-core ones to avoid false sharing and prefetcher-induced contention.

· 13 minutes reading time

Architectural Decomposition: Remove Contention by Design

The opening post of a Low-Level Systems Design in Rust series, arguing that the biggest performance win is structural: replace a shared multi-producer cursor that serializes cores through cache-coherence traffic with one private single-writer SPSC ring per producer, converting quadratic writer contention into a cheap O(N) consumer sweep.

· 9 minutes reading time