Transactional Memory

  • Michel RaynalEmail author


This chapter is devoted to software transactional memories (STM). This concept was first proposed by M. Herlihy and J. Moss (1993), and later refined by N. Shavit and D. Touitou (1997). The idea is to provide the designers of multiprocess programs with a language construct (namely, the notion of an atomic procedure called a transaction) that discharges them from the management of synchronization issues. More precisely, a programmer has to concentrate her efforts only on defining which parts of processes have to be executed atomically and not on the way atomicity is realized, this last issue being automatically handled by the underlying STM system.

This chapter, which is mainly on basic principles of algorithms implementing STM systems, assumes that the asynchronous processes are reliable (i.e., they never crash).


Abort Atomic execution unit Commit Deferred updates Incremental read (snapshot) Lock Multi-version Opacity Read invisibility Read/modify/write Software transactional memory Speculative execution Transaction (read-only  write-only update) Virtual world consistency 

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.IRISA-ISTICInstitut Universitaire de FranceRennes CedexFrance

Personalised recommendations