A Parallel Priority Queue with Constant Time Operations

We present a parallel priority queue that supports the following operations in constant time:parallel insertionof a sequence of elements ordered according to key,parallel decrease keyfor a sequence of elements ordered according to key,deletion of the minimum key element, anddeletion 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 ofnoperations inO(n) time andO(mlogn) work,mbeing the total number of keyes inserted and/or updated. A main application is a parallel implementation of Dijkstra's algorithm for the single-source shortest path problem, which runs inO(n) time andO(mlogn) work on a CREW PRAM on graphs withnvertices andmedges. This is a logarithmic factor improvement in the running time compared with previous approaches.

[1]  John Beidler,et al.  Data Structures and Algorithms , 1996, Wiley Encyclopedia of Computer Science and Engineering.

[2]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

[3]  Vijay V. Vazirani,et al.  Matching is as easy as matrix inversion , 1987, STOC.

[4]  Geppino Pucci,et al.  Parallel Priority Queues , 1991, Inf. Process. Lett..

[5]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[6]  Yijie Han,et al.  Efficient Parallel Algorithms for Computing all Pair Shortest Paths in Directed Graphs , 1992, SPAA.

[7]  Rajeev Raman,et al.  Very fast optimal parallel algorithms for heap construction , 1994, Proceedings of 1994 6th IEEE Symposium on Parallel and Distributed Processing.

[8]  Gerth St lting Brodaly Worst-case Eecient Priority Queues , 1996 .

[9]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[10]  Xiaobo Sharon Hu,et al.  Fast and Efficient Operations on Parallel Priority Queues , 1994, ISAAC.

[11]  Clyde P. Kruskal,et al.  Parallel Algorithms for Shortest Path Problems , 1985, ICPP.

[12]  Gerth Stølting Brodal Priority Queues on Parallel Machines , 1996, SWAT.

[13]  Stephen A. Cook,et al.  Upper and Lower Time Bounds for Parallel Random Access Machines without Simultaneous Writes , 1986, SIAM J. Comput..

[14]  Andrew V. Goldberg,et al.  Sublinear-time parallel algorithms for matching and related problems , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[15]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[16]  Geppino Pucci,et al.  Parallel Algorithms for Priority Queue Operations , 1992, SWAT.

[17]  BrodalGerth Stølting,et al.  A Parallel Priority Queue with Constant Time Operations , 1998 .

[18]  Peter Høyer,et al.  A general technique for implementation of efficient priority queues , 1995, Proceedings Third Israel Symposium on the Theory of Computing and Systems.

[19]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[20]  Szu-Tsung Cheng,et al.  Parallelism and locality in priority queues , 1994, Proceedings of 1994 6th IEEE Symposium on Parallel and Distributed Processing.

[21]  Robert E. Tarjan,et al.  Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation , 1988, CACM.

[22]  Gerth Stølting Brodal,et al.  Worst-case efficient priority queues , 1996, SODA '96.

[23]  Sajal K. Das,et al.  Optimal and Load Balanced Mapping of Parallel Priority Queues in Hypercubes , 1996, IEEE Trans. Parallel Distributed Syst..

[24]  Alfred V. Aho,et al.  Data Structures and Algorithms , 1983 .

[25]  Torben Hagerup,et al.  Optimal Merging and Sorting on the Erew Pram , 1989, Inf. Process. Lett..

[26]  Jesper Larsson Träff,et al.  A Simple Parallel Algorithm for the Single-Source Shortest Path Problem on Planar Digraphs , 1996, J. Parallel Distributed Comput..

[27]  John Staples,et al.  The Maximum Flow Problem is Log Space Complete for P , 1982, Theor. Comput. Sci..

[28]  S. Sitharama Iyengar,et al.  Introduction to parallel algorithms , 1998, Wiley series on parallel and distributed computing.

[29]  Chris Okasaki,et al.  Purely functional random-access lists , 1995, FPCA '95.

[30]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[31]  Eli Upfal,et al.  Constructing a perfect matching is in random NC , 1985, STOC '85.

[32]  Jesper Larsson Träff,et al.  A parallel priority data structure with applications , 1997, Proceedings 11th International Parallel Processing Symposium.

[33]  Andrew V. Goldberg,et al.  Sublinear-Time Parallel Algorithms for Matching and Related Problems , 1993, J. Algorithms.

[34]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[35]  Peter H yer A General Technique for Implementation of Efficient Priority Queues , 1994 .

[36]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[37]  Sajal K. Das,et al.  Parallel and distributed meldable priority queues based on binomial heaps , 1996, Proceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing.