When & Where: 12:30pm, Friday, September 5, 2008, Room 200 AKW
As multi-core processors reach mainstream, more and more programmers are exposed to concurrency during software development. However, writing correct efficient concurrent code is notoriously difficult. The challenge is due to the intrinsic non-determinism in the interleaving of concurrent operations. But, in reality, matters are even worse as this non-determinism is just one of the many facets of a concurrent execution. The purpose of a memory consistency model is to specify the precise interaction between concurrent entities. In this talk, I will present the fundamental issues behind memory consistency models, a general approach for describing their operational semantics, as well as the basic principles required to formally reason about them.