Publication View

Implementing Software Transactional Memory, Correctly (2008)

Abstract
In recent years there has been much interest in the idea of concurrent programming using transactional memory, for example as provided in STM Haskell. While programmers are provided with a simple high-level model of transactions in terms of a stop-the-world semantics, the low-level implementation is rather more complex, involving subtle techniques that allow multiple transactions to execute concurrently. In this article, we take the first steps towards a formally verified implementation of transactional memory. In particular, we present a stripped-down, idealised concurrent language inspired by STM Haskell, and show how a low-level implementation of this language can be justified with respect to a high-level semantics, by means of a compiler and its correctness theorem, validated using QuickCheck and HPC. 1

Publication details
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=?doi=10.1.1.125.7813
Source http://www.cs.nott.ac.uk/~gmh/stm.pdf
Contributors CiteSeerX
Repository CiteSeerX - Scientific Literature Digital Library and Search Engine (United States)
Type text
Language English
Relation 10.1.1.73.2965, 10.1.1.47.1361, 10.1.1.67.3686, 10.1.1.118.8664, 10.1.1.105.4086, 10.1.1.65.7934, 10.1.1.102.4001