Skip to main content

Maintaining Consistency in Software Transactional Memory through Dynamic Versioning Tuning

  • Conference paper
Book cover Algorithms and Architectures for Parallel Processing (ICA3PP 2012)

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

  • 1408 Accesses

Abstract

A popular method to maintain consistency in software transactional memory (STM) is global version clock whose values are used to tag memory locations. This method is not efficient when transactional commit occurs frequently since contention over the global clock generates costly cache coherence invalidations and degrades performance. The alternative method is thread local clock (TLC) which exploits decentralized local variables to maintain consistent states in transactions. However, TLC may lead to false aborts and increase runtime of programs. In this work, we introduce Adaptive Versioning (AV) which dynamically selects one of the two validation techniques based on probability of conflicts. We show that AV is effective and improves performance of transactional applications significantly.

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. Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: Proceedings of the Twentieth Annual International Symposium on Computer Architecture (1993)

    Google Scholar 

  2. Culler, D.E., Singh, J.P., Gupta, A.: Parallel Computer Architecture: a Hardware/Software Approach. Morgan Kaufmann Publishers (1998)

    Google Scholar 

  3. Avni, H., Shavit, N.N.: Maintaining Consistent Transactional States without a Global Clock. In: Shvartsman, A.A., Felber, P. (eds.) SIROCCO 2008. LNCS, vol. 5058, pp. 131–140. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  4. Minh, C.C., Trautmann, M., Chung, J., McDonald, A., Bronson, N., Casper, J., Kozyrakis, C., Olukotun, K.: An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees. In: The Proceeding of International Symposium on Computer Architecture (June 2007)

    Google Scholar 

  5. Dragojevic, A., Guerraoui, R., Kapalka, M.: Stretching transactional memory. In: The Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation (2009)

    Google Scholar 

  6. Stone, J.M., Stone, H.S., Heidelberger, P., Turek, J.: Multiple reservations and the Oklahoma update. IEEE Parallel & Distributed Technology: Systems & Technology, 58–71 (November 1993)

    Google Scholar 

  7. Spear, M.F., Marathe, V.J., Scherer III, W.N., Scott, M.L.: Conflict Detection and Validation Strategies for Software Transactional Memory. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 179–193. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  8. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.: Software transactional memory for dynamic-sized data structures. In: Proceedings of PODC, pp. 92–101 (July 2003)

    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. Yeh, T.-Y., Patt, Y.: Alternative implementations of two-level adaptive branch prediction. In: Proceedings of the 19th Annual International Symposium on Computer Architecture (May 1992)

    Google Scholar 

  11. Atoofian, E., Bavarsad, A.G.: AGC: adaptive global clock in software transactional memory. In: The Proceedings of the International Workshop on Programming Models and Applications for Multicores and Manycores (2012)

    Google Scholar 

  12. Riegel, T., Fetzer, C., Felber, P.: Time-based transactional memory with scalable time bases. In: SPAA 2007: Proceedings of the Nineteenth Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 221–228. ACM, New York (2007)

    Chapter  Google Scholar 

  13. Shavit, N., Touitou, D.: Software transactional memory. In: The Proceedings of ACM Symposium on Principles of Distributed Computing (August 1995)

    Google Scholar 

  14. Mannarswamy, S., Govindarajan, R.: Making STMs Cache Friendly with Compiler Transformations. In: Proc. of the 20th International Parallel Architectures and Compilation Techniques, PACT 2011, Galveston Island, TX (October 2011)

    Google Scholar 

  15. Lev, Y., Luchangco, V., Marathe, V., Moir, M., Nussbaum, D., Olszewski, M.: Anatomy of a scalable software transactional memory. In: TRANSACT 2009: 4th Workshop on Transactional Computing (February 2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Atoofian, E., Bavarsad, A.G. (2012). Maintaining Consistency in Software Transactional Memory through Dynamic Versioning Tuning. In: Xiang, Y., Stojmenovic, I., Apduhan, B.O., Wang, G., Nakano, K., Zomaya, A. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2012. Lecture Notes in Computer Science, vol 7440. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33065-0_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33065-0_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33064-3

  • Online ISBN: 978-3-642-33065-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics