Advances in hardware technology have deep implications on future database system designs [1]. Increasing transistor densities, faster processors, larger memories, and low inter-chip communication latencies have enabled new hardware mechanisms such as processors supporting speculative execution, large on-chip buffering, and aggressive multiprocessor system organizations with cache coherence. As a result, much of the support required to implement hardware transactions is now either present in modern processors or their implementations are well understood. 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.
[1]
Michael Stonebraker,et al.
The Asilomar report on database research
,
1998,
SGMD.
[2]
Daniel J. Rosenkrantz,et al.
System level concurrency control for distributed database systems
,
1978,
TODS.
[3]
Norman P. Jouppi,et al.
Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers
,
1990,
[1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.
[4]
James R. Goodman,et al.
Speculative lock elision: enabling highly concurrent multithreaded execution
,
2001,
MICRO.
[5]
James R. Goodman,et al.
Transactional lock-free execution of lock-based programs
,
2002,
ASPLOS X.
[6]
Gerhard Weikum,et al.
ACM Transactions on Database Systems
,
2005
.