2007 · 141 citations · 12 references
ComputingComputer EngineeringComputer ScienceDatabasesOperating SystemsReal-time SystemsClock SynchronizationConcurrency ControlMemory ConsistencyTransaction ManagementCommit OrderingPhysical Clock SynchronizationScalable Memory SystemsTransactional MemoryTransactional Memory CoherenceTransactional Memory Consistency
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.
12
Software transactional memory for dynamic-sized data structures
Maurice Herlihy, Victor Luchangco, Mark Moir et al. · 2003 · 999 citations
Language support for lightweight transactions
Tim Harris, Keir Fraser · ACM SIGPLAN Notices · 2014 · 638 citations
Probabilistic clock synchronization
Flaviu Cristian · Distributed Computing · 1989 · 597 citations
Bratin Saha, Ali-Reza Adl-Tabatabai, Richard L. Hudson et al. · 2006 · 493 citations
Language support for lightweight transactions
Tim Harris, Keir Fraser · 2003 · 398 citations