Amortizing Cross-Core Coordination: Cursor Caching and Batch Processing
Amortizing Cross-Core Coordination: Cursor Caching and Batch Processing Part 3 of Low-Level Systems Design in Rust - a series on writing high-throughput, low-latency systems code, using a single-producer / single-consumer (SPSC) ring buffer as the running example. Part 1 decided where the shared cursors of a concurrent structure live in memory. Part 2 covered how two cores read and write them correctly and at minimum cost. This post is about doing it less often - because the cheapest cross-core synchronizat
评论
?
参与讨论