Relativistic red-black trees

被引:8
|
作者
Howard, Philip W. [1 ]
Walpole, Jonathan [2 ]
机构
[1] Univ Puget Sound, Portland, OR 97201 USA
[2] Portland State Univ, Portland, OR 97207 USA
来源
基金
美国国家科学基金会;
关键词
synchronization; data structures; scalability; concurrent programming; red-black trees; CONCURRENT; SYNCHRONIZATION;
D O I
10.1002/cpe.3157
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper presents algorithms for concurrently reading and modifying a red-black tree (RBTree). The algorithms allow wait-free, linearly scalable lookups in the presence of concurrent inserts and deletes. They have deterministic response times for a given tree size and uncontended read performance that is at least 60% faster than other known approaches. The techniques used to derive these algorithms arise from a concurrent programming methodology called relativistic programming. Relativistic programming introduces write-side delay primitives that allow the writer to pay most of the cost of synchronization between readers and writers. Only minimal synchronization overhead is placed on readers. Relativistic programming avoids unnecessarily strict ordering of read and write operations while still providing the capability to enforce linearizability. This paper shows how relativistic programming can be used to build a concurrent RBTree with synchronization-free readers and both lock-based and transactional memory-based writers. Copyright (c) 2013 John Wiley & Sons, Ltd.
引用
收藏
页码:2684 / 2712
页数:29
相关论文
共 50 条
  • [1] RED-BLACK TREES
    SCHNEIER, B
    [J]. DR DOBBS JOURNAL, 1992, 17 (04): : 42 - &
  • [2] Red-black trees with types
    Kahrs, S
    [J]. JOURNAL OF FUNCTIONAL PROGRAMMING, 2001, 11 : 425 - 432
  • [3] Relaxed balanced red-black trees
    Hanke, S
    Ottmann, T
    Soisalon-Soininen, E
    [J]. ALGORITHMS AND COMPLEXITY, 1997, 1203 : 193 - 204
  • [4] Group updates for red-black trees
    Hanke, S
    Soisalon-Soininen, E
    [J]. ALGORITHMS AND COMPLEXITY, 2000, 1767 : 253 - 262
  • [5] Parallel algorithms for red-black trees
    Park, H
    Park, K
    [J]. THEORETICAL COMPUTER SCIENCE, 2001, 262 (1-2) : 415 - 435
  • [6] STL's red-black trees
    Shankel, J
    [J]. DR DOBBS JOURNAL, 1998, 23 (04): : 54 - +
  • [7] Relaxed red-black trees with group updates
    Larsen, KS
    [J]. ACTA INFORMATICA, 2002, 38 (08) : 565 - 586
  • [8] HOW COSTLY CAN RED-BLACK TREES BE
    CAMERON, H
    WOOD, D
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1991, 497 : 117 - 126
  • [9] Red-black trees with relative node keys
    Holenderski, Mike
    Bril, Reinder J.
    Lukkien, Johan J.
    [J]. INFORMATION PROCESSING LETTERS, 2014, 114 (11) : 591 - 596
  • [10] Red-black trees with constant update time
    Elmasry, Amr
    Kahla, Mostafa
    Ahdy, Fady
    Hashem, Mahmoud
    [J]. ACTA INFORMATICA, 2019, 56 (05) : 391 - 404