This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Optimal and Load Balanced Mapping of Parallel Priority Queues in Hypercubes
June 1996 (vol. 7 no. 6)
pp. 555-564

Abstract—In this paper, we efficiently map a priority queue on the hypercube architecture in a load balanced manner, with no additional communication overhead, and present optimal parallel algorithms for performing insert and deletemin operations. Two implementations for such operations are proposed on the single-port hypercube model. In a b-bandwidth, n-item priority queue in which every node contains b items in sorted order, the first implementation achieves optimal speed-up of $O({\rm min}\{{\rm log}\,\,n,{\textstyle{{b\,\,{\rm log}\,\,n} \over {{\rm log}\,\,b\,\,+\,\,{\rm log}\,{\rm log}\,\,n}}}\})$ for inserting b presorted items or deleting b smallest items, where $b = O(n^{{1 \mathord{\left/ {\vphantom {1 c}} \right. \kern-\nulldelimiterspace} c}})$ with c > 1. In particular, single insertion and deletion operations are cost-optimal and require $O({\textstyle{{{\rm log}\,n} \over p}} + {\rm log} \,\, p)$ time using $O({\textstyle{{{\rm log}^{}\,\,n} \over {{\rm log}\,{\rm log}\,\,n}}})$ processors.

The second implementation is more scalable since it uses a larger number of processors, and attains a "nearly" optimal speed-up on the single hypercube. Namely, the insertion of log n presorted items or the deletion of the log n smallest items is accomplished in O(log log n2)time using $O({\textstyle{{{\rm log}^2\,\,n} \over {{\rm log}\,{\rm log}\,\,n}}})$ processors. Finally, on the slightly more powerful pipelined hypercube model, the second implementation performs log n operations in O(log log n) time using $O({\textstyle{{{\rm log}^2\,\,n} \over {{\rm log}\,{\rm log}\,\,n}}})$ processors, thus achieving an optimal speed-up. To the best of our knowledge, our algorithms are the first implementations of b-bandwidth distributed priority queues, which are load balanced and yet guarantee optimal speed-ups.

[1] M. Jabri and B. Flower, “Weight Perturbation: An Optimal Architecture and Learning Technique for Analog VLSI Feedforward and Recurrent Multilayer Networks,” IEEE Trans. Neural Networks, Vol. 3, No. 1, Jan. 1992, pp. 154-157.
[2] D.Z. Chen and X. Hu, "Fast and Efficient Operations on Parallel Priority Queues," Proc. Fifth Ann. Int'l Symp. Algorithms and Computation, pp. 279-287,Beijing, Aug. 1994.
[3] S.K. Das, W.-B. Horng, and G.S. Moon, "An Efficient Algorithm for Managing a Parallel Heap," J. Parallel Algorithms and Applications, vol. 4, nos. 3-4, pp. 281-299, 1994.
[4] S.K. Das, F. Sarkar, and M.C. Pinotti, "Optimal Parallel Priority Queues in Distributed Memory Hypercubes," Technical Report CRPDC-94-23, Dept. of Computer Sciences, Univ. of North Texas, Denton, Dec. 1994.
[5] S.K. Das, F. Sarkar, and M.C. Pinotti, "Conflict-Free Path Access of Trees in Parallel Memory Systems with Applications to Distributed Heap Implementation," Proc. Int'l Conf. Parallel Processing, pp. 164-167,Oconomowoc, Wis., Aug. 1995.
[6] J. Denes and A.D. Keedwell, Latin Squares and Their Applications. Academic Press, 1974.
[7] N. Deo and S. Prasad, "An Optimal Parallel Priority Queue," J. Supercomputing, vol. 6, pp. 87-98, 1992.
[8] G.H. Gonnet and J.I. Munro, "Heaps on Heaps," SIAM J. Computing, vol. 15, pp. 964-971, 1986.
[9] A.K. Gupta and A.G. Phoutiou, "Load Balanced Priority Queue Implementations on Distributed Memory Parallel Machines," Lecture Notes in Computer Science, vol. 817, pp. 689-700, July 1994.
[10] J. J'aJ'a, An Introduction to Parallel Algorithms.New York: Addison-Wesley, 1992.
[11] F.T. Leighton,Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes.San Mateo, Calif.: Morgan Kaufmann, 1992.
[12] E.W. Mayr and C.G. Plaxton, "Pipelined Parallel Prefix Computations, and Sorting on a Pipelined Hypercube," J. Parallel and Distributed Computing, vol. 17, pp. 374-380, 1993.
[13] S. Olariu and Z. Wen, "Optimal Initialization Algorithms for a Class of Priority Queue," IEEE Trans. Parallel and Distributed Systems, vol. 2, no. 4, pp. 423-430, 1991.
[14] M.C. Pinotti and G. Pucci, "Parallel Priority Queues," Information Processing Letters, vol. 40, pp. 33-40, 1991.
[15] M.C. Pinotti and G. Pucci, "Parallel Algorithms for Priority Queue Operations," Theoretical Computer Science, vol. 148, no. 1, pp. 171-180, 1995.
[16] V. Rao and V. Kumar,“Concurrent access of priority queues,” IEEE Trans. Computers, vol. 37, no. 12, pp. 1,657-1,665, 1988.
[17] A. Ranade, S. Cheng, E. Deprit, J. Jones, and S. Shih, "Parallelism and Locality in Priority Queues," Proc. Sixth IEEE Symp. Parallel and Distributed Processing, pp. 490-496, Oct. 1994.
[18] P.J. Varman and K. Doshi, "Sorting with Linear Speedup on a Pipelined Hypercube," IEEE Trans. Computers, vol. 41, no. 1, pp. 97-103, Jan. 1992.

Index Terms:
Hamiltonian path, heap, hypercube, load balance, priority queue, slope-tree, b-bandwidth slope-heap, speed-up.
Citation:
Sajal K. Das, M. Cristina Pinotti, Falguni Sarkar, "Optimal and Load Balanced Mapping of Parallel Priority Queues in Hypercubes," IEEE Transactions on Parallel and Distributed Systems, vol. 7, no. 6, pp. 555-564, June 1996, doi:10.1109/71.506694
Usage of this product signifies your acceptance of the Terms of Use.