Fast and Efficient Operations on Parallel Priority Queues

The Parallel Priority Queue (PPQ) data structure supports parallel operations for manipulating data items with keys, such as inserting n new items, deleting n items with the smallest keys, creating a new PPQ that contains a set of items, and melding two PPQ's into one. In this paper, we present fast and efficient parallel algorithms for implementing operations on the PPQ's that maintain data items with real-valued keys. The data structures that we use for implementing the PPQ's are the unmeldable and meldable parallel heaps. Our algorithms have considerably smaller time and/or work bounds than the previously best known algorithms, and use a less powerful parallel computational model (the EREW PRAM). The new ideas that make our improvement possible are two partition schemes dynamically maintained on the parallel heap structures: the minimal-path partition and the right-path partition. These partition schemes could be of interest in their own right. Our results also lead to optimal parallel algorithms for implementing sequential operations on several traditional heap structures.

[1]  Vipin Kumar,et al.  Concurrent Access of Priority Queues , 1988, IEEE Trans. Computers.

[2]  Larry Rudolph,et al.  The power of parallel prefix , 1985, IEEE Transactions on Computers.

[3]  Uzi Vishkin,et al.  Parallel Dictionaries in 2-3 Trees , 1983, ICALP.

[4]  Benjamin W. Wah,et al.  MANIP-a parallel computer system for implementing branch and bound algorithms , 1981, ISCA '81.

[5]  Douglas W. Jones,et al.  Concurrent operations on priority queues , 1989, CACM.

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

[7]  Frank Bauernöppel,et al.  Implementing Abstract Data Structures in Hardware , 1988, MFCS.

[8]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[9]  Narsingh Deo,et al.  Parallel heap: improved and simplified , 1992, Proceedings Sixth International Parallel Processing Symposium.

[10]  Alan P. Sprague,et al.  Performance of parallel branch-and-bound algorithms , 1985, IEEE Transactions on Computers.

[11]  Alexandru Nicolau,et al.  Adaptive Bitonic Sorting: An Optimal Parallel Algorithm for Shared-Memory Machines , 1989, SIAM J. Comput..

[12]  James C. Browne,et al.  Simultaneous Update of Priority Structures , 1987, ICPP.

[13]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[14]  Sartaj Sahni,et al.  Anomalies in Parallel Branch-and-Bound Algorithms , 1984 .

[15]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[16]  Sajal K. Das,et al.  Managing a Parallel Heap Efficiently , 1991, PARLE.

[17]  Benjamin W. Wah,et al.  Coping with Anomalies in Parallel Branch-and-Bound Algorithms , 1986, IEEE Transactions on Computers.

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

[19]  David G. Kirkpatrick,et al.  A Simple Parallel Tree Contraction Algorithm , 1989, J. Algorithms.

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

[21]  Michael E. Saks,et al.  On a search problem related to branch-and-bound procedures , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).