In the good old days of sequential machines, memory loads and stores appeared to happen in the order you asked for. But today, compilers and multi-core CPUs conspire to wreak havoc on your memory operations. How do we restore order in this chaos?
This talk will present modern software abstractions for managing memory ordering and how to think about it in real-world programs. This talk is aimed at an audience of hackers, not academics -- there will be no overwhelmingly detailed formal models.