Single-Version STMs Can Be Multi-version Permissive (Extended 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.

[1]  Yehuda Afek,et al.  Disentangling multi-object operations (extended abstract) , 1997, PODC '97.

[2]  Rachid Guerraoui,et al.  The semantics of progress in lock-based transactional memory , 2009, POPL '09.

[3]  Nir Shavit,et al.  TLRW: return of the read-write lock , 2010, SPAA '10.

[4]  Idit Keidar,et al.  SMV: Selective Multi-Versioning STM , 2011, DISC.

[5]  Mark Moir,et al.  Nonblocking k-compare-single-swap , 2003, SPAA '03.

[6]  Nir Shavit,et al.  Transactional Locking II , 2006, DISC.

[7]  Torvald Riegel,et al.  A Lazy Snapshot Algorithm with Eager Validation , 2006, DISC.

[8]  Gadi Taubenfeld,et al.  Disentangling Multi-object Operations , 1997 .

[9]  Rachid Guerraoui,et al.  On obstruction-free transactions , 2008, SPAA '08.

[10]  Robert Ennals Software Transactional Memory Should Not Be Obstruction-Free , 2005 .

[11]  Victor Luchangco,et al.  Anatomy of a Scalable Software Transactional Memory , 2009 .

[12]  Bratin Saha,et al.  McRT-STM: a high performance software transactional memory system for a multi-core runtime , 2006, PPoPP '06.

[13]  Pascal Felber,et al.  Toward a Theory of Input Acceptance for Transactional Memories , 2008, OPODIS.

[14]  Maurice Herlihy,et al.  Software transactional memory for dynamic-sized data structures , 2003, PODC '03.

[15]  Rachid Guerraoui,et al.  Permissiveness in Transactional Memories , 2008, DISC.

[16]  U. Aydonat Serializability of Transactions in Software Transactional Memory , 2008 .

[17]  Mark Moir,et al.  Simplifying concurrent algorithms by exploiting hardware transactional memory , 2010, SPAA '10.

[18]  Rachid Guerraoui,et al.  On the correctness of transactional memory , 2008, PPoPP.

[19]  L. Alvisi,et al.  Lock-free Serializable Transactions , 2006 .

[20]  GuerraouiRachid,et al.  The semantics of progress in lock-based transactional memory , 2009 .

[21]  Idit Keidar,et al.  On maintaining multiple versions in STM , 2010, PODC.

[22]  Vincent Gramoli,et al.  What theory for transactional memory? , 2010, SIGA.

[23]  Amos Israeli,et al.  Disjoint-access-parallel implementations of strong shared memory primitives , 1994, PODC '94.

[24]  Hagit Attiya,et al.  Inherent Limitations on Disjoint-Access Parallel Implementations of Transactional Memory , 2010, Theory of Computing Systems.