Transactional memory is a technique attempts to simplify concurrent programming, allowing group of load and store instructions to execute in an atomic way.
- VELOX project
- C/C++ proposal to language modifications
- Intel prototype compiler
- G++ 4.7 (GNU C++ Compiler) supports STM.
- Clojure has STM support built into the core language
- Common Lisp
- Haskell: STM and DSTM libraries
- Python
- Java/Scala
- Intel Haswell architecture
- IBM Power8
- Early Experience with a Commercial Hardware Transactional Memory Implementation
- Transactionalizing Legacy Code: An Experience Report Using GCC and Memcached
- Software Transactional Memory in the Linux Kernel
- Performance Characteristics of Hardware Transactional Memory for Molecular Dynamics Application on BlueGene/Q
- Evaluation of Blue Gene/Q Hardware Support for Transactional Memories
- An architecture for mostly functional languages, Tom Knight, 1986.
- Impossibility and Universality Results for Wait-Free Synchronization, Herlihy, 1988.
- A Methodology for Implementing Highly Concurrent Data Structures, Herlihy, 1990.
- Wait-Free Synchronization, Herlihy, 1991.
- A Methodology for Implementing Highly Concurrent Data Objects, Herlihy, 1993.
- Software Transactional Memory, Nir Shavit and Dan Toutiou, 1997.
- A Practical Multi-Word Compare-and-Swap Operation, Harris, Fraser, Pratt, 2002.
- Practical Lock-Free and Wait-Free LL:SC:VL Implementations Using 64-bit CAS, Michael, 2004.
- The Art of Multiprocessor Programming, Herlihy, Shavit, 2008
- Transactional memory: architectural support for lock-free data structures
- TxLinux: using and managing hardware transactional memory in an operating system
- Patrick Marlier publications
- Simon Peyton Jones pulications
- Andi Kleen works