School of Computing

Back to present seminar

Abstract for Seminar

Multiprocessors are now ubiquitous, supporting a wide range of high-performance software with an abstraction of shared memory that concurrently executing threads can use to communicate. However, exactly what this key abstraction is ---what the hardware designers and compiler writers implement, and what programmers can depend on--- is surprisingly elusive.
In this talk I will discuss work by my colleagues and I to clarify the memory models of some production multiprocessors (x86, POWER, and ARM) and programming languages (the upcoming C++ and C revised standards), and to reason above these (with verified compilation). This touches on many areas: hardware microarchitecture, compiler optimisations, the guarantees needed for concurrent algorithms, techniques for loose specification and model exploration, and pragmatic and commercial issues relating to vendor specifications.

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 24/02/2011