Relaxed Operational Semantics of Concurrent Programming Languages
Abstract
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.
- Publication:
-
arXiv e-prints
- Pub Date:
- August 2012
- DOI:
- 10.48550/arXiv.1208.5915
- arXiv:
- arXiv:1208.5915
- Bibcode:
- 2012arXiv1208.5915B
- Keywords:
-
- Computer Science - Programming Languages;
- Computer Science - Logic in Computer Science
- E-Print:
- In Proceedings EXPRESS/SOS 2012, arXiv:1208.2440