Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Implementation and Use of Transactional Memory with Dynamic Separation

Martín Abadi, Andrew Birrell, Tim Harris, Johnson Hsieh, and Michael Isard

Abstract

We introduce the design and implementation of dynamic separation (DS) as a programming discipline for using transactional memory. Our approach is based on the programmer indicating which objects can be updated in transactions, which can be updated outside transactions, and which are read-only. We introduce explicit operations that identify transitions between these modes of access.We show how to guarantee strong semantics for programs that use these DS operations correctly, even over an STM implementation that provides only weak atomicity. We describe a run-time checking tool (analogous to a data-race detector) that can test whether or not a program is using DS operations correctly. We also examine the use of DS in an asynchronous IO library.

Details

Publication typeInproceedings
Published inProceedings of the 18th International Conference on Compiler Construction
PublisherSpringer Verlag
> Publications > Implementation and Use of Transactional Memory with Dynamic Separation