Computer Laboratory Home Page Search A-Z Directory Help
University of Cambridge Home Computer Laboratory
Thursday March 10th, 2005 - 4:30pm
Computer Laboratory > Research > Systems Research Group > NetOS > Seminars > Thursday March 10th, 2005 - 4:30pm

Composable memory transactions

Simon Peyton Jones

Writing concurrent programs is notoriously difficult, and is of increasing practical importance. A particular source of concern is that even correctly-implemented concurrency abstractions cannot be composed together to form larger abstractions. In this paper we present a new concurrency model, based on transactional memory, that offers far richer composition. All the usual benefits of transactional memory are present (e.g. freedom from deadlock), but in addition we describe new modular forms of blocking and choice that have been inaccessible in earlier work.

Those of you who have been to earlier talks by Tim Harris and Kier Fraser will already know quite a bit about transactional memory, so I'll go fairly quickly over the basics. Haskell turns out to be a particularly fruitful laboratory in which to explore STM, and I'll concentrate on the new support we have developed for composable transactions.

This is a presentation of work in collaboration with Tim Harris, Simon Marlow, and Maurice Herlihy.