Lock-free Contention Adapting Search Trees
-
Published:2021-06-30
Issue:2
Volume:8
Page:1-38
-
ISSN:2329-4949
-
Container-title:ACM Transactions on Parallel Computing
-
language:en
-
Short-container-title:ACM Trans. Parallel Comput.
Author:
Winblad Kjell1,
Sagonas Konstantinos2,
Jonsson Bengt2
Affiliation:
1. Ericsson AB, Sweden
2. Uppsala University, Sweden
Abstract
Concurrent key-value stores with range query support are crucial for the scalability and performance of many applications. Existing lock-free data structures of this kind use a fixed synchronization granularity. Using a fixed synchronization granularity in a concurrent key-value store with range query support is problematic as the best performing synchronization granularity depends on a number of factors that are difficult to predict, such as the level of contention and the number of items that are accessed by range queries. We present the first linearizable lock-free key-value store with range query support that dynamically adapts its synchronization granularity. This data structure is called the lock-free contention adapting search tree (LFCA tree). An LFCA tree automatically performs local adaptations of its synchronization granularity based on heuristics that take contention and the performance of range queries into account. We show that the operations of LFCA trees are linearizable, that the lookup operation is wait-free, and that the remaining operations (insert, remove and range query) are lock-free. Our experimental evaluation shows that LFCA trees achieve more than twice the throughput of related lock-free data structures in many scenarios. Furthermore, LFCA trees are able to perform substantially better than data structures with a fixed synchronization granularity over a wide range of scenarios due to their ability to adapt to the scenario at hand.
Publisher
Association for Computing Machinery (ACM)
Subject
Computational Theory and Mathematics,Computer Science Applications,Hardware and Architecture,Modelling and Simulation,Software
Reference29 articles.
1. Archita Agarwal Zhiyu Liu Eli Rosenthal and Vikram Saraph. 2017. Linearizable Iterators for Concurrent Sets. arXiv:1705.08885. Retrieved from https://arxiv.org/abs/1705.088 Archita Agarwal Zhiyu Liu Eli Rosenthal and Vikram Saraph. 2017. Linearizable Iterators for Concurrent Sets. arXiv:1705.08885. Retrieved from https://arxiv.org/abs/1705.088
2. Harnessing epoch-based reclamation for efficient range queries
3. Leaplist
4. KiWi
5. A practical concurrent binary search tree
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Lock-free locks revisited;Proceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming;2022-03-28