Transactional Memory: Composability and Basic Algorithms


May 31, 2012


Writing concurrent programs is notoriously difficult, and is of increasing practical importance. In this series of lectures, I introduce “transactional memory” (TM) as a technique for building shared memory data structures. As I illustrate, it can be much easier to build shared memory data structures by using TM than it is to use conventional abstractions such as locks, or the atomic compare-and-swap instruction.

In this lecture, I introduce TM and some of the language constructs that we have built using it. I describe the basic “Bartok-STM” algorithm to illustrate how TM can be built on conventional computer hardware.


Tim Harris

Tim Harris received his PhD from the University of Cambridge, UK, where he is now a Lecturer in the Systems Research Group. His research interests are in practical concurrent and distributed systems and the programming languages and tools to support them. Current research topics include non-blocking concurrency control primitives, distributed debugging for e-Science applications and the XenoServers public distributed computing project. He is co-author of the
undergraduate text book “Operating Systems” published by Pearson and is a Teaching Fellow at Churchill College, Cambridge, UK.


  • Portrait of Tim Harris

    Tim Harris