Memory Consistency Models: A Tutorial
cs.utexas.edu
cs.utexas.edu
> Of course, this is exactly the behavior we were trying to avoid by introducing store buffers and other optimizations. Barriers are an escape hatch to be used sparingly: they can cost hundreds of cycles.
I may be wrong, but I think to readers who do not already know what barriers do and are, this makes barriers seem like blocking behaviours.
In preparation for this, I've been reading up on ARM's looser memory consistency model, and C++'s rules regarding this. It's been pretty eye-opening.
I'm looking forward to seeing how much that ARM codebase takes advantage of the weaker guarantees that ARM permits. It seems like a trade-off of scalability vs. correct-code complexity.
it seems to be coming up kinda 404 for me. thank you !
The programming-language-specific parts are more focused on C than C++ (which is my main focus), but I've still found it quite helpful.
I haven't looked at the other sources people are mentioning though, so no idea how it compares.
[0] https://cdn.kernel.org/pub/linux/kernel/people/paulmck/perfb...
At least for me, it requires (a) a good reason for powering through it, (b) a good night's sleep, and (c) Adderall :)
Just saying, it may not be the most effective / efficient way to learn what you want to know.
I was taught that a deeper understanding leads to better software/solutions and I strive to live up to my mentor dedication :)
aside from being fun, it just makes everything so much easier when it's not "magic"