~/talk

What we learned from C++ atomics and memory model standardization

Talkat The Future of Weak Memory 2024 · on Monday, 2024-01-15· [c-and-cpp]
links:none on file
slides:none on file

C++ codebases show atomics as common as mutexes, with many using weakly ordered atomics rather than clever lock‑free structures; measurements on ARM cores show seq_cst often not significantly slower than relaxed loads; memory_order_consume is effectively broken and unused; the out‑of‑thin‑air issue leaves relaxed atomics unprovably safe; acquire/release interaction with seq_cst remains confusing and buggy; RISC‑V revealed a real-world RISC-V mapping incompatibility where ABI choices block future instruction additions.

AI-written summary · about

  1. 0:00Introduction
  2. 0:35My background
  3. 1:06The basic C model
  4. 1:51Restricting sequential consistency
  5. 2:13The guarantee
  6. 2:34Sequential consistency
  7. 3:46C rule
  8. 4:49Sequential execution
  9. 5:34Synchronization Primitives
  10. 8:51Does this make sense
  11. 10:05Arm benchmarks
  12. 11:59C memory model
  13. 12:25Minor issues
  14. 13:35Confusion
  15. 14:11Conventions
  16. 15:22Im running out of time
  17. 16:56More serious theoretical issues
  18. 17:23One mistake we made
  19. 18:16Oops
  20. 18:44Questions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.