Dynamic performance tuning of word-based software transactional memory

The current generation of software transactional memories has the advantage of being simple and efficient. Nevertheless, there are several parameters that affect the performance of a transactional memory, for example the locality of the application and the cache line size of the processor. In this paper, we investigate dynamic tuning mechanisms on a new time-based software transactional memory implementation. We study in extensive measurements the performance of our implementation and exhibit the benefits of dynamic tuning. We compare our results with TL2, which is currently one of the fastest word-based software transactional memories.

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

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

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

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

[5]  Torvald Riegel,et al.  Snapshot Isolation for Software Transactional Memory , 2006 .

[6]  Kunle Olukotun,et al.  An effective hybrid transactional memory system with strong isolation guarantees , 2007, ISCA '07.

[7]  Bratin Saha,et al.  Code Generation and Optimization for Transactional Memory Constructs in an Unmanaged Language , 2007, International Symposium on Code Generation and Optimization (CGO'07).

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

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

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

[11]  Irving L. Traiger,et al.  Granularity of locks in a shared data base , 1975, VLDB '75.

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

[13]  Irving L. Traiger,et al.  Granularity of Locks in a Large Shared Data Base. , 1975, VLDB 1975.

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

[15]  Abraham Silberschatz,et al.  Consistency in Hierarchical Database Systems , 1980, JACM.

[16]  Torvald Riegel,et al.  Transactifying Applications Using an Open Compiler Framework , 2007 .