A Concurrency Cost Hierarchy | Performance Matters
travisdowns.github.io · 10,026 words · saved by 1 readers
Concurrent operations can be grouped relatively neatly into categories based on their cost
Introduction Concurrency is hard to get correct, at least for those of us unlucky enough to be writing in languages which expose directly the guts of concurrent hardware: threads and shared memory. Getting concurrency correct and fast is hard, too. Your knowledge about single-threaded optimization often won’t help you: at a micro (instruction) level we can’t simply apply the usual rules of μops, dependency chains, throughput limits, and so on. The rules are different. If that first paragraph got your hopes up, this second one is here to dash them: I’m not actually going to do a deep dive…
saved by
related reading
- Notes on structured concurrency, or: Go statement considered harmful - njs blogvorpus.org
- abseil / Performance Hintsabseil.io
- Understanding and expressing scalable concurrencyaturon.github.io
- (Quite) A Few Words About Asyncyoric.github.io
- Async Rust Is A Bad Languagebitbashing.io
- Concurrency Patterns in Embedded Rust - Ferrous Systemsferrous-systems.com
- Reading 14: Concurrencyweb.mit.edu
- Infographics: Operation Costs in CPU Clock Cycles - 6IT6it.dev
- Introduction to Wait-free Algorithms in C++ Programming - Daniel Anderson - CppCon 2024youtube.com
- A Fundamental Turn Toward Concurrency in Softwaregotw.ca
- On the GPU Memory Hierarchygytis.co
- Memory Barriers Are Like Source Control Operationspreshing.com