Arvid Norberg: The C++ memory model: an intuition

preview_player
Показать описание
Have you ever wondered about the meaning of acquire, release, relaxed and sequentially-consistent? These are the "memory orders" in C++. In this talk I will break down and illustrate the semantics of the memory orders in the C++ memory model. I will propose a simple mental model to help reason about atomic operations, but also highlight how error prone they can be.

StockholmCpp 0x1B,

kindly hosted by HiQ

event photos
Рекомендации по теме
Комментарии
Автор

The most useful and practical explanation I've ever seen on the Internet! Thanks for the presentation!

alexeysubbota
Автор

I appreciate the intuitive model for atomics, though I was a bit disappointed by the speaker showing shaky understanding of the atomics, which was leaking into the presentation and some takeaways. "memory_order_relaxed is most likely a bug" is simply not true. When two threads talk to each other by means of a single atomic variable (and nothing else) it is acceptable to use memory_order_relaxed. The phrase "last resort" also didn't make sense to me. I'm assuming they meant that we should use the safest things first, optimizing as we see fit, but that wasn't clear to me at first.

evgenyyakut
Автор

This video clarified many things, thanks 😇😇

AtomicCache
Автор

A very easy-to-understand lesson, thanks!

davidli
Автор

best tutorial for the freshmen to learn the basic idea of memory model and memory barrier!!!

qiushizheng
Автор

wow, absolutely smashed this one!! thanks a lot

quant-prep
Автор

I knew about the LOAD/STORE itself and their significance. But great job on presenting the concept as a model. Thanks!

HelloMisraji
Автор

I'm learning this subject, great talk!

aerobooxt
Автор

Wow! great video. Wish it was a bit longer, including the audience discussions.

Quancept
Автор

The title is misleading as the talk is about multi-thread synchronisation and atomic variable; either way, really good video. Thanks for sharing!

isaaclacoba
Автор

Title should've been "memory orders"

shunxiancai