Skip to main content

Proving Non-opacity

  • Conference paper
Distributed Computing (DISC 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8205))

Included in the following conference series:

Abstract

Guerraoui and Kapalka defined opacity as a safety criterion for transactional memory algorithms in 2008. Researchers have shown how to prove opacity, while little is known about pitfalls that can lead to non-opacity. In this paper, we identify two problems that lead to non-opacity, we present automatic tool support for finding such problems, and we prove an impossibility result. We first show that the well-known TM algorithms DSTM and McRT don’t satisfy opacity. DSTM suffers from a write-skew anomaly, while McRT suffers from a write-exposure anomaly. We then prove that for direct-update TM algorithms, opacity is incompatible with a liveness criterion called local progress, even for fault-free systems. Our result implies that if TM algorithm designers want both opacity and local progress, they should avoid direct-update algorithms.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. In: POPL, pp. 63–74 (2008)

    Google Scholar 

  2. Scott Ananian, C., Asanovic, K., Kuszmaul, B.C., Leiserson, C.E., Lie, S.: Unbounded transactional memory. In: HPCA (2005)

    Google Scholar 

  3. Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ANSI SQL isolation levels. SIGMOD Rec. 24(2), 1–10 (1995)

    Article  Google Scholar 

  4. Bushkov, V., Guerraoui, R., Kapalka, M.: On the liveness of transactional memory. In: PODC, pp. 9–18 (2012)

    Google Scholar 

  5. Cohen, A., O’Leary, J.W., Pnueli, A., Tuttle, M.R., Zuck, L.D.: Verifying correctness of transactional memories. In: FMCAD (2007)

    Google Scholar 

  6. Cohen, A., Pnueli, A., Zuck, L.D.: Mechanical verification of transactional memories with non-transactional memory accesses. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 121–134. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Intel Corporation. Intel architecture instruction set extensions programming reference. 319433-012 (2012)

    Google Scholar 

  8. de Moura, L., Bjørner, N.S.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Dice, D., Shalev, O., Shavit, N.N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  10. Dice, D., Shavit, N.: TLRW: Return of the read-write lock. In: SPAA (2010)

    Google Scholar 

  11. Doherty, S., Groves, L., Luchangco, V., Moir, M.: Towards formally specifying and verifying transactional memory. In: Formal Aspects of Computing (2012)

    Google Scholar 

  12. Emmi, M., Majumdar, R., Manevich, R.: Parameterized verification of transactional memories. In: PLDI, pp. 134–145 (2010)

    Google Scholar 

  13. Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPOPP, pp. 175–184 (2008)

    Google Scholar 

  14. Guerraoui, R., Henzinger, T.A., Jobstmann, B., Singh, V.: Model checking transactional memories. In: PLDI, pp. 372–382 (2008)

    Google Scholar 

  15. Guerraoui, R., Henzinger, T.A., Singh, V.: Software transactional memory on relaxed memory models. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 321–336. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  16. Guerraoui, R., Henzinger, T.A., Singh, V.: Model checking transactional memories. Distributed Computing (2010)

    Google Scholar 

  17. Guerraoui, R., Kapalka, M.: Principles of Transactional Memory. Morgan and Claypool Publishers (2010)

    Google Scholar 

  18. Hammond, L., Wong, V., Chen, M., Carlstrom, B.D., Davis, J.D., Hertzberg, B., Prabhu, M.K., Wijaya, H., Kozyrakis, C., Olukotun, K.: Transactional memory coherence and consistency. In: ISCA (2004)

    Google Scholar 

  19. Haring, R., Ohnmacht, M., Fox, T., Gschwind, M., Sattereld, D., Sugavanam, K., Coteus, P., Heidelberger, P., Blumrich, M., Wisniewski, R., Gara, A., Chiu, G.-T., Boyle, P., Chist, N., Kim, C.: The IBM Blue Gene/Q compute chip (2012)

    Google Scholar 

  20. Harris, T., Larus, J., Rajwar, R.: Transactional Memory, 2nd edn. Morgan and Claypool Publishers (2010)

    Google Scholar 

  21. Harris, T., Marlow, S., Jones, S.P., Herlihy, M.: Composable memory transactions. In: PPOPP, pp. 48–60. ACM Press (2005)

    Google Scholar 

  22. Herlihy, M., Luchangco, V., Moir, M.: A flexible framework for implementing software transactional memory. In: OOPSLA, pp. 253–262 (2006)

    Google Scholar 

  23. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: PODC (2003)

    Google Scholar 

  24. Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: ISCA, pp. 289–300 (1993)

    Google Scholar 

  25. Imbs, D., de Mendivil, J.R., Raynal, M.: Brief announcement: virtual world consistency: a new condition for STM systems. In: PODC, pp. 280–281 (2009)

    Google Scholar 

  26. Koskinen, E., Parkinson, M., Herlihy, M.: Coarse-grained transactions. In: POPL, pp. 19–30 (2010)

    Google Scholar 

  27. Lesani, M., Luchangco, V., Moir, M.: A framework for formally verifying software transactional memory algorithms. In: Koutny, M., Ulidowski, I. (eds.) CONCUR 2012. LNCS, vol. 7454, pp. 516–530. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  28. Lesani, M., Palsberg, J.: Proving non-opacity, http://www.cs.ucla.edu/~lesani/companion/disc13

  29. Moore, K.F., Grossman, D.: High-level small-step operational semantics for transactions. In: POPL, pp. 51–62 (2008)

    Google Scholar 

  30. Pankratius, V., Adl-Tabatabai, A.-R., Otto, F.: Does transactional memory keep its promises? results from an empirical study. Technical Report 2009–12, Institute for Program Structures and Data Organization (IPD), University of Karlsruhe (September 2009)

    Google Scholar 

  31. Papadimitriou, C.H.: The serializability of concurrent database updates. Journal of the ACM 26(4), 631–653 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  32. Rossbach, C.J., Hofmann, O.S., Witchel, E.: Is transactional programming actually easier? SIGPLAN Notices 45(5) (January 2010)

    Google Scholar 

  33. Saha, B., Adl-Tabatabai, A.-R., Hudson, R.L., Minh, C.C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: PPoPP (2006)

    Google Scholar 

  34. Scott, M.L.: Sequential specification of transactional memory semantics. In: TRANSACT (2006)

    Google Scholar 

  35. Shavit, N., Touitou, D.: Software transactional memory. In: PODC (1995)

    Google Scholar 

  36. Tasiran, S.: A compositional method for verifying software transactional memory implementations. Technical Report MSR-TR-2008-56, Microsoft Research (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lesani, M., Palsberg, J. (2013). Proving Non-opacity. In: Afek, Y. (eds) Distributed Computing. DISC 2013. Lecture Notes in Computer Science, vol 8205. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41527-2_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-41527-2_8

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics