Implementation and Use of Transactional Memory With Dynamic Separation

Free registration required

Executive Summary

The paper introduces the design and implementation of Dynamic Separation (DS) as a programming discipline for using transactional memory. The 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. The paper introduces explicit operations that identify transitions between these modes of access. The paper shows how to guarantee strong semantics for programs that use these DS operations correctly, even over an STM implementation that provides only weak atomicity. The paper describes a run-time checking tool (analogous to a data-race detector) that can test whether or not a program is using DS operations correctly. The paper also examines the use of DS in an asynchronous IO library.

  • Format: PDF
  • Size: 170.6 KB