Journal article
Lock-free concurrent binomial heaps
- Abstract:
- 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.
- Publication status:
- Published
- Peer review status:
- Peer reviewed
Actions
Access Document
- Files:
-
-
(Preview, Accepted manuscript, pdf, 440.0KB, Terms of use)
-
- Publisher copy:
- 10.1016/j.jlamp.2018.08.001
Authors
- Publisher:
- Elsevier
- Journal:
- Journal of Logical and Algebraic Methods in Programming More from this journal
- Volume:
- 101
- Pages:
- 44-87
- Publication date:
- 2018-08-24
- Acceptance date:
- 2018-08-10
- DOI:
- ISSN:
-
2352-2208
- Keywords:
- Pubs id:
-
pubs:911512
- UUID:
-
uuid:f7833406-bc72-4b20-90fc-e0f2e89fa0a4
- Local pid:
-
pubs:911512
- Source identifiers:
-
911512
- Deposit date:
-
2018-08-31
Terms of use
- Copyright holder:
- Elsevier Inc
- Copyright date:
- 2018
- Notes:
- Copyright © 2018 Elsevier Inc. This is the accepted manuscript version of the article. The final version is available online from Elsevier at: https://doi.org/10.1016/j.jlamp.2018.08.001
If you are the owner of this record, you can report an update to it here: Report update to this record