Transactional memory for smalltalk

14 years 7 days ago
Transactional memory for smalltalk
Concurrency control in Smalltalk is based on locks and is therefore notoriously difficult to use. Even though some implementations provide high-level constructs, these add complexity and potentially hard-to-detect bugs to the application. Transactional memory is an attractive mechanism that does not have the drawbacks of locks, however the underlying implementation is often difficult to integrate into an existing language. In this paper we show how we have introduced transactional semantics in Smalltalk by using the reflective facilities of the language. Our approach is based on method annotations, incremental parse tree transformations and an optimistic commit protocol. We report on a practical case study, benchmarks and further and on-going work. Keywords. Transactional Memory, Concurrent Programming, Language Constructs and Features 1 The need for transactions Smalltalk has inherently weak support for concurrent programming and synchronization. Smalltalk-80 [1] only proposes semaph...
Lukas Renggli, Oscar Nierstrasz
Added 09 Jun 2010
Updated 09 Jun 2010
Type Conference
Year 2007
Authors Lukas Renggli, Oscar Nierstrasz
Comments (0)