Skip to main content

Ordering-Based Semantics for Software Transactional Memory

  • Conference paper
Principles of Distributed Systems (OPODIS 2008)

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

Included in the following conference series:

Abstract

It has been widely suggested that memory transactions should behave as if they acquired and released a single global lock. Unfortunately, this behavior can be expensive to achieve, particularly when—as in the natural publication/privatization idiom—the same data are accessed both transactionally and nontransactionally. To avoid overhead, we propose selective strict serializability (SSS) semantics, in which transactions have a global total order, but nontransactional accesses are globally ordered only with respect to explicitly marked transactions. Our definition of SSS formally characterizes the permissible behaviors of an STM system without recourse to locks. If all transactions are marked, then SSS, single-lock semantics, and database-style strict serializability are equivalent.

We evaluate several SSS implementations in the context of a TL2-like STM system. We also evaluate a weaker model, selective flow serializability (SFS), which is similar in motivation to the asymmetric lock atomicity (ALA) of Menon et al. We argue that ordering-based semantics are conceptually preferable to lock-based semantics, and just as efficient.

This work was supported in part by the US National Science Foundation under grants CNS-0411127, CNS-0615139, CCF-0702505, and CSR-0720796; and by financial support from Intel and Microsoft.

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: Conf. Record of the 35th ACM Symp. on Principles of Programming Languages, San Francisco, CA (2008)

    Google Scholar 

  2. Blundell, C., Lewis, E.C., Martin, M.M.K.: Subtleties of Transactional Memory Atomicity Semantics. IEEE Computer Architecture Letters 5(2) (2006)

    Google Scholar 

  3. Boehm, H.-J., Adve, S.V.: Foundations of the C++ Concurrency Memory Model. In: SIGPLAN 2008 Conf. on Programming Language Design and Implementation, Tucson, AZ (2008)

    Google Scholar 

  4. Dice, D., Shalev, O., Shavit, N.: Transactional Locking II. In: 20th Intl. Symp. on Distributed Computing, Stockholm, Sweden (2006)

    Google Scholar 

  5. Grossman, D., Manson, J., Pugh, W.: What Do High-Level Memory Models Mean for Transactions? In: ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, San Jose, CA, Held in conjunction with ASPLOS XII (2006)

    Google Scholar 

  6. Guerraoui, R., Kapałka, M.: On the Correctness of Transactional Memory. In: 13th ACM Symp. on Principles and Practice of Parallel Programming, Salt Lake City, UT (2008)

    Google Scholar 

  7. Harris, T., Plesko, M., Shinnar, A., Tarditi, D.: Optimizing Memory Transactions. In: SIGPLAN 2006 Conf. on Programming Language Design and Implementation, Ottawa, ON, Canada (2006)

    Google Scholar 

  8. Larus, J.R., Rajwar, R.: Transactional Memory, Synthesis Lectures on Computer Architecture. Morgan & Claypool (2007)

    Google Scholar 

  9. Luchangco, V.: Against Lock-Based Semantics for Transactional Memory. In: 20th Annual ACM Symp. on Parallelism in Algorithms and Architectures, Munich, Germany, Brief announcement (2008)

    Google Scholar 

  10. Manson, J., Pugh, W., Adve, S.: The Java Memory Model. In: Conf. Record of the 32nd ACM Symp. on Principles of Programming Languages, Long Beach, CA (2005)

    Google Scholar 

  11. Marathe, V.J., Spear, M.F., Scott, M.L.: Scalable Techniques for Transparent Privatization in Software Transactional Memory. In: 2008 Intl. Conf. on Parallel Processing, Portland, OR (2008)

    Google Scholar 

  12. Menon, V., Balensiefer, S., Shpeisman, T., Adl-Tabatabai, A.-R., Hudson, R.L., Saha, B., Welc, A.: Practical Weak-Atomicity Semantics for Java STM. In: 20th Annual ACM Symp. on Parallelism in Algorithms and Architectures, Munich, Germany (2008)

    Google Scholar 

  13. Moore, K.F., Grossman, D.: High-Level Small-Step Operational Semantics for Transactions. In: Conf. Record of the 35th ACM Symp. on Principles of Programming Languages, San Francisco, CA (2008)

    Google Scholar 

  14. Papadimitriou, C.H.: The Serializability of Concurrent Database Updates. Journal of the ACM 26(4), 631–653 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  15. Riegel, T., Fetzer, C., Felber, P.: Time-based Transactional Memory with Scalable Time Bases. In: 19th Annual ACM Symp. on Parallelism in Algorithms and Architectures, San Diego, CA (2007)

    Google Scholar 

  16. Scott, M.L.: Sequential Specification of Transactional Memory Semantics. In: 1st ACM SIGPLAN Workshop on Transactional Computin, Ottawa, ON, Canada (2006)

    Google Scholar 

  17. Scott, M.L., Spear, M.F., Dalessandro, L., Marathe, V.J.: Delaunay Triangulation with Transactions and Barriers. In: IEEE Intl. Symp. on Workload Characterization, Boston, MA, Benchmarks track (2007)

    Google Scholar 

  18. Shpeisman, T., Menon, V., Adl-Tabatabai, A.-R., Balensiefer, S., Grossman, D., Hudson, R.L., Moore, K.F., Saha, B.: Enforcing Isolation and Ordering in STM. In: SIGPLAN 2007 Conf. on Programming Language Design and Implementation, San Diego, CA (2007)

    Google Scholar 

  19. Spear, M.F., Marathe, V.J., Dalessandro, L., Scott, M.L.: Privatization Techniques for Software Transactional Memory. In: 26th ACM Symp. on Principles of Distributed Computing, Portland, OR (2007); Brief announcement. Extended version available as TR 915, Dept. of Computer Science, Univ. of Rochester (2007)

    Google Scholar 

  20. Wang, C., Chen, W.-Y., Wu, Y., Saha, B., Adl-Tabatabai, A.-R.: Code Generation and Optimization for Transactional Memory Constructs in an Unmanaged Language. In: Intl. Symp. on Code Generation and Optimization, San Jose, CA (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Spear, M.F., Dalessandro, L., Marathe, V.J., Scott, M.L. (2008). Ordering-Based Semantics for Software Transactional Memory. In: Baker, T.P., Bui, A., Tixeuil, S. (eds) Principles of Distributed Systems. OPODIS 2008. Lecture Notes in Computer Science, vol 5401. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92221-6_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-92221-6_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-92220-9

  • Online ISBN: 978-3-540-92221-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics