Atomic Transactional Execution in Hardware: A New High-Performance Abstraction for Databases?
Ravi Rajwar, Philip A. Bernstein · 2003
This paper discusses one such proposal. It is based on a hardware mechanism called Transactional Lock Removal [2] (TLR), which was originally designed to support the atomic execution of critical sections by a lock-based multithreaded program in a lock-free manner. In this paper, we explain the mechanism and suggest how it could be used to control the atomic execution of transactions in a database system. The TLR hardware identifies, at runtime, lock-protected critical sections in the program and executes these sections without acquiring the lock. TLR maintains correct semantics of the program in the absence of locks by executing and committing all operations in the now lock-free critical section "atomically". Any updates performed during the critical section execution are locally buffered in processor caches. They are made visible to other threads instantaneously at the end of the critical section. By not acquiring locks, the hardware can extract inherent parallelism in the program independent of locking granularity