Leis V, Kemper A, Neumann T (2016)
Publication Type: Journal article
Publication year: 2016
Book Volume: 28
Pages Range: 297-310
Article Number: 7056431
Journal Issue: 2
DOI: 10.1109/TKDE.2015.2411272
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.
APA:
Leis, V., Kemper, A., & Neumann, T. (2016). Scaling HTM-Supported Database Transactions to Many Cores. IEEE Transactions on Knowledge and Data Engineering, 28(2), 297-310. https://doi.org/10.1109/TKDE.2015.2411272
MLA:
Leis, Viktor, Alfons Kemper, and Thomas Neumann. "Scaling HTM-Supported Database Transactions to Many Cores." IEEE Transactions on Knowledge and Data Engineering 28.2 (2016): 297-310.
BibTeX: Download