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.
Similar content being viewed by others
References
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)
Aydonat, U., Abdelrahman, T.: Serializability of transactions in software transactional memory. In: 2nd ACM SIGPLAN workshop on transactional computing (2008)
Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Proceedings of the 20th international symposium on distributed computing, pp 194–208 (2006)
Ennals, R.: Cache sensitive software transactional memory. Technical report
Fraser, K.: Practical lock freedom. PhD thesis. Cambridge University Computer Laboratory (2003)
Gramoli, V., Harmanci, D., Felber, P.: Toward a theory of input acceptance for transactional memories. Technical report (2008)
Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Proceedings of the 22th international symposium on distributed computing (2008)
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)
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)
Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21(2), 289–300 (1993)
Keidar, I., Perelman, D.: On maintaining multiple versions in transactional memory (work in progress). Technical report, Technion (2010)
Moss, J.E.B.: Open nested transactions: semantics and support. In: WMPI, p 2006, Austin
Napper, J., Alvisi, L.: Lock-free serializable transactions. Technical report, The University of Texas at Austin (2005)
Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM (1979)
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)
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)
Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, San Mateo (2002)
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00224-015-9607-7