## A Parallel Priority Queue with Constant Time Operations (1998)

### Cached

### Download Links

- [www.mpi-sb.mpg.de]
- [www.daimi.aau.dk]
- [www.daimi.au.dk]
- [www.mpi-sb.mpg.de]
- [www.brics.dk]
- [www.daimi.au.dk]
- [www.cs.au.dk]
- DBLP

### Other Repositories/Bibliography

Venue: | JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING |

Citations: | 17 - 1 self |

### BibTeX

@ARTICLE{Brodal98aparallel,

author = {Gerth Stølting Brodal and Jesper Larsson Träff and Christos D. Zaroliagis},

title = {A Parallel Priority Queue with Constant Time Operations},

journal = {JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING},

year = {1998},

volume = {49},

pages = {4--21}

}

### OpenURL

### Abstract

We present a parallel priority queue that supports the following operations in constant time: parallel insertion of a sequence of elements ordered according to key, parallel decrease key for a sequence of elements ordered according to key, deletion of the minimum key element, as well as deletion of an arbitrary element. Our data structure is the first to support multi insertion and multi decrease key in constant time. The priority queue can be implemented on the EREW PRAM, and can perform any sequence of n operations in O(n) time and O(m log n) work, m being the total number of keys inserted and/or updated. A main application is a parallel implementation of Dijkstra's algorithm for the single-source shortest path problem, which runs in O(n) time and O(m log n) work on a CREW PRAM on graphs with n vertices and m edges. This is a logarithmic factor improvement in the running time compared with previous approaches.

### Citations

1643 | A note on two problems in connexion with graphs
- Dijkstra
- 1959
(Show Context)
Citation Context ...f the weights of the edges on the path. The best sequential algorithm for the single-source shortest path problem on directed graphs with non-negative real valued edge weights is Dijkstra's algorithm =-=[10]-=-. The algorithm maintains for each vertex v 2 V a tentative distance d(v) from the source, and a set of vertices S for which a shortest path has been found. The algorithm iterates over the set of vert... |

673 |
An Introduction to Parallel Algorithms
- JáJá
- 1992
(Show Context)
Citation Context ...o the parallel implementation of Dijkstra's algorithm. 2 2 A parallel priority queue In this section we specify the operations supported by our parallel priority queue. We will be working on the PRAM =-=[18, 19]-=-, and for the description of the queue operations and the simple implementation assume that successively numbered processors P 1 ; : : : ; P i ; : : :, are available as we need them. In Section 5 we w... |

613 |
Orlin: Network Flows
- Ahuja, Magnanti, et al.
- 1993
(Show Context)
Citation Context ...ponding improvements in algorithms in which the single-source shortest path problem occurs as a subproblem. We mention here the assignment problem, the minimum-cost flow problem, (for definitions see =-=[1]-=-), and the single-source shortest path problem in planar digraphs. As usual, n and m denote the number of vertices and edges of the input graph, respectively. Note that the minimum-cost flow problem i... |

600 | E.: Fibonacci heaps and their uses in improved network optimization algorithms - Fredman, Tarjan - 1987 |

294 | Parallel algorithms for sharedmemory machines, in: Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity - Karp, Ramachandran - 1990 |

291 | Parallel merge sort
- Cole
- 1986
(Show Context)
Citation Context ...of v in constant time upon selection of v. We first sort the adjacency list of each vertex v 2 V according to the weight of its adjacent edges. Using a sublinear time work-optimal mergesort algorithm =-=[6, 15]-=- this is done with O(m log n) work on the EREW PRAM. This suffices to ensure that priority queue updates are performed on lists of vertices of non-decreasing tentative distance. To make it possible to... |

177 | Matching is as easy as matrix inversion
- Mulmuley, Vazirani, et al.
- 1987
(Show Context)
Citation Context ... [14] (i.e., it is very unlikely that it has a very fast parallel solution), while the assignment problem is not known to be in NC (only an RNC algorithm is known in the special case of unary weights =-=[20, 22]-=-, and a weakly polynomial CRCW PRAM algorithm that runs in O(n 2=3 log 2 n log(nC)) time with O(n 11=3 log 2 n log(nC)) work [13] in the case of integer edge weights in the range [\GammaC; C]). The as... |

97 |
Upper and lower time bounds for parallel random access machines without simultaneous writes
- Cook, Dwork, et al.
- 1986
(Show Context)
Citation Context ... the local minima. Either or both of the priority queue operations take O(log n) time, as does the parallel minimum computation; for the latter\Omega\Gammatte n) time is required, even on a CREW PRAM =-=[7]-=-. Hence, the approach with processor local priority queues does not seem to make it possible to improve the running time beyond O(n log n) without resorting to a more powerful PRAM model. This was con... |

83 |
Relaxed heaps: An alternative to Fibonacci heaps with applications to parallel computation
- Driscoll, Gabow, et al.
- 1988
(Show Context)
Citation Context ...CREW PRAM of Dijkstra's single-source shortest path algorithm running in O(n) time and O(m log n) work on digraphs with n nodes and m edges. This improves the running time of previous implementations =-=[11, 24]-=- by a logarithmic factor, while sacrificing only a logarithmic factor in the work. This is the fastest, work-efficient parallel algorithm for the single-source shortest path problem. The rest of the p... |

48 | Data Structures and Algorithms - Mehlhorn - 1984 |

37 |
Fredman and Robert Endre Tarjan. Fibonacci heaps and their uses in improved network optimization algorithms
- Michael
- 1987
(Show Context)
Citation Context ... selecting a vertex of minimum tentative distance which can be added to S. The algorithm can be implemented to run in O(m + n log n) operations by using efficient priority queues like Fibonacci heaps =-=[12]-=- for maintaining tentative distances, or other priority queue implementations supporting deletion of the minimum key element in amortized or worst case logarithmic time, and decrease key in amortized ... |

36 | Sublinear-time parallel algorithms for matching and related problems
- Goldberg, Plotkin, et al.
- 1993
(Show Context)
Citation Context ...nly an RNC algorithm is known in the special case of unary weights [20, 22], and a weakly polynomial CRCW PRAM algorithm that runs in O(n 2=3 log 2 n log(nC)) time with O(n 11=3 log 2 n log(nC)) work =-=[13]-=- in the case of integer edge weights in the range [\GammaC; C]). The assignment problem can be solved by n calls to Dijkstra's algorithm (see e.g. [1, Section 12.4]), while the solution of the minimum... |

32 | Worst-case efficient priority queues - Brodal - 1996 |

31 |
and Vijaya Ramachandran. Parallel algorithms for shared-memory machines
- Karp
- 1990
(Show Context)
Citation Context ...o the parallel implementation of Dijkstra's algorithm. 2 2 A parallel priority queue In this section we specify the operations supported by our parallel priority queue. We will be working on the PRAM =-=[18, 19]-=-, and for the description of the queue operations and the simple implementation assume that successively numbered processors P 1 ; : : : ; P i ; : : :, are available as we need them. In Section 5 we w... |

24 |
Parallel algorithms for shortest path problems
- Paige, Kruskal
- 1985
(Show Context)
Citation Context ...CREW PRAM of Dijkstra's single-source shortest path algorithm running in O(n) time and O(m log n) work on digraphs with n nodes and m edges. This improves the running time of previous implementations =-=[11, 24]-=- by a logarithmic factor, while sacrificing only a logarithmic factor in the work. This is the fastest, work-efficient parallel algorithm for the single-source shortest path problem. The rest of the p... |

21 |
Optimal merging and sorting
- Hagerup, Rüb
- 1989
(Show Context)
Citation Context ...of v in constant time upon selection of v. We first sort the adjacency list of each vertex v 2 V according to the weight of its adjacent edges. Using a sublinear time work-optimal mergesort algorithm =-=[6, 15]-=- this is done with O(m log n) work on the EREW PRAM. This suffices to ensure that priority queue updates are performed on lists of vertices of non-decreasing tentative distance. To make it possible to... |

19 | Parallel heap: An optimal parallel priority queue - Deo, Prasad - 1992 |

18 | Purely functional random-access lists
- Okasaki
- 1995
(Show Context)
Citation Context ...line required is to make the edge e an incoming edge of the new node w. The described approach for relinking has been applied in a different context to construct purely functional random-access lists =-=[23]-=-. In [23] it is proved that a sequence of trees 13 j x j j oe \Delta \Delta j y j j oe \Delta \Delta j z j j j j oe \Delta \Delta j j j oe \Delta \Delta oe \Gamma \Gamma` j j j j oe \Delta \Delta j j ... |

18 | A simple parallel algorithm for the single-source shortest path problem on planar digraphs
- Träff, Zaroliagis
- 1996
(Show Context)
Citation Context ...ter parallelism for the single-source shortest path problem in the case of planar digraphs can be achieved by plugging our implementation of Dijkstra's algorithm (Theorem 3(ii)) into the algorithm of =-=[29]-=- resulting in an algorithm which runs in O(n 2ffl + n 1\Gammaffl ) time and performs O(n 1+ffl ) work on an EREW PRAM, for any 0 ! ffl ! 1=2. With respect to work, this gives the best (deterministic) ... |

15 | Parallelism and locality in priority queues
- Ranade, Cheng, et al.
- 1994
(Show Context)
Citation Context ...G project SFB 124-D6 (VLSI Entwurfsmethoden und Parallelitat). 1 decrease key, and find minimum key element. There has been a considerable amount of work on parallel priority queues, see for instance =-=[2, 5, 8, 9, 25, 26, 27, 28]-=-. There are two different directions for incorporating parallelism into priority queues. The first is to speed up the individual queue operations that handle a single element, using a small number of ... |

15 | Parallel Priority Queues - Pinotti, Pucci - 1991 |

12 |
Constructing a maximum matching is in random NC
- Karp, Upfal, et al.
- 1986
(Show Context)
Citation Context ... [14] (i.e., it is very unlikely that it has a very fast parallel solution), while the assignment problem is not known to be in NC (only an RNC algorithm is known in the special case of unary weights =-=[20, 22]-=-, and a weakly polynomial CRCW PRAM algorithm that runs in O(n 2=3 log 2 n log(nC)) time with O(n 11=3 log 2 n log(nC)) work [13] in the case of integer edge weights in the range [\GammaC; C]). The as... |

10 |
Stølting Brodal. Worst-case efficient priority queues
- Gerth
- 1996
(Show Context)
Citation Context ...istances, or other priority queue implementations supporting deletion of the minimum key element in amortized or worst case logarithmic time, and decrease key in amortized or worst case constant time =-=[3, 11, 17]-=-. The single-source shortest path problem is in NC (by virtue of the all-pairs shortest path problem being in NC), and thus a fast parallel algorithm exists, but for general digraphs no work-efficient... |

10 |
Optimal and load balanced mapping of parallel priority queues in hypercubes
- Das, Pinotti, et al.
- 1996
(Show Context)
Citation Context ...G project SFB 124-D6 (VLSI Entwurfsmethoden und Parallelitat). 1 decrease key, and find minimum key element. There has been a considerable amount of work on parallel priority queues, see for instance =-=[2, 5, 8, 9, 25, 26, 27, 28]-=-. There are two different directions for incorporating parallelism into priority queues. The first is to speed up the individual queue operations that handle a single element, using a small number of ... |

10 |
The maximum flow problem is log-space complete for P. Theoretical Computer Science
- Goldschlager, Shaw, et al.
- 1982
(Show Context)
Citation Context ...ngle-source shortest path problem in planar digraphs. As usual, n and m denote the number of vertices and edges of the input graph, respectively. Note that the minimum-cost flow problem is P-complete =-=[14]-=- (i.e., it is very unlikely that it has a very fast parallel solution), while the assignment problem is not known to be in NC (only an RNC algorithm is known in the special case of unary weights [20, ... |

8 | Parallel algorithms for priority queue operations - Pinotti, Pucci - 1992 |

6 | A parallel priority data structure with applications
- Brodal, Tra, et al.
- 1997
(Show Context)
Citation Context ... how to reduce the work to O(m log n) by dynamically restructuring the pipeline in a tree like fashion. Further applications are discussed in Section 6. A preliminary version of the paper appeared as =-=[4]-=-. In that version a parallel priority data structure was proposed supporting a somewhat different set of operations, more directly tailored to the parallel implementation of Dijkstra's algorithm. 2 2 ... |

6 |
Fast and efficient operations on parallel priority queues (preliminary version
- Chen, Hu
- 1994
(Show Context)
Citation Context ...G project SFB 124-D6 (VLSI Entwurfsmethoden und Parallelitat). 1 decrease key, and find minimum key element. There has been a considerable amount of work on parallel priority queues, see for instance =-=[2, 5, 8, 9, 25, 26, 27, 28]-=-. There are two different directions for incorporating parallelism into priority queues. The first is to speed up the individual queue operations that handle a single element, using a small number of ... |

5 | Very fast optimal parallel algorithms for heap construction
- Dietz, Raman
- 1994
(Show Context)
Citation Context |

5 |
Parallel and distributed meldable priority queues based on binomial heaps
- Pinotti, Das, et al.
- 1996
(Show Context)
Citation Context |

5 | Priority queues on parallel machines - Brodal |

5 |
Stlting Brodal. Worst-case ecient priority queues
- Gerth
- 1996
(Show Context)
Citation Context ...istances, or other priority queue implementations supporting deletion of the minimum key element in amortized or worst case logarithmic time, and decrease key in amortized or worst case constant time =-=[3, 11, 17]-=-. The single-source shortest path problem is in NC (by virtue of the all-pairs shortest path problem being in NC), and thus a fast parallel algorithm exists, but for general digraphs no work-ecient a... |

4 |
A general technique for implementation of efficient priority queues
- Hyer
- 1995
(Show Context)
Citation Context ...istances, or other priority queue implementations supporting deletion of the minimum key element in amortized or worst case logarithmic time, and decrease key in amortized or worst case constant time =-=[3, 11, 17]-=-. The single-source shortest path problem is in NC (by virtue of the all-pairs shortest path problem being in NC), and thus a fast parallel algorithm exists, but for general digraphs no work-efficient... |

3 |
Stlting Brodal. Priority queues on parallel machines
- Gerth
- 1996
(Show Context)
Citation Context |

2 |
Algorithms for computing all pair shortest paths in directed graphs
- Han, Pan, et al.
- 1992
(Show Context)
Citation Context ...l algorithm exists, but for general digraphs no work-efficient algorithm in NC is known. The best NC algorithm runs in O(log 2 n) time and performs O(n 3 (log log n= log n) 1=3 ) work on an EREW PRAM =-=[16]-=-. Moreover, work-efficient algorithms which are (at least) sublinearly fast are also not known for general digraphs. Dijkstra's algorithm is highly sequential, and can probably not be used as a basis ... |

2 |
Pinotti and Geppino Pucci. Parallel priority queues
- Cristina
- 1991
(Show Context)
Citation Context |

2 |
Fast and ecient operations on parallel priority queues (preliminary version
- Chen, Hu
- 1994
(Show Context)
Citation Context ...DFG project SFB 124-D6 (VLSI Entwurfsmethoden und Parallelitat). 1 decrease key, andsnd minimumkey element. There has been a considerable amount of work on parallel priority queues, see for instance =-=[2, 5, 8, 9, 25, 26, 27, 28]-=-. There are two dierent directions for incorporating parallelism into priority queues. Thesrst is to speed up the individual queue operations that handle a single element, using a small number of pro... |

1 |
Pinotti and Geppino Pucci. Parallel algorithms for priority queue operations
- Cristina
- 1995
(Show Context)
Citation Context |

1 |
The maximum problem is LOGSPACE complete for P
- Goldschlager, Shaw, et al.
- 1982
(Show Context)
Citation Context ...single-source shortest path problem in planar digraphs. As usual, n and m denote the number of vertices and edges of the input graph, respectively. Note that the minimum-costsow problem is P-complete =-=[14]-=- (i.e., it is very unlikely that it has a very fast parallel solution), while the assignment problem is not known to be in NC (only an RNC algorithm is known in the special case of unary weights [20, ... |

1 |
A general technique for implementation of ecient priority queues
- Hyer
- 1995
(Show Context)
Citation Context ...istances, or other priority queue implementations supporting deletion of the minimum key element in amortized or worst case logarithmic time, and decrease key in amortized or worst case constant time =-=[3, 11, 17]-=-. The single-source shortest path problem is in NC (by virtue of the all-pairs shortest path problem being in NC), and thus a fast parallel algorithm exists, but for general digraphs no work-ecient a... |