Time-based Transactional Memory with Scalable Time Bases

Torvald Riegel, Christof Fetzer & Pascal Felber

Résumé Time-based transactional memories use time to reason about the consistency of data accessed by transactions and about the order in which transactions commit. They avoid the large read overhead of transactional memories that always check consistency when a new object is accessed, while still guaranteeing consistency at all times-in contrast to transactional memories that only check consistency on transaction commit. Current implementations of time-based transactional memories use a single global clock that is incremented by the commit operation for each update transaction that commits. In large systems with frequent commits, the contention on this global counter can thus become a major bottleneck. We present a scalable replacement for this global counter and describe how the Lazy Snapshot Algorithm (LSA), which forms the basis for our LSA-STM time-based software transactional memory, has to be changed to support these new time bases. In particular, we show how the global counter can be replaced (1) by an external or physical clock that can be accessed efficiently, and (2) by multiple synchronized physical clocks.
Mots-clés Transactional Memory
Citation T. Riegel, et al., "Time-based Transactional Memory with Scalable Time Bases," in 19th Annual Symposium on Parallelism in Algorithms and Architectures, San Diego, CA, 2007, p. 221-228.
Type Actes de congrès (Anglais)
Nom de la conférence 19th Annual Symposium on Parallelism in Algorithms and Architectures (San Diego, CA)
Date de la conférence 2007
Editeur commercial Assoc Computing Machinery
Pages 221-228