Why STM can be more than a research toy

Despite earlier claims, Software Transactional Memory outperforms sequential code.

[1]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[2]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.

[3]  Keir Fraser,et al.  Language support for lightweight transactions , 2003, SIGP.

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

[5]  Bradley C. Kuszmaul,et al.  Unbounded transactional memory , 2005, 11th International Symposium on High-Performance Computer Architecture.

[6]  Virendra J. Marathe,et al.  Adaptive Software Transactional Memory , 2005, DISC.

[7]  Maurice Herlihy,et al.  Virtualizing transactional memory , 2005, 32nd International Symposium on Computer Architecture (ISCA'05).

[8]  Rachid Guerraoui,et al.  Toward a theory of transactional contention managers , 2005, PODC '05.

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

[10]  David Eisenstat,et al.  Lowering the Overhead of Software Transactional Memory , 2006 .

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

[12]  Nir Shavit,et al.  What Really Makes Transactions Faster , 2006 .

[13]  Brian T. Lewis,et al.  Compiler and runtime support for efficient software transactional memory , 2006, PLDI '06.

[14]  Michael F. Spear,et al.  Conflict Detection and Validation Strategies for Software Transactional Memory , 2006, DISC.

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

[16]  David A. Wood,et al.  LogTM: log-based transactional memory , 2006, The Twelfth International Symposium on High-Performance Computer Architecture, 2006..

[17]  Maurice Herlihy,et al.  A flexible framework for implementing software transactional memory , 2006, OOPSLA '06.

[18]  Christoforos E. Kozyrakis,et al.  Unlocking Concurrency , 2006, ACM Queue.

[19]  Mark Plesko,et al.  Optimizing memory transactions , 2006, PLDI '06.

[20]  Dan Grossman,et al.  The transactional memory / garbage collection analogy , 2007, OOPSLA.

[21]  Michael F. Spear,et al.  Privatization techniques for software transactional memory , 2007, PODC '07.

[22]  Maurice Herlihy,et al.  Language Support and Compiler Optimizations for STM and Transactional Boosting , 2007, ICDCIT.

[23]  Dan Grossman,et al.  Enforcing isolation and ordering in STM , 2007, PLDI '07.

[24]  Michael F. Spear,et al.  Delaunay Triangulation with Transactions and Barriers , 2007, 2007 IEEE 10th International Symposium on Workload Characterization.

[25]  Jan Vitek,et al.  STMBench7: a benchmark for software transactional memory , 2007, EuroSys '07.

[26]  Mark Moir,et al.  SNZI: scalable NonZero indicators , 2007, PODC '07.

[27]  Michael F. Spear,et al.  Nonblocking transactions without indirection using alert-on-update , 2007, SPAA '07.

[28]  Donald E. Porter,et al.  TxLinux: using and managing hardware transactional memory in an operating system , 2007, SOSP.

[29]  Virendra J. Marathe,et al.  Capabilities and Limitations of Library-Based Software Transactional Memory in C++ , 2007 .

[30]  Torvald Riegel,et al.  Time-based transactional memory with scalable time bases , 2007, SPAA '07.

[31]  Adam Welc,et al.  Design and implementation of transactional constructs for C/C++ , 2008, OOPSLA '08.

[32]  Torvald Riegel,et al.  Dynamic performance tuning of word-based software transactional memory , 2008, PPoPP.

[33]  Maged M. Michael,et al.  Software Transactional Memory: Why Is It Only a Research Toy? , 2008, ACM Queue.

[34]  Mikel Luján,et al.  Lee-TM: A Non-trivial Benchmark Suite for Transactional Memory , 2008, ICA3PP.

[35]  Hsien-Hsin S. Lee,et al.  Kicking the tires of software transactional memory: why the going gets tough , 2008, SPAA '08.

[36]  Michael F. Spear,et al.  Scalable Techniques for Transparent Privatization in Software Transactional Memory , 2008, 2008 37th International Conference on Parallel Processing.

[37]  Torvald Riegel,et al.  Automatic data partitioning in software transactional memories , 2008, SPAA '08.

[38]  Kunle Olukotun,et al.  STAMP: Stanford Transactional Applications for Multi-Processing , 2008, 2008 IEEE International Symposium on Workload Characterization.

[39]  David A. Wood,et al.  TokenTM: Efficient Execution of Large Transactions with Hardware Transactional Memory , 2008, 2008 International Symposium on Computer Architecture.

[40]  Yang Ni,et al.  Optimizing transactions for captured memory , 2009, SPAA '09.

[41]  Martín Abadi,et al.  Transactional memory with strong atomicity using off-the-shelf memory protection hardware , 2009, PPoPP '09.

[42]  Elastic Transactions , 2009, DISC.

[43]  Rachid Guerraoui,et al.  Stretching transactional memory , 2009, PLDI '09.

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

[45]  DiceDave,et al.  Early experience with a commercial hardware transactional memory implementation , 2009 .

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