A lazy concurrent list-based set algorithm

被引:0
|
作者
Heller, Steve [1 ]
Herlihy, Maurice [2 ]
Luchangco, Victor [1 ]
Moir, Mark [1 ]
Scherer, William N., III [3 ]
Shavit, Nir [1 ]
机构
[1] Sun Microsyst Lab, Menlo Pk, CA 94025 USA
[2] Brown Univ, Providence, RI 02912 USA
[3] Univ Rochester, Rochester, NY 14627 USA
来源
PRINCIPLES OF DISTRIBUTED SYSTEMS | 2006年 / 3974卷
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
List-based implementations of sets are a fundamental building block of many concurrent algorithms. A skiplist based on the lock-free list-based set algorithm of Michael will be included in the Java (TM) Concurrency Package of JDK 1.6.0. However, Michael's lock-free algorithm has several drawbacks, most notably that it requires all list traversal operations, including membership tests, to perform cleanup operations of logically removed nodes, and that it uses the equivalent of an atomically markable reference, a pointer that can be atomically "marked," which is expensive in some languages and unavailable in others. We present a novel "lazy" list-based implementation of a concurrent set object. It is based on an optimistic locking scheme for inserts and removes, eliminating the need to use the equivalent of an atomically markable reference. It also has a novel wait-free membership test operation (as opposed to Michael's lock-free one) that does not need to perform cleanup operations and is more efficient than that of all previous algorithms. Empirical testing shows that the new lazy-list algorithm consistently outperforms all known algorithms, including Michael's lock-free algorithm, throughout the concurrency range. At high load, with 90% membership tests, the lazy algorithm is more than twice as fast as Michael's. This is encouraging given that typical search structure usage patterns include around 90% membership tests. By replacing the lock-free membership test of Michael's algorithm with our new wait-free one, we achieve an algorithm that slightly outperforms our new lazy-list (though it may not be as efficient in other contexts as it uses Java's RTTI mechanism to create pointers that can be atomically marked).
引用
收藏
页码:3 / +
页数:2
相关论文
共 50 条
  • [1] A Lazy Concurrent List-Based Set Algorithm
    Heller, Steve
    Herilly, Maurice
    Luchangco, Victor
    Moir, Mark
    Scherer, William N., III
    Shavit, Nir
    PARALLEL PROCESSING LETTERS, 2007, 17 (04) : 411 - 424
  • [2] Formal verification of a lazy concurrent list-based set algorithm
    Colvin, Robert
    Groves, Lindsay
    Luchangco, Victor
    Moir, Mark
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2006, 4144 : 475 - 488
  • [3] A list-based algorithm for evaluation of large deviation functions
    Tchernookov, Martin
    Dinner, Aaron R.
    JOURNAL OF STATISTICAL MECHANICS-THEORY AND EXPERIMENT, 2010,
  • [4] Brief Announcement: A Concurrency-Optimal List-Based Set
    Gramoli, Vincent
    Kuznetsov, Petr
    Ravi, Srivatsan
    Shang, Di
    DISTRIBUTED COMPUTING (DISC 2015), 2015, 9363 : 659 - 660
  • [5] List-Based Simulated Annealing Algorithm for Traveling Salesman Problem
    Zhan, Shi-hua
    Lin, Juan
    Zhang, Ze-jun
    Zhong, Yi-wen
    COMPUTATIONAL INTELLIGENCE AND NEUROSCIENCE, 2016, 2016
  • [6] A linked list-based exact algorithm for graph coloring problem
    Shukla A.N.
    Bharti V.
    Garag M.L.
    Revue d'Intelligence Artificielle, 2019, 33 (03): : 189 - 195
  • [7] Trees in the List: Accelerating List-based Packet Classification Through Controlled Rule Set Expansion
    Hager, Sven
    Selent, Stefan
    Scheuermann, Bjoern
    PROCEEDINGS OF THE 2014 CONFERENCE ON EMERGING NETWORKING EXPERIMENTS AND TECHNOLOGIES (CONEXT'14), 2014, : 101 - 107
  • [8] An efficient list-based scheduling algorithm for high-level synthesis
    Sllame, AM
    Drabek, V
    EUROMICRO SYMPOSIUM ON DIGITAL SYSTEM DESIGN, PROCEEDINGS: ARCHITECTURES, METHODS AND TOOLS, 2002, : 316 - 323
  • [9] A Parallel Concatenated Coding Scheme and List-based Decoding Algorithm for URLLC
    Namadchi, Fatemeh
    Shirvanimoghaddam, Mahyar
    El Gamal, Hesham
    2024 IEEE WIRELESS COMMUNICATIONS AND NETWORKING CONFERENCE, WCNC 2024, 2024,
  • [10] An improved list-based task scheduling algorithm for fog computing environment
    Madhura, R.
    Elizabeth, B. Lydia
    Uthariaraj, V. Rhymend
    COMPUTING, 2021, 103 (07) : 1353 - 1389