A concurrency semantics for relaxed atomics that permits optimisation and avoids thin-air executions

@inproceedings{PichonPharabod2016ACS,
  title={A concurrency semantics for relaxed atomics that permits optimisation and avoids thin-air executions},
  author={Jean Pichon-Pharabod and Peter Sewell},
  booktitle={POPL},
  year={2016}
}
Despite much research on concurrent programming languages, especially for Java and C/C++, we still do not have a satisfactory definition of their semantics, one that admits all common optimisations without also admitting undesired behaviour. Especially problematic are the ``thin-air'' examples involving high-performance concurrent accesses, such as C/C++11 relaxed atomics. The C/C++11 model is in a per-candidate-execution style, and previous work has identified a tension between that and the… CONTINUE READING