skip to main content
10.1145/2024724.2024842acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

Litmus tests for comparing memory consistency models: how long do they need to be?

Published:05 June 2011Publication History

ABSTRACT

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 two 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.

References

  1. Sarita V. Adve and Kourosh Gharachorloo. Shared memory consistency models: A tutorial. IEEE Computer, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Sarita V. Adve and Mark D. Hill. Weak ordering - a new definition. In ISCA, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Jade Alglave, Luc Maranget, Susmit Sarkar, and Peter Sewell. Fences in weak memory models. In CAV, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Arvind and Jan-Willem Maessen. Memory model = instruction reordering + store atomicity. ISCA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Sebastian Burckhardt and Madanlal Musuvathi. Effective program verification for relaxed memory models. In CAV, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Niklas Een and Niklas Sorensson. Minisat - a SAT solver with conflict-clause minimization. In SAT, 2005.Google ScholarGoogle Scholar
  7. Intel Corporation. Intel 64 and IA-32 Architectures Software Developer's Manual, March 2010.Google ScholarGoogle Scholar
  8. Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Commun. ACM, 21:558--565, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Leslie Lamport. How to make a multiprocessor computer that correctly executes multiprocess program. IEEE Transactions on Computers, 28(9):690--691, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Sela Mador-Haim, Rajeev Alur, and Milo Martin. Generating litmus tests for contrasting memory consistency models. In CAV, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Vijay A. Saraswat, Radha Jagadeesan, Maged Michael, and Christoph von Praun. A theory of memory models. In PPoPP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Susmit Sarkar, Peter Sewell, Jade Alglave, Luc Maranget, and Derek Williams. Understanding POWER multiprocessors. In PLDI, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Richard L. Sites. Alpha Architecture Reference Manual. Prentice Hall PTR, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Robert C. Steinke and Gary J. Nutt. A unified theory of shared memory consistency. J. ACM, 51(5), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. David L. Weaver and Tom Germond. The SPARC Architecture Manual Version 9. Prentice Hall PTR, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Yue Yang, Ganesh Gopalakrishnan, Gary Lindstrom, and Konrad Slind. Nemos: A framework for axiomatic and executable specifications of memory consistency models. IPDPS, 1, 2004.Google ScholarGoogle Scholar

Index Terms

  1. Litmus tests for comparing memory consistency models: how long do they need to be?

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          DAC '11: Proceedings of the 48th Design Automation Conference
          June 2011
          1055 pages
          ISBN:9781450306362
          DOI:10.1145/2024724

          Copyright © 2011 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 5 June 2011

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate1,770of5,499submissions,32%

          Upcoming Conference

          DAC '24
          61st ACM/IEEE Design Automation Conference
          June 23 - 27, 2024
          San Francisco , CA , USA

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader