Abstract
We present PermiSTM, a single-version STM that satisfies a practical notion of permissiveness, usually associated with keeping many versions: it never aborts read-only transactions, and it aborts other transactions only due to a conflicting transaction (which writes to a common item), thereby avoiding spurious aborts. It avoids unnecessary contention on the memory, being strictly disjoint-access parallel.
This research is supported in part by the Israel Science Foundation (grant number 953/06).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Afek, Y., Merritt, M., Taubenfeld, G., Touitou, D.: Disentangling multi-object operations. In: PODC 1997, pp. 111–120 (1997)
Attiya, H., Hillel, E., Milani, A.: Inherent limitations on disjoint-access parallel implementations of transactional memory. In: SPAA 2009, pp. 69–78 (2009)
Aydonat, U., Abdelrahman, T.: Serializability of transactions in software transactional memory. In: TRANSACT 2008 (2008)
Dice, D., Lev, Y., Marathe, V.J., Moir, M., Nussbaum, D., Olszewski, M.: Simplifying concurrent algorithms by exploiting hardware transactional memory. In: SPAA 2010, pp. 325–334 (2010)
Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)
Dice, D., Shavit, N.: TLRW: Return of the read-write lock. In: SPAA 2010, pp. 284–293 (2010)
Ennals, R.: Software transactional memory should not be obstruction-free. Technical Report IRC-TR-06-052, Intel Research Cambridge Tech. Report (2006)
Gramoli, V., Harmanci, D., Felber, P.: Towards a theory of input acceptance for transactional memories. In: Baker, T.P., Bui, A., Tixeuil, S. (eds.) OPODIS 2008. LNCS, vol. 5401, pp. 527–533. Springer, Heidelberg (2008)
Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Taubenfeld, G. (ed.) DISC 2008. LNCS, vol. 5218, pp. 305–319. Springer, Heidelberg (2008)
Guerraoui, R., Kapalka, M.: On obstruction-free transactions. In: SPAA 2008, pp. 304–313 (2008)
Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPoPP 2008, pp. 175–184 (2008)
Guerraoui, R., Kapalka, M.: The semantics of progress in lock-based transactional memory. In: POPL 2009, pp. 404–415 (2009)
Herlihy, M., Luchangco, V., Moir, M., Scherer III., W.N.: Software transactional memory for dynamic-sized data structures. In: PODC 2003, pp. 92–101 (2003)
Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: PODC 1994, pp. 151–160 (1994)
Kapalka, M.: Theory of Transactional Memory. PhD thesis, EPFL (2010)
Keidar, I., Perelman, D.: On avoiding spare aborts in transactional memory. In: SPAA 2009, pp. 59–68 (2009)
Lev, Y., Luchangco, V., Marathe, V.J., Moir, M., Nussbaum, D., Olszewski, M.: Anatomy of a scalable software transactional memory. In: TRANSACT 2009 (2009)
Luchangco, V., Moir, M., Shavit, N.: Nonblocking k-compare-single-swap. In: SPAA 2003, pp. 314–323 (2003)
Napper, J., Alvisi, L.: Lock-free serializable transactions. Technical Report TR-05-04, The University of Texas at Austin (2005)
Perelman, D., Fan, R., Keidar, I.: On maintaining multiple versions in STM. In: PODC 2010, pp. 16–25 (2010)
Perelman, D., Keidar, I.: SMV: Selective Multi-Versioning STM. In: TRANSACT 2010 (2010)
Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 284–298. Springer, Heidelberg (2006)
Saha, B., Adl-Tabatabai, A.-R., Hudson, R.L., Cao Minh, C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: PPoPP 2006, pp. 187–197 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Attiya, H., Hillel, E. (2011). Single-Version STMs Can Be Multi-version Permissive (Extended Abstract). In: Aguilera, M.K., Yu, H., Vaidya, N.H., Srinivasan, V., Choudhury, R.R. (eds) Distributed Computing and Networking. ICDCN 2011. Lecture Notes in Computer Science, vol 6522. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17679-1_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-17679-1_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17678-4
Online ISBN: 978-3-642-17679-1
eBook Packages: Computer ScienceComputer Science (R0)