University of Cambridge > Talks.cam > Semantics Lunch (Computer Laboratory) > Relaxed-Memory Concurrency and Verified Compilation / Mathematizing C++0x concurrency

Relaxed-Memory Concurrency and Verified Compilation / Mathematizing C++0x concurrency

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

If you have a question about this talk, please contact Peter Sewell.

Two POPL practice talks:

I will describe the semantic design and verified compilation of a C-like programming language for concurrent shared-memory computation above x86 multiprocessors. I will start with the correctness statement, including the surprisingly subtle design of a relaxed x86-like memory model for a realistic subset of C. Then I will outline our overall proof strategy, which is largely inspired by Xavier Leroy’s CompCert compiler that we build on, with several interesting twists. Finally, I will explain some of the curious subtleties encountered in the semantic design and in the proof.

This work has been done jointly with Viktor Vafeiadis, Francesco Zappa Nardelli, Suresh Jagannathan, and Peter Sewell.

This is a practice talk for POPL 2011 . It is a cut-down and slightly revised version of my past semantics lunch talk (from 22.11.2010).

———————————————————————

The next versions of C+ (C+0x) and of C (C1X) will have new concurrency features, aiming to support high-performance code with well-defined semantics. Unfortunately, as we near the end of the long standardization process, not all has been well. Unsurprisingly, the prose specification style of the draft standards is poorly suited to describe the complex design of the relaxed memory model, and in fact there have been significant problems.

I will discuss work on formalization of the memory model, what was broken, and some resulting improvements to the C++0x draft standard. In addition I will present a tool, Cppmem, for graphically exploring the semantics of small concurrent C++0x programs, and describe a proof of the correctness of a compilation strategy targeting x86-TSO.

This is joint work with Scott Owens, Susmit Sarkar, Peter Sewell, and Tjark Weber.

http://www.cl.cam.ac.uk/~pes20/cpp/

This talk is part of the Semantics Lunch (Computer Laboratory) series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2021 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity