Concurrent lock-free unbounded priority queue with mutable priorities
Paper i proceeding, 2018

The priority queue with DeleteMin and Insert operations is a classical interface for ordering items associated with priorities. Some important algorithms, such as Dijkstra’s single-source-shortest-path, Adaptive Huffman Trees, etc. also require changing the priorities of items in the runtime. Existing lock-free priority queues do not directly support the dynamic mutation of the priorities. This paper presents the first concurrent lock-free unbounded binary heap that implements a priority queue with mutable priorities. The operations are provably linearizable. We also designed an optimized version of the algorithm by combining the concurrent operations that substantially improves the performance. For experimental evaluation, we implemented the algorithm in both C/C++ and Java. A number of micro-benchmarks show that our algorithm performs well in comparison to existing implementations.

Linearizability

Priority-queue

Heap

Elimination

Concurrent heap

Lock-free

Författare

Ivan Walulya

Chalmers, Data- och informationsteknik, Nätverk och system

Bapi Chatterjee

IBM India Research Laboratory

Ajoy K. Datta

University of Nevada, Las Vegas

Rashmi Niyolia

University of Nevada, Las Vegas

Philippas Tsigas

Chalmers, Data- och informationsteknik, Nätverk och system

Lecture Notes in Computer Science

0302-9743 (ISSN)

Vol. 11201 LNCS 365-380

20th International Symposium on Stabilization, Safety, and Security of Distributed Systems, SSS 2018
Tokyo, Japan,

Ämneskategorier

Datorteknik

Signalbehandling

Datavetenskap (datalogi)

DOI

10.1007/978-3-030-03232-6_24

Mer information

Senast uppdaterat

2019-01-09