Safe open-nested transactions through ownership

  • Authors:
  • Kunal Agrawal;I-Ting Angelina Lee;Jim Sukha

  • Affiliations:
  • MIT, Cambridge, MA, USA;MIT, Cambridge, MA, USA;MIT, Cambridge, MA, USA

  • Venue:
  • Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Researchers in transactional memory (TM) have proposed open-nested transactions for increasing concurrency. The idea is to ignore "low-level" memory operations of the open-nested transaction when detecting conflicts for its parent transaction, and instead perform abstract concurrency control for the "high-level" operation that nested transaction represents. Unfortunately, because the TM runtime is unaware of the different levels of memory, an unconstrained use of open-nested commits can lead to anomalous program behavior. We propose ownership-aware transactional memory (OATM) which explicitly incorporates the notion of modules into the TM system, and requires that transactions and data be associated with specific transactional modules or Xmodules. When a transaction in the OATM commits, the TM system uses this information about Xmodules and commits a piece of data differently depending on whether the current Xmodule owns the data or not. We call this commit mechanism ownership-aware commit, and it is a hybrid between an open-nested and closed-nested commit. Moreover, we give a set of precise constraints on interactions and sharing of data among the Xmodules based on familiar notions of abstractions. We prove that OATM has has clean memory-level semantics and can guarantee serializability by modules, which is an adaptation of multilevel serializability from databases to TM. Finally, we prove that if transactions in the process of aborting obey restrictions on their memory footprint, the OATM is free from semantic deadlock.