Provable STM Properties: Leveraging Clock and Locks to Favor Commit and Early Abort

  • Authors:
  • Damien Imbs;Michel Raynal

  • Affiliations:
  • IRISA, Université de Rennes 1, Rennes, France 35042;IRISA, Université de Rennes 1, Rennes, France 35042

  • Venue:
  • ICDCN '09 Proceedings of the 10th International Conference on Distributed Computing and Networking
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a transaction : each sequential process is decomposed into transactions, where a transaction encapsulates a piece of code accessing concurrent objects. A transaction contains no explicit synchronization statement and appears as if it has been executed atomically. Due to the underlying concurrency management, a transaction commits or aborts. The major part of papers devoted to STM systems address mainly their efficiency. Differently, this paper focuses on an orthogonal issue, namely, the design and the statement of a safety property. The only safety property that is usually considered is a global property involving all the transactions (e.g., conflict-serializability or opacity) that expresses the correction of the whole execution. Roughly speaking, these consistency properties do not prevent a STM system from aborting all the transactions. The proposed safety property, called obligation , is on each transaction taken individually. It specifies minimal circumstances in which a STM system must commit a transaction T . The paper proposes and investigates such an obligation property. Then, it presents a STM algorithm that implements it. This algorithm, which is based on a logical clock and associates a lock with each shared object, is formally proved correct.