Lock-free concurrent binomial heaps

被引:1
|
作者
Lowe, Gavin [1 ]
机构
[1] Univ Oxford, Dept Comp Sci, Oxford, England
关键词
Concurrent datatypes; Binomial heaps; Linearizability; Lock-freedom; PRIORITY-QUEUES;
D O I
10.1016/j.jlamp.2018.08.001
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We present a linearizable, lock-free concurrent binomial heap. In our experience, a binomial heap is considerably more complex than previously considered concurrent datatypes. The implementation presents a number of challenges. We need to deal with interference when a thread is traversing the heap, searching for the smallest key: our solution is to detect such interference, and restart the traversal. We must avoid interference between updating operations: we add labels to nodes to prevent interfering updates to those nodes; and we add labels to heaps to prevent union operations interfering with other operations on the same heap. This labelling blocks other operations: to achieve lock-freedom, those threads help with the blocking operation; this requires care to ensure correctness, and to avoid cycles of helping that would lead to deadlock. We use a number of techniques to ensure decent efficiency. The complexity of the implementation adds to the difficulty of the proofs of linearizability and lock-freedom: we present each proof in a modular way, proving results about each operation individually, and then combining them to give the desired results. We hope some of these techniques can be applied elsewhere. (C) 2018 Elsevier Inc. All rights reserved.
引用
收藏
页码:44 / 87
页数:44
相关论文
共 50 条
  • [1] A Lock-Free Algorithm for Concurrent Bags
    Sundell, Hakan
    Gidenstam, Anders
    Papatriantafilou, Marina
    Tsigas, Philippas
    SPAA 11: PROCEEDINGS OF THE TWENTY-THIRD ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2011, : 335 - 344
  • [2] Toward Concurrent Lock-Free Queues on GPUs
    Zhang, Xiangyu
    Deng, Yangdong
    Mu, Shuai
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2014, E97D (07): : 1901 - 1904
  • [3] Are Lock-Free Concurrent Algorithms Practically Wait-Free?
    Alistarh, Dan
    Censor-Hillel, Keren
    Shavit, Nir
    STOC'14: PROCEEDINGS OF THE 46TH ANNUAL 2014 ACM SYMPOSIUM ON THEORY OF COMPUTING, 2014, : 714 - 723
  • [4] Expander: Lock-free Cache for a Concurrent Data Structure
    Aggarwal, Pooja
    Sarangi, Smruti R.
    2017 IEEE 24TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), 2017, : 162 - 171
  • [5] Are Lock-Free Concurrent Algorithms Practically Wait-Free?
    Alistarh, Dan
    Censor-Hillel, Keren
    Shavit, Nir
    JOURNAL OF THE ACM, 2016, 63 (04)
  • [6] Mechanizing a correctness proof for a lock-free concurrent stack
    Derrick, John
    Schellhorn, Gerhard
    Wehrheim, Heike
    FORMAL METHODS FOR OPEN OBJECT-BASED DISTRIBUTED SYSTEMS, PROCEEDINGS, 2008, 5051 : 78 - +
  • [7] Lock-free Concurrent Level Hashing for Persistent Memory
    Chen, Zhangyu
    Hua, Yu
    Ding, Bo
    Zuo, Pengfei
    PROCEEDINGS OF THE 2020 USENIX ANNUAL TECHNICAL CONFERENCE, 2020, : 799 - 812
  • [8] Supporting Lock-Free Composition of Concurrent Data Objects
    Cederman, Daniel
    Tsigas, Philippas
    PROCEEDINGS OF THE 2010 COMPUTING FRONTIERS CONFERENCE (CF 2010), 2010, : 53 - 62
  • [9] Fast Concurrent Lock-Free Binary Search Trees
    Natarajan, Aravind
    Mittal, Neeraj
    ACM SIGPLAN NOTICES, 2014, 49 (08) : 317 - 328
  • [10] Supporting Lock-Free Composition of Concurrent Data Objects
    Cederman, Daniel
    Tsigas, Philippas
    ACM SIGPLAN NOTICES, 2010, 45 (05) : 339 - 340