Skip to main content

RobuSTM: A Robust Software Transactional Memory

  • Conference paper
  • First Online:
Stabilization, Safety, and Security of Distributed Systems (SSS 2010)

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

Included in the following conference series:

Abstract

For software transactional memory (STM) to be usable in large applications such as databases, it needs to be robust, i.e., live, efficient, tolerant of crashed and non-terminating transactions, and practical. In this paper, we study the question of whether one can implement a robust software transactional memory in an asynchronous system. To that end, we introduce a system model – the multicore system model (MSM) – which captures the properties provided by mainstream multicore systems. We show how to implement a robust software transactional memory (RobuSTM) in MSM. Our experimental evaluation indicates that RobuSTM compares well against existing blocking and nonblocking software transactional memories in terms of performance while providing a much higher degree of robustness.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Aguilera, M., Walfish, M.: No time for asynchrony. In: HotOS 2009: Proceedings of the 12th Workshop on Hot Topics in Operating Systems. USENIX (2009)

    Google Scholar 

  2. Cao Minh, C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford transactional applications for multi-processing. In: IISWC 2008: Proceedings of The IEEE International Symposium on Workload Characterization (2008)

    Google Scholar 

  3. Christie, D., Chung, J.-W., Diestelhorst, S., Hohmuth, M., Pohlack, M., Fetzer, C., Nowack, M., Riegel, T., Felber, P., Marlier, P., Riviere, E.: Evaluation of AMD’s advanced synchronization facility within a complete transactional memory stack. In: EuroSys 2010 (2010)

    Google Scholar 

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

    Chapter  Google Scholar 

  5. Ennals, R.: Software transactional memory should not be obstruction-free. Technical report, Intel Research (2006)

    Google Scholar 

  6. Felber, P., Fetzer, C., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: PPoPP 2008: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming. ACM, New York (2008)

    Google Scholar 

  7. Fich, F., Luchangco, V., Moir, M., Shavit, N.: Obstruction-Free Algorithms can be Practically Wait-Free. LNCS. Springer, Heidelberg (2005)

    Book  Google Scholar 

  8. Guerraoui, R., Herlihy, M., Kapalka, M., Pochon, B.: Robust contention management in software transactional memory. In: Workshop on Synchronization and Concurrency in Object-Oriented Languages (2005)

    Google Scholar 

  9. Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: PODC 2005: Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing. ACM, New York (2005)

    Google Scholar 

  10. Guerraoui, R., Kapalka, M.: How Live Can a Transactional Memory Be? Technical report, EPFL (2009)

    Google Scholar 

  11. Herlihy, M., Luchangco, V., Moir, M., William, I., Scherer, N.: Software-transactional memory for dynamic-sized data structures. In: Proceedings of the 22nd annual symposium on Principles of distributed computing. ACM, New York (2003)

    Google Scholar 

  12. Lahiri, T., Ganesh, A., Weiss, R., Joshi, A.: Fast-start: quick fault recovery in oracle. SIGMOD Rec. (2001)

    Google Scholar 

  13. Lamport, L.: A new solution of dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)

    Article  MathSciNet  Google Scholar 

  14. Maldonado, W., Marlier, P., Felber, P., Suissa, A., Hendler, D., Fedorova, A., Lawall, J., Muller, G.: Scheduling support for transactional memory contention management. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2010) (January 2010)

    Google Scholar 

  15. Marathe, V.J., Moir, M.: Efficient nonblocking software transactional memory. Technical report, Department of Computer Science, University of Rochester (2008)

    Google Scholar 

  16. Marathe, V.J., Moir, M.: Toward high performance nonblocking software transactional memory. In: PPoPP 2008: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming. ACM, New York (2008)

    Google Scholar 

  17. Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  18. Scherer III, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: PODC 2005: Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing. ACM, New York (2005)

    Google Scholar 

  19. Scherer III, W., Scott, M.: Contention Management in Dynamic Software Transactional Memory. In: PODC Workshop on Concurrency and Synchronization in Java programs (2004)

    Google Scholar 

  20. Spear, M.F., Dalessandro, L., Marathe, V.J., Scott, M.L.: A comprehensive strategy for contention management in software transactional memory. In: Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming. ACM, New York (2008)

    Google Scholar 

  21. Tabba, F., Moir, M., Goodman, J.R., Hay, A.W., Wang, C.: NZTM: Nonblocking zero-indirection transactional memory. In: Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures. ACM, New York (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wamhoff, JT., Riegel, T., Fetzer, C., Felber, P. (2010). RobuSTM: A Robust Software Transactional Memory. In: Dolev, S., Cobb, J., Fischer, M., Yung, M. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2010. Lecture Notes in Computer Science, vol 6366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16023-3_32

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16023-3_32

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16022-6

  • Online ISBN: 978-3-642-16023-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics