Computer Science Thesis Oral

  • Gates Hillman Centers
  • Reddy Conference Room 4405
Thesis Orals

Low-level Concurrent Programming Using the Relaxed Memory Calculus

The Relaxed Memory Calculus (RMC) is a novel approach for portable low-level concurrent programming in the presence of the the relaxed memory behavior caused by modern hardware architectures and optimizing compilers. RMC takes a declarative approach to programming with relaxed memory: programmers explicitly specify constraints on execution order and on the visibility of writes. This differs from other low-level programming language memory models, which---when they exist---are usually based on ordering annotations attached to synchronization operations and/or explicit memory barriers.

In this thesis, we argue that this declarative approach based on explicit programmer-specified constraints is a practical approach for implementing low-level concurrent algorithms. To this end, we present RMC-C++, an extension of C++ with RMC constraints, and rmc-compiler, an LLVM based compiler for it.

Thesis Committee:
Karl Crary (Chair)
Kayvon Fatahalian
Todd Mowry
Paul McKenney (IBM)

For More Information, Please Contact: 
Keywords: