TY - JOUR
T1 - Scaling HTM-Supported Database Transactions to Many Cores
AU - Leis, Viktor
AU - Kemper, Alfons
AU - Neumann, Thomas
N1 - Publisher Copyright:
© 1989-2012 IEEE.
PY - 2016/2/1
Y1 - 2016/2/1
N2 - So far, transactional memory - although a promising technique - suffered from the absence of an efficient hardware implementation. Intel's Haswell microarchitecture introduced hardware transactional memory (HTM) in mainstream CPUs. HTM allows for efficient concurrent, atomic operations, which is also highly desirable in the context of databases. On the other hand, HTM has several limitations that, in general, prevent a one-to-one mapping of database transactions to HTM transactions. In this work, we devise several building blocks that can be used to exploit HTM in main-memory databases. We show that HTM allows for achieving nearly lock-free processing of database transactions by carefully controlling the data layout and the access patterns. The HTM component is used for detecting the (infrequent) conflicts, which allows for an optimistic, and thus very low-overhead execution of concurrent transactions. We evaluate our approach on a four-core desktop and a 28-core server system and find that HTM indeed provides a scalable, powerful, and easy to use synchronization primitive.
AB - So far, transactional memory - although a promising technique - suffered from the absence of an efficient hardware implementation. Intel's Haswell microarchitecture introduced hardware transactional memory (HTM) in mainstream CPUs. HTM allows for efficient concurrent, atomic operations, which is also highly desirable in the context of databases. On the other hand, HTM has several limitations that, in general, prevent a one-to-one mapping of database transactions to HTM transactions. In this work, we devise several building blocks that can be used to exploit HTM in main-memory databases. We show that HTM allows for achieving nearly lock-free processing of database transactions by carefully controlling the data layout and the access patterns. The HTM component is used for detecting the (infrequent) conflicts, which allows for an optimistic, and thus very low-overhead execution of concurrent transactions. We evaluate our approach on a four-core desktop and a 28-core server system and find that HTM indeed provides a scalable, powerful, and easy to use synchronization primitive.
KW - concurrency control
KW - hardware transactional memory
KW - synchronization
KW - transaction processing
UR - http://www.scopus.com/inward/record.url?scp=84962436316&partnerID=8YFLogxK
U2 - 10.1109/TKDE.2015.2411272
DO - 10.1109/TKDE.2015.2411272
M3 - Article
AN - SCOPUS:84962436316
SN - 1041-4347
VL - 28
SP - 297
EP - 310
JO - IEEE Transactions on Knowledge and Data Engineering
JF - IEEE Transactions on Knowledge and Data Engineering
IS - 2
M1 - 7056431
ER -