Making Weak Memory Models Fair
Ori Lahav (1), Egor Namakonov (2, 3), Jonas Oberhauser (4, 5),, Anton Podkopaev (3, 6), Viktor Vafeiadis (7) ((1) Tel Aviv University, (2), St Petersburg University, (3) JetBrains Research, (4) Huawei Dresden Research, Center, (5) Huawei OS Kernel Lab, (6) NRU HSE, (7) MPI-SWS)

TL;DR
This paper introduces a formal notion of memory fairness for weak memory models, ensuring liveness properties like termination, and demonstrates its equivalence to operational fairness in models like SC, TSO, RA, and StrongCOH.
Contribution
It proposes a uniform declarative definition of memory fairness applicable to various weak memory models, enabling formal proofs of termination and preserving correctness of transformations.
Findings
Memory fairness is equivalent to operational fairness in key models.
The fairness condition preserves correctness of local transformations.
It enables formal proofs of termination for lock implementations.
Abstract
Liveness properties, such as termination, of even the simplest shared-memory concurrent programs under sequential consistency typically require some fairness assumptions about the scheduler. Under weak memory models, we observe that the standard notions of thread fairness are insufficient, and an additional fairness property, which we call memory fairness, is needed. In this paper, we propose a uniform definition for memory fairness that can be integrated into any declarative memory model enforcing acyclicity of the union of the program order and the reads-from relation. For the well-known models, SC, x86-TSO, RA, and StrongCOH, that have equivalent operational and declarative presentations, we show that our declarative memory fairness condition is equivalent to an intuitive model-specific operational notion of memory fairness, which requires the memory system to fairly execute its…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
