IRILL - Research and Innovation on Free Software
IRILL, 23 Avenue d'Italie, Paris, France - 3th floor

Multiprocessors provide an abstraction of shared memory, accessible by concurrently executing threads, which supports a wide range of software. However, exactly what this key abstraction is ---what the hardware designers implement, and what programmers can depend on--- is surprisingly elusive.

The sophisticated optimizations implemented by modern multiprocessors have various programmer-visible effects: for some these effects are captured in a well-defined relaxed memory model, making it possible (if challenging) to reason with confidence about the behavior of concurrent programs; for others, however, it has been very unclear what a reasonable model is, despite extensive research over the last three decades.

In this talk, I will present relaxed memory models and will reflect on the experience of trying to establish usable models for x86, Power and ARM multiprocessors.