University of Birmingham > Talks@bham > Theoretical computer science seminar > Understanding Multi-core Concurrency

Understanding Multi-core Concurrency

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Paul Levy.

Exploiting the multiprocessors that have recently become ubiquitous requires high-performance and reliable concurrent systems code, for concurrent data structures, operating system kernels, synchronisation libraries, compilers, and so on. However, concurrent programming, which is always challenging, is made much more so by two problems. First, real multiprocessors typically do not provide the sequentially consistent memory that is assumed by most work on semantics and verification. Instead, they have relaxed memory models, varying in subtle ways between processor families, in which different hardware threads may have only loosely consistent views of a shared memory. Second, the public vendor architectures, supposedly specifying what programmers can rely on, are often in ambiguous informal prose (a particularly poor medium for loose specifications), leading to widespread confusion.

In this talk, I will briefly address the concurrency models of the x86 processor and the C++ programming language and explain how approaching them with rigorous mathematics has helped us build practical tools, improve their specifications, and engage with industry.

This talk is part of the Theoretical computer science seminar series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

Talks@bham, University of Birmingham. Contact Us | Help and Documentation | Privacy and Publicity.
talks@bham is based on talks.cam from the University of Cambridge.