Efficient Lock-free Binary Search Trees

被引:23
作者
Chatterjee, Bapi [1 ]
Nguyen, Nhan [1 ]
Tsigas, Philippas [1 ]
机构
[1] Chalmers Univ Technol, Gothenburg, Sweden
来源
PROCEEDINGS OF THE 2014 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING (PODC'14) | 2014年
基金
瑞典研究理事会;
关键词
concurrent data-structures; binary search tree; amortized analysis; shared memory; lock-free; CAS;
D O I
10.1145/2611462.2611500
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In this paper we present a novel algorithm for concurrent lock-free internal binary search trees (BST) and implement a Set abstract data type (ADT) based on that. We show that in the presented lock-free BST algorithm the amortized step complexity of each set operation - Add, Remove and Contains - is O(H(n)+c), where H(n) is the height of the BST with n number of nodes and c is the contention during the execution. Our algorithm adapts to contention measures according to read-write load. If the situation is read-heavy, the operations avoid helping the concurrent Remove operations during traversal, and adapt to interval contention. However, for the write-heavy situations we let an operation help a concurrent Remove, even though it is not obstructed. In that case, an operation adapts to point contention. It uses single-word compare-and-swap (CAS) operations. We show that our algorithm has improved disjoint-access-parallelism compared to similar existing algorithms. We prove that the presented algorithm is linearizable. To the best of our knowledge, this is the first algorithm for any concurrent tree datastructure in which the modify operations are performed with an additive term of contention measure.
引用
收藏
页码:322 / 331
页数:10
相关论文
共 23 条
[1]   Long lived adaptive splitter and applications [J].
Yehuda Afek ;
Stupp G. ;
Touitou D. .
Distributed Computing, 2002, 15 (02) :67-86
[2]  
[Anonymous], 2001, DISC
[3]   Algorithms adapting to point contention [J].
Attiya, H ;
Fouren, A .
JOURNAL OF THE ACM, 2003, 50 (04) :444-468
[4]  
Barnes G., 1993, P 5 ANN ACM S PAR AL, P261
[5]   A Practical Concurrent Binary Search Tree [J].
Bronson, Nathan G. ;
Casper, Jared ;
Chafi, Hassan ;
Olukotun, Kunle .
PPOPP 2010: PROCEEDINGS OF THE 2010 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2010, :257-268
[6]  
Brown T, 2014, ACM SIGPLAN NOTICES, V49, P329, DOI [10.1145/2692916.2555267, 10.1145/2555243.2555267]
[7]  
Chatterjee B., 2014, 201405 CHALM U TECHN
[8]   A Speculation-Friendly Binary Search Tree [J].
Crain, Tyler ;
Gramoli, Vincent ;
Raynal, Michel .
ACM SIGPLAN NOTICES, 2012, 47 (08) :161-170
[9]  
Drachsler D, 2014, ACM SIGPLAN NOTICES, V49, P343, DOI [10.1145/2555243.2555269, 10.1145/2692916.2555269]
[10]  
Ellen F., 2014, P 2013 ACM PODC