Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

On Avoiding Spare Aborts in Transactional Memory

  • Published:
Theory of Computing Systems Aims and scope Submit manuscript

Abstract

This paper takes a step toward developing a theory for understanding aborts in transactional memory systems (TMs). Existing TMs may abort many transactions that could, in fact, commit without violating correctness. We call such unnecessary aborts spare aborts. We classify what kinds of spare aborts can be eliminated, and which cannot. We further study what kinds of spare aborts can be avoided efficiently. Specifically, we show that some spare aborts cannot be avoided, and that there is an inherent tradeoff between the overhead of a TM and the extent to which it reduces the number of spare aborts. We also present an efficient example TM algorithm that avoids certain kinds of spare aborts, and analyze its properties and performance.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Attiya, H., Epstein, L., Shachnai, H., Tamir, T.: Transactional contention management as a non-clairvoyant scheduling problem. In: PODC ’06: Proceedings of the 25th annual ACM symposium on principles of distributed computing, pp 308–315. ACM, New York (2006)

  2. Aydonat, U., Abdelrahman, T.: Serializability of transactions in software transactional memory. In: 2nd ACM SIGPLAN workshop on transactional computing (2008)

  3. Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Proceedings of the 20th international symposium on distributed computing, pp 194–208 (2006)

  4. Ennals, R.: Cache sensitive software transactional memory. Technical report

  5. Fraser, K.: Practical lock freedom. PhD thesis. Cambridge University Computer Laboratory (2003)

  6. Gramoli, V., Harmanci, D., Felber, P.: Toward a theory of input acceptance for transactional memories. Technical report (2008)

  7. Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Proceedings of the 22th international symposium on distributed computing (2008)

  8. Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: Proceedings of the 13th ACM SIGPLAN symposium on principles and practice of parallel programming, pp 175–184 (2008)

  9. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the 22nd annual symposium on principles of distributed computing, pp 92–101 (2003)

  10. Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21(2), 289–300 (1993)

    Article  Google Scholar 

  11. Keidar, I., Perelman, D.: On maintaining multiple versions in transactional memory (work in progress). Technical report, Technion (2010)

  12. Moss, J.E.B.: Open nested transactions: semantics and support. In: WMPI, p 2006, Austin

  13. Napper, J., Alvisi, L.: Lock-free serializable transactions. Technical report, The University of Texas at Austin (2005)

  14. Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM (1979)

  15. Riegel, T., Fetzer, C., Sturzrehm, H., Felber, P.: From causal to z-linearizable transactional memory. In: Proceedings of the 26th annual ACM symposium on principles of distributed computing, pp 340–341 (2007)

  16. Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the 12th annual ACM symposium on principles of distributed computing (PODC), pp 204–213 (1995)

  17. Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, San Mateo (2002)

    Google Scholar 

Download references

Acknowledgments

We would like to thank Hagit Attiya, Eshcar Hillel, Alessia Minali and Rui Fan, as well as the anonymous reviewers for their helpful comments. This work was partially supported by the Israeli Ministry of Science Knowledge Center on Chip Multiprocessors and Hasso Plattner Institute.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dmitri Perelman.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Keidar, I., Perelman, D. On Avoiding Spare Aborts in Transactional Memory. Theory Comput Syst 57, 261–285 (2015). https://doi.org/10.1007/s00224-015-9607-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00224-015-9607-7

Keywords