Litmus tests for comparing memory consistency models

Sela Mador-Haim, Rajeev Alur, Milo M. K. Martin
2011 Proceedings of the 48th Design Automation Conference on - DAC '11  
Memory consistency litmus tests are small parallel programs that are designed to illustrate subtle differences between memory consistency models by exhibiting different outcomes for different models. In this paper, we show that for a class of memory models that is restricted yet expressive enough to include all store-atomic hardware memory models, litmus tests of a bounded size are sufficient for illustrating differences between memory consistency models in this class. We establish a bound of
more » ... o threads and no more than six memory access instructions for differentiating litmus tests in this class of models. Thus, we can prove equivalence of two specification of memory consistency models in this class by exploring a bounded number of litmus tests. We build a tool for comparing memory models based on this result, and we use the tool to explore and map the space of this class of models. Read-from Happens before
doi:10.1145/2024724.2024842 dblp:conf/dac/Mador-HaimAM11 fatcat:igdjt6hcj5dbrm3qriog3je6ku