A General Technique for Non-blocking Trees

被引:0
作者
Brown, Trevor [1 ]
Ellen, Faith [1 ]
Ruppert, Eric [2 ]
机构
[1] Univ Toronto, Toronto, ON M5S 1A1, Canada
[2] York Univ, N York, ON M3J 1P3, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
balanced binary search tree; non-blocking; chromatic tree; relaxed balance; red-black tree; SEARCH-TREES;
D O I
10.1145/2692916.2555267
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We describe a general technique for obtaining provably correct, non-blocking implementations of a large class of tree data structures where pointers are directed from parents to children. Updates are permitted to modify any contiguous portion of the tree atomically. Our non-blocking algorithms make use of the LLX, SCX and VLX primitives, which are multi-word generalizations of the standard LL, SC and VL primitives and have been implemented from single-word CAS [10]. To illustrate our technique, we describe how it can be used in a fairly straightforward way to obtain a non-blocking implementation of a chromatic tree, which is a relaxed variant of a red-black tree. The height of the tree at any time is o(c + log n), where n is the number of keys and c is the number of updates in progress. We provide an experimental performance analysis which demonstrates that our Java implementation of a chromatic tree rivals, and often significantly outperforms, other leading concurrent dictionaries.
引用
收藏
页码:329 / 341
页数:13
相关论文
共 30 条
[1]  
Afek Y, 2012, LECT NOTES COMPUT SC, V7611, P1, DOI 10.1007/978-3-642-33651-5_1
[2]  
Aghazadeh Z., 2013, P 32 ACM S PRINC DIS, P322
[3]  
Anderson J. H., 1995, Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, P184, DOI 10.1145/224964.224985
[4]  
[Anonymous], 2012, P SPAA 12
[5]  
BARNES G, 1993, P 5 ANN ACM S PAR AL, P261, DOI DOI 10.1145/165231.165265
[6]  
Bayer R., 1972, Acta Informatica, V1, P290, DOI 10.1007/BF00289509
[7]  
Bouge L., 1998, LSI9812R U POL CAT
[8]   Amortization results for chromatic search trees, with an application to priority queues [J].
Boyar, J ;
Fagerberg, R ;
Larsen, KS .
JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1997, 55 (03) :504-521
[9]   A Practical Concurrent Binary Search Tree [J].
Bronson, Nathan G. ;
Casper, Jared ;
Chafi, Hassan ;
Olukotun, Kunle .
ACM SIGPLAN NOTICES, 2010, 45 (05) :257-268
[10]  
Brown T., 2013, P 32 ACM S PRINC DIS