Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us
Search
Cart
Book cover

European Symposium on Programming

ESOP 2012: Programming Languages and Systems pp 26–46Cite as

  1. Home
  2. Programming Languages and Systems
  3. Conference paper
What’s Decidable about Weak Memory Models?

What’s Decidable about Weak Memory Models?

  • Mohamed Faouzi Atig17,
  • Ahmed Bouajjani18,
  • Sebastian Burckhardt19 &
  • …
  • Madanlal Musuvathi19 
  • Conference paper
  • 1532 Accesses

  • 34 Citations

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 7211)

Abstract

We investigate the decidability of the state reachability problem in finite-state programs running under weak memory models. In [3], we have shown that this problem is decidable for TSO and its extension with the write-to-write order relaxation, but beyond these models nothing is known to be decidable. Moreover, we have shown that relaxing the program order by allowing reads or writes to overtake reads leads to undecidability. In this paper, we refine these results by sharpening the (un)decidability frontiers on both sides. On the positive side, we introduce a new memory model NSW (for non-speculative writes) that extends TSO with the write-to-write relaxation, the read-to-read relaxation, and support for partial fences. We present a backtrack-free operational model for NSW, and prove that it does not allow causal cycles (thus barring pathological out-of-thin-air effects). On the negative side, we show that adding the read-to-write relaxation to TSO causes undecidability, and that adding non-atomic writes to NSW also causes undecidability. Our results establish that NSW is the first known hardware-centric memory model that is relaxed enough to permit both delayed execution of writes and early execution of reads for which the reachability problem is decidable.

Keywords

  • Event Structure
  • Main Memory
  • Memory Model
  • Read Operation
  • Concurrent System

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Extended version with proofs at http://user.it.uu.se/%7Emohat117/esop12.pdf

Download conference paper PDF

References

  1. Abdulla, P.A., Cerans, K., Jonsson, B., Tsay, Y.K.: General decidability theorems for infinite-state systems. In: LICS, pp. 313–321 (1996)

    Google Scholar 

  2. Adve, S., Gharachorloo, K.: Shared memory consistency models: a tutorial. Computer 29(12), 66–76 (1996)

    CrossRef  Google Scholar 

  3. Atig, M.F., Bouajjani, A., Burckhardt, S., Musuvathi, M.: On the verification problem for weak memory models. In: POPL, pp. 7–18. ACM (2010)

    Google Scholar 

  4. Atig, M.F., Bouajjani, A., Parlato, G.: Getting Rid of Store-Buffers in TSO Analysis. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 99–115. Springer, Heidelberg (2011)

    CrossRef  Google Scholar 

  5. Boehm, H.: WG21/N2176 memory model rationales (March 2007), http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2176.html#dependencies

  6. Boehm, H., Adve, S.: Foundations of the C++ concurrency memory model. In: PLDI, pp. 68–78 (2008)

    Google Scholar 

  7. Bouajjani, A., Meyer, R., Möhlmann, E.: Deciding Robustness against Total Store Ordering. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011, Part II. LNCS, vol. 6756, pp. 428–440. Springer, Heidelberg (2011)

    CrossRef  Google Scholar 

  8. Burckhardt, S., Alur, R., Martin, M.: CheckFence: Checking consistency of concurrent data types on relaxed memory models. In: PLDI, pp. 12–21 (2007)

    Google Scholar 

  9. Burckhardt, S., Musuvathi, M.: Effective Program Verification for Relaxed Memory Models. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 107–120. Springer, Heidelberg (2008); 2008 Extended Version as Tech Report MSR-TR-2008-12, Microsoft Research

    CrossRef  Google Scholar 

  10. Burckhardt, S., Musuvathi, M., Singh, V.: Verifying Local Transformations on Relaxed Memory Models. In: Gupta, R. (ed.) CC 2010. LNCS, vol. 6011, pp. 104–123. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  11. Burnim, J., Sen, K., Stergiou, C.: Testing concurrent programs on relaxed memory models. Tech. Rep. UCB/EECS-2010-32, EECS Department, University of California, Berkeley (March 2010), http://www.eecs.berkeley.edu/Pubs/TechRpts/2010/EECS-2010-32.html

  12. Chen, C., Chen, W., Sreedhar, V., Barik, R., Sarkar, V., Gao, G.: Establishing causality as a desideratum for memory models and transformations of parallel programs. Tech. rep., University of Delaware (2010)

    Google Scholar 

  13. Gharachorloo, K., Gupta, A., Hennessy, J.: Performance evaluation of memory consistency models for shared-memory multiprocessors. In: ASPLOS 1991, pp. 245–257 (1991)

    Google Scholar 

  14. Kuperstein, M., Vechev, M., Yahav, E.: Automatic inference of memory fences. In: FMCAD, pp. 111–119 (October 2010)

    Google Scholar 

  15. Kuperstein, M., Vechev, M., Yahav, E.: Partial-coherence abstractions for relaxed memory models. In: PLDI, San Jose, CA (June 2011)

    Google Scholar 

  16. Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comp. C-28(9), 690–691 (1979)

    CrossRef  Google Scholar 

  17. Linden, A., Wolper, P.: A Verification-Based Approach to Memory Fence Insertion in Relaxed Memory Systems. In: Groce, A., Musuvathi, M. (eds.) SPIN 2011. LNCS, vol. 6823, pp. 144–160. Springer, Heidelberg (2011)

    CrossRef  Google Scholar 

  18. Mador-Haim, S., Alur, R., Martin, M.M.K.: Generating Litmus Tests for Contrasting Memory Consistency Models. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 273–287. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  19. Manson, J., Pugh, W., Adve, S.: The java memory model. In: POPL, pp. 378–391 (2005)

    Google Scholar 

  20. Owens, S.: Reasoning about the Implementation of Concurrency Abstractions on x86-TSO. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 478–503. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  21. Owens, S., Sarkar, S., Sewell, P.: A Better x86 Memory Model: x86-TSO. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 391–407. Springer, Heidelberg (2009)

    CrossRef  Google Scholar 

  22. Sarkar, S., Sewell, P., Alglave, J., Maranget, L., Williams, D.: Understanding POWER multiprocessors. In: PLDI, San Jose, CA (June 2011)

    Google Scholar 

  23. Sevcik, J.: Safe optimisations for shared-memory concurrent programs. In: PLDI, pp. 306–316 (2011)

    Google Scholar 

  24. Sevcik, J., Vafeiadis, V., Nardelli, F.Z., Jagannathan, S., Sewell, P.: Relaxed-memory concurrency and verified compilation. In: POPL, pp. 43–54 (2011)

    Google Scholar 

  25. Sewell, P., Sarkar, S., Owens, S., Nardelli, F., Myreen, M.: x86-TSO: A rigorous and usable programmer’s model for x86 multiprocessors. Commun. ACM 53 (2010)

    Google Scholar 

  26. Yang, Y., Gopalakrishnan, G., Lindstrom, G.: UMM: an operational memory model specification framework with integrated model checking capability. Concurrency and Computation: Practice and Experience 17(5-6), 465–487 (2005)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Uppsala University, Sweden

    Mohamed Faouzi Atig

  2. LIAFA, Univ. Paris Diderot & CNRS, France

    Ahmed Bouajjani

  3. Microsoft Research, Redmond, USA

    Sebastian Burckhardt & Madanlal Musuvathi

Authors
  1. Mohamed Faouzi Atig
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. Ahmed Bouajjani
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. Sebastian Burckhardt
    View author publications

    You can also search for this author in PubMed Google Scholar

  4. Madanlal Musuvathi
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Editors and Affiliations

  1. Technische Universität München, Boltzmannstrasse 3, 85748, Garching, Germany

    Helmut Seidl

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Atig, M.F., Bouajjani, A., Burckhardt, S., Musuvathi, M. (2012). What’s Decidable about Weak Memory Models?. In: Seidl, H. (eds) Programming Languages and Systems. ESOP 2012. Lecture Notes in Computer Science, vol 7211. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28869-2_2

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-642-28869-2_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28868-5

  • Online ISBN: 978-3-642-28869-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Search

Navigation

  • Find a journal
  • Publish with us

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature