# Managing a parallel heap efficiently

## Abstract

We design a cost-optimal algorithm for managing a parallel heap on an exclusive-read and exclusive-write (EREW), parallel random access machine (PRAM) model. This is an improvement in space and time over the one recently proposed by Deo and Prasad [4]. Our approach efficiently employs *p* processors in the range 1 ≤ *p* ≤ *n*, where *n* is the maximum number of items in a parallel heap. It is assumed that a *delete-think-insert cycle* is repeatedly performed, and each processor requires an arbitrary but the same amount of time (called the *think time*) for processing an item which in turn generates at most *α* (a constant) new items. The time required for deleting *p* items of the highest priority from the parallel heap is *O*(1), while that for inserting at most *αp* new items is *O*(log *n*). With or without incorporating the think time, the speedup of our algorithm is proved to be linear, i.e. *O*(*p*). Using a global, working data structure for each level of the heap, it is shown that the additional memory space required for our parallel heap is much less than that for the existing one [4]. Furthermore, the proposed algorithm retains the strict priority ordering of a sequential heap.

## Index Terms

Algorithm analysis data structure EREW PRAM heap parallel algorithm priority queue optimal speedup## Preview

Unable to display preview. Download preview PDF.

## References

- [1]G. Bilardi and A. Nicolau, “Adaptive Bitonic Sorting: An Optimal Algorithm for Shared-Memory Machines,”
*SIAM J. Comput.*, vol. 18, no. 2, pp. 216–228, Apr. 1989.CrossRefGoogle Scholar - [2]J. Biswas and J. C. Browne, “Simultaneous Update of Priority Structures,”
*Proc. Int. Conf. Parallel Process.*, 1987, pp. 124–131.Google Scholar - [3]R. Cole, “Parallel Merge Sort,”
*SIAM J. Comput.*, vol. 17, no. 4, pp. 770–785, Aug. 1988.CrossRefGoogle Scholar - [4]N. Deo and S. Prasad, “Parallel Heap,”
*Proc. Int. Conf. Parallel Process.*, vol. III, 1990, pp. 169–172.Google Scholar - [5]W.-B. Horng and S. K. Das,
*Heaps — Concurrency and Parallelism*, Tech. Rep. #N-90-003, Dept. Comput. Sci., Univ. North Texas, Denton, Mar. 1990.Google Scholar - [6]E. Horowitz and S. Sahni,
*Fundamentals of Computer Algorithms*, Computer Science Press, Rockville, Maryland, 1989.Google Scholar - [7]D. W. Jones, “Concurrent Operations on Priority Queues,”
*Commun. ACM*, vol. 32, no. 1, pp. 132–137, Jan. 1989.CrossRefGoogle Scholar - [8]R. M. Karp and V. Ramachandran, “Parallel Algorithms for Shared-Memory Machines,” in
*Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity*(J. van Leeuwen, Ed.), MIT Press, Cambridge, MA, 1990, pp. 869–941.Google Scholar - [9]R. E. Ladner and M. J. Fischer, “Parallel Prefix Computation,”
*J. ACM*, vol. 27, no. 4, pp. 831–838, Oct. 1980.CrossRefGoogle Scholar - [10]T.-W. Lai and S. Sahni, “Anomalies in Parallel Branch-and-Bound Algorithms,”
*Commun. ACM*, vol. 27, no. 6, pp. 594–602, June 1984.CrossRefGoogle Scholar - [11]T.-W. Lai and A. Sprague, “Performance of Parallel Branch-and-Bound Algorithms,”
*IEEE Trans. Comput.*, vol. C-34, no. 10, pp. 962–964, Oct. 1985.Google Scholar - [12]G.-J. Li and B. W. Wah, “Coping with Anomalies in Parallel Branch-and-Bound Algorithms,”
*IEEE Trans. Comput.*, vol. C-35, no. 6, pp. 568–573, June 1986.MathSciNetGoogle Scholar - [13]M. J. Quinn and Y. B. Yoo, “Data Structures for the Efficient Solution of Graph Theoretic Problems on Tightly-Coupled MIMD Computers,”
*Proc. Int. Conf. Parallel Process.*, 1984, pp. 431–438.Google Scholar - [14]V. N. Rao and V. Kumar, “Concurrent Access of Priority Queues,”
*IEEE Trans. Comput.*, vol. 37, no. 12, pp. 1657–1665, Dec. 1988.CrossRefGoogle Scholar - [15]B. Wah and Y. Ma, “MANIP — A Parallel Computer System for Implementing Branch-and-Bound Algorithm,”
*Proc. 8th Annu. Symp. Comput. Archi.*, 1982, pp. 239–262.Google Scholar