skip to main content
10.1145/2933349.2933352acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

The ART of practical synchronization

Published: 26 June 2016 Publication History

Abstract

The performance of transactional database systems is critically dependent on the efficient synchronization of in-memory data structures. The traditional approach, fine-grained locking, does not scale on modern hardware. Lock-free data structures, in contrast, scale very well but are extremely difficult to implement and often require additional indirections. In this work, we argue for a middle ground, i.e., synchronization protocols that use locking, but only sparingly. We synchronize the Adaptive Radix Tree (ART) using two such protocols, Optimistic Lock Coupling and Read-Optimized Write EXclusion (ROWEX). Both perform and scale very well while being much easier to implement than lock-free techniques.

References

[1]
R. Bayer and M. Schkolnick. Concurrency of operations on B-trees. Acta Informatica, 9, 1977.
[2]
N. G. Bronson, J. Casper, H. Chafi, and K. Olukotun. A practical concurrent binary search tree. In PPOPP, pages 257--268, 2010.
[3]
D. Cervini, D. Porobic, P. Tözün, and A. Ailamaki. Applying HTM to an OLTP system: No free lunch. In DaMoN, 2015.
[4]
S. K. Cha, S. Hwang, K. Kim, and K. Kwon. Cache-conscious concurrency control of main-memory indexes on shared-memory multiprocessor systems. In VLDB, 2001.
[5]
G. Graefe. A survey of B-tree locking techniques. ACM Trans. Database Syst., 35(3), 2010.
[6]
G. Graefe. Modern B-tree techniques. Foundations and Trends in Databases, 3(4):203--402, 2011.
[7]
T. Karnagel, R. Dementiev, R. Rajwar, K. Lai, T. Legler, B. Schlegel, and W. Lehner. Improving in-memory database index performance with Intel transactional synchronization extensions. In HPCA, 2014.
[8]
A. Kemper, T. Neumann, J. Finis, F. Funke, V. Leis, H. Mühe, T. Mühlbauer, and W. Rödiger. Transaction processing in the hybrid OLTP & OLAP main-memory database system HyPer. IEEE Data Eng. Bull., 36(2):41--47, 2013.
[9]
H. Kimura. FOEDUS: OLTP engine for a thousand cores and NVRAM. In SIGMOD, pages 691--706, 2015.
[10]
T. Kissinger, B. Schlegel, D. Habich, and W. Lehner. KISS-Tree: Smart latch-free in-memory indexing on modern architectures. In DaMoN, 2012.
[11]
P. L. Lehman and S. B. Yao. Efficient locking for concurrent operations on B-trees. ACM Trans. Database Syst., 6(4):650--670, 1981.
[12]
V. Leis, A. Kemper, and T. Neumann. The adaptive radix tree: ARTful indexing for main-memory databases. In ICDE, 2013.
[13]
V. Leis, A. Kemper, and T. Neumann. Exploiting hardware transactional memory in main-memory databases. In ICDE, 2014.
[14]
V. Leis, A. Kemper, and T. Neumann. Scaling HTM-supported database transactions to many cores. IEEE Trans. Knowl. Data Eng., 28(2), 2016.
[15]
J. J. Levandoski, D. B. Lomet, and S. Sengupta. The Bw-tree: A B-tree for new hardware platforms. In ICDE, 2013.
[16]
J. J. Levandoski, D. B. Lomet, and S. Sengupta. LLAMA: a cache/storage subsystem for modern hardware. PVLDB, 6(10):877--888, 2013.
[17]
D. Makreshanski, J. J. Levandoski, and R. Stutsman. To lock, swap, or elide: On the interplay of hardware transactional memory and lock-free indexing. PVLDB, 8(11), 2015.
[18]
Y. Mao, E. Kohler, and R. T. Morris. Cache craftiness for fast multicore key-value storage. In EuroSys, 2012.
[19]
O. Shalev and N. Shavit. Split-ordered lists: Lock-free extensible hash tables. J. ACM, 53(3):379--405, 2006.

Cited By

View all
  • (2025)A Lock-free RDMA-friendly Index in CPU-parsimonious EnvironmentsACM Transactions on Architecture and Code Optimization10.1145/3722112Online publication date: 7-Mar-2025
  • (2025)Synchronizing Disaggregated Data Structures with One-Sided RDMA: Pitfalls, Experiments and Design GuidelinesACM Transactions on Database Systems10.1145/371637750:1(1-40)Online publication date: 14-Feb-2025
  • (2025)Fast and fair randomized wait-free locksDistributed Computing10.1007/s00446-024-00474-438:1(51-72)Online publication date: 24-Jan-2025
  • Show More Cited By
  1. The ART of practical synchronization

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    DaMoN '16: Proceedings of the 12th International Workshop on Data Management on New Hardware
    June 2016
    89 pages
    ISBN:9781450343190
    DOI:10.1145/2933349
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 26 June 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Research-article

    Conference

    SIGMOD/PODS'16
    SIGMOD/PODS'16: International Conference on Management of Data
    June 26 - July 1, 2016
    California, San Francisco

    Acceptance Rates

    Overall Acceptance Rate 94 of 127 submissions, 74%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)112
    • Downloads (Last 6 weeks)9
    Reflects downloads up to 07 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)A Lock-free RDMA-friendly Index in CPU-parsimonious EnvironmentsACM Transactions on Architecture and Code Optimization10.1145/3722112Online publication date: 7-Mar-2025
    • (2025)Synchronizing Disaggregated Data Structures with One-Sided RDMA: Pitfalls, Experiments and Design GuidelinesACM Transactions on Database Systems10.1145/371637750:1(1-40)Online publication date: 14-Feb-2025
    • (2025)Fast and fair randomized wait-free locksDistributed Computing10.1007/s00446-024-00474-438:1(51-72)Online publication date: 24-Jan-2025
    • (2025)MxKernel: A Bare-Metal Runtime System for Database Operations on Heterogeneous Many-Core HardwareScalable Data Management for Future Hardware10.1007/978-3-031-74097-8_5(117-143)Online publication date: 24-Jan-2025
    • (2024)CUBIT: Concurrent Updatable Bitmap IndexingProceedings of the VLDB Endowment10.14778/3705829.370585418:2(399-412)Online publication date: 1-Oct-2024
    • (2024)LeanStore: A High-Performance Storage Engine for NVMe SSDsProceedings of the VLDB Endowment10.14778/3685800.368591517:12(4536-4545)Online publication date: 8-Nov-2024
    • (2024)Bf-Tree: A Modern Read-Write-Optimized Concurrent Larger-Than-Memory Range IndexProceedings of the VLDB Endowment10.14778/3681954.368201217:11(3442-3455)Online publication date: 1-Jul-2024
    • (2024)DEX: Scalable Range Indexing on Disaggregated MemoryProceedings of the VLDB Endowment10.14778/3675034.367505017:10(2603-2616)Online publication date: 1-Jun-2024
    • (2024)Accelerating Merkle Patricia Trie with GPUProceedings of the VLDB Endowment10.14778/3659437.365944317:8(1856-1869)Online publication date: 31-May-2024
    • (2024)A Memory-Disaggregated Radix TreeACM Transactions on Storage10.1145/366428920:3(1-41)Online publication date: 6-Jun-2024
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media