Electronic Proceedings in Theoretical Computer Science (Aug 2012)

Relaxed Operational Semantics of Concurrent Programming Languages

  • Gustavo Petri,
  • Gérard Boudol,
  • Bernard Serpette

DOI
https://doi.org/10.4204/EPTCS.89.3
Journal volume & issue
Vol. 89, no. Proc. EXPRESS/SOS 2012
pp. 19 – 33

Abstract

Read online

We propose a novel, operational framework to formally describe the semantics of concurrent programs running within the context of a relaxed memory model. Our framework features a "temporary store" where the memory operations issued by the threads are recorded, in program order. A memory model then specifies the conditions under which a pending operation from this sequence is allowed to be globally performed, possibly out of order. The memory model also involves a "write grain," accounting for architectures where a thread may read a write that is not yet globally visible. Our formal model is supported by a software simulator, allowing us to run litmus tests in our semantics.