Concurrency - All the Way Down

Ofek Shilon

⏱ 90 minute session
advanced
10:45-12:15, Friday, 19th June 2026

std::atomic and std::memory_order are utterly opaque abstractions. It feels like they were put in place to hide some monstrosity that is too complex for mortals to comprehend, and inevitably when trying to understand the underlying reality, the explanations end with 'the processor does weird things' and 'you can think about it as if...'.

Well, 'think about it as if' no more. In this talk we'll present the gory and wonderful mechanics of cache coherence protocols, write buffers and invalidation queues. We'll explain how modern hardware design makes different cores have different views of memory, and what the instructions for fence and read-modify-write do exactly - for both x86/64 and ARM/RISC-V.

If time permits, we'll discuss futexes and OS-managed synchronization primitives, and how they are implemented in terms of atomics and fences. This is an advanced low-level talk, placed at the borderline of software development and electrical engineering, on topics never before surveyed at C++ conference talks.


🏷 processor
🏷 cache

Ofek Shilon

A Mathematics MA by training, but a 20Y C++ developer, writer and speaker in both the Linux and MS universes by occupation. One of the maintainers of Compiler Explorer ('godbolt'), and in general fascinated by compilers, debuggers and pretty much anything low level. Fiercely hated by his cat for no apparent reason.