Learning C++ Memory Model from a Distributed System's Perspective
If C++ standard were reworded using distributed system terms, it might be more readable.Your single machine is actually a distributed system in disguiseMultiple cachelines inside your multi-core machine make a distributed system. Cacheline coherence is 100% a distributed system problem. C++ tries to provide a high level abstraction for writing software that runs on a distributed system via std::memory_order. It makes a lot of sense to expose ordering as an API, because if there's a single key wo...
Read more at blog.the-pans.com