Abstract
To efficiently implement parallel algorithms on parallel computers, concurrent data structures (data structures which are simultaneously updatable) are needed. In this paper, three implementations of a priority queue on a distributed-memory message passing multiprocessor with a hypercube topology are presented. In the first implementation, a linear chain of processors is mapped onto the hypercube, and then a heap data structure is mapped onto the chain, where each processor stores one level in the heap. A similar approach is taken for the second implementation, but in this case, a banyan heap data structure is mapped onto the linear chain of processors. Again, each processor in the chain becomes responsible for one level of the data structure. For the third implementation, the banyan heap data structure is again used, but the mapping is not onto linear chain of processors. Instead, the banyan heap is mapped onto processors column by column, so that the algorithm can make better use of the concurrent processing capabilities of the hypercube topology in order to reduce bottlnecking in the first processor, an effect noted in the use of the linear chain employed by the first two implementations. The key advantage of banyan heap over the heap is that with banyan heap it is possible to retrieve elements at different percentile levels.
Preview
Unable to display preview. Download preview PDF.
References
J. Bisweis and J. C. Browne, “Simultaneous Update of Priority Structures,” Proceedings of International Conference on Parallel Processing, August 1987, pp. 124–131.
M. J. Carey and C. D. Thompson, “An efficient Implementation of Search trees on [log N+1] processors,” IEEE Transactions on Computers, Vol. C-33, No. 11, Nov. 1984, pp. 1038–1041.
Y. Saad and M. Schultz, “Topological Properties of Hypercubes,” IEEE Transactions of Computers, Vol. 37, No. 7, July 1988, pp. 867–872.
M. R. Meybodi, “New Designs for Priority Queue Machine,” Proceedings of PARBASE-90: Conference on Databases, Parallel Architectures, and their Applications, Miami Beach, Florida, March 6–9, 1990, pp. 123–128.
M. R. Meybodi, “Tree Structured Dictionary Machines for VLSI-A Survey,” CS Technical Report, Ohio University, Athens, Ohio, 47501.
M. R. Meybodi, “Implementing Priority Queues on Hypercube Machine,” Annual Parallel Processing Symposium, Fullerton, Califonia, April 4–6, 1990, pp. 132–157.
C. Moler and D. S. Scott, “Communication Utilities For The iPSC.,” iPSC Tech. Report, August 1986.
J. E. Brandenburg and D. S. Scott, “Embeddings of Communication Tree and Grid into Hypercubes,” iPSC Technical Report, August 1986.
V. N. Rao and V. Kumar, “Concurrent Access of Priority Queue,” IEEE Transactions on Computers, Vol. 37, No. 12, Dec. 1988, pp. 1657–1665.
W. J. Dally, A VLSI Architecture for Concurrent Data Structures, Kluwer Academic Publishers, 1987.
M. J. Quinn, Designing Efficient Algorithms for parallel Computers, McGraw Hill, 1987.
C. D. Thompson, “The VLSI Complexity of Sorting,” IEEE Transactions on Computers, Vol. C-32, No. 12, Dec. 1983, pp. 373–386.
A. R. Omondi and J. D. Brock, “Implementing a Dictionary on Hypercube Machine,” Proceedings of International Conference on Parallel Processing, August 1987, pp. 707–709.
K. H. Cheng, “Efficient Designs of Priority Queue,” Proceedings of International Conference on Parallel Processing, August 1988, pp. 363–366.
J. H. Chang, O. H. Ibarra, M. J. Chang, and K. K. Rao, “Systolic Tree Implementation of Data Structures,” IEEE Transactions on Computers, Vol. 37, No. 6, June 1988, pp. 727–735.
J. D. Ullman, Computational Aspect of VLSI, Computer Science Press, 1984.
T. A. Standish, Data Structures Techniques, Addison Wesley, 1980.
E. Horowitz and A. Sahni, Fundamentals of Data structures, Computer Science Press, 1983.
H. T. Kung and P. L. Lehman, “Concurrent Manipulation of Binary Search Trees,” ACM Transactions on Database Systems, Vol. 5, No. 3, Sept. 1980, pp. 354–382.
P. L. Lehman and S. B. Yao, “Efficient Locking for Concurrent Operations on B-Trees,” ACM Transactions on Database Systems, Vol. 6, No. 4, Dec. 1981, pp. 650–670.
C. S. Ellis, “Concurrent Search and Insertion in AVL Trees,” IEEE Transactions on Computers, Vol. C-29, No. 9 September 1980, pp. 811–817.
C. S. Ellis, “Concurrent Search and Insertion in 2–3 Trees,” Acta Information, Vol. 14, 1980, pp. 63–86.
J. L. Bentley and H. T. Kung, “A Tree Machine for Searching Problems,” Proceeding of the International Conference on Parallel Processing, 1979.
C. E. Leiserson, “Systolic Priority Queues,” Dept. of Computer Science, Carnegie Melon University, Pittsburgh, PA, Report CMU-CS-115, 1979.
T. A. Ottmann, A. L. Rosenberg, and L. J. Stockmeyer, “A Dictionary Machine for VLSI,” IEEE Transaction on Computers, Vol. C-31, No. 9, Sept. 1982, pp. 892–897.
H. T. Kung and C. E. Leiserson, “Systolic Arrays (for VLSI),” Proceedings of Symposium on Sparse Matrix Computations and their Applications, Nov. 1978, pp. 256–282.
A. K. Somani and V. K. Agarwal, “An Efficient VLSI Dictionary Machine,” Proceedings of 11th Annual International Symposium on Computer Architecture, 1985, pp. 142–150.
M. J. Atallah and S. R. Kosaraju, “A Generalized Dictionary Machine for VLSI,” IEEE transactions on Computers, Vol. C-34, No. 2, Feb. 1985, pp. 151–155.
H. Schmeck and H. Schroder, “Dictionary Machines for Different Models of VLSI,” IEEE Transaction on computers, Vol. C-34, No. 5, May 1985, pp. 472–475.
A. L. Fisher, “Dictionary Machines with Small Number of Processors,” Proceedings of International Symposium on Computer Architectures, 1984, pp. 151–156.
D. Knuth, The Art of Computer Programming, Vol. 3, 1973.
E. M. Reingold and W. J. Hansen, Data Structures, Little, Brown and Company, 1983.
N. J. Nilsson, Problem Solving Methods in Artificial Intelligence, McGraw Hill, 1971.
F. Dehne and N. Santoro, “Optimal VLSI Dictionary Machines on Meshes,” Proceedings of International Conference on Parallel Processing, August 1987, pp. 832–840.
L. R. Goke and G. L. Lipovski, “Banyan Networks for Partitioning Multiprocessor Systems,” Proceedings of the First Annual Symposium on Computer Architecture, 1973, pp. 21–28.
A. L. Tharp, File Organization and Processing, John Wiley and Sons, 1988.
A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison Wesley, 1974.
R. Nix, “An Evaluation of Pagodas,” Tech. Rep. 164, Computer Science Dept. Yale Univ.
D. D. Sleator and R. E. Tarjan, “Self Adjusting Heaps,” SIAM J. Comput. Vol. 15, No 1, Feb. 1986, pp. 52–59.
J. Vuillemin, “A Data Structure for Manipulating Priority Queues,” Comm. ACM, Vol. 21, No. 4, 1985, pp. 309–315.
M. R. Meybodi, “Binary Search Mesh: A Concurrent Data Structure for Hypercube,” Computer Science Technical Report, Ohio University, Athens, Ohio, Jan. 1992.
M. R. Meybodi “Banyan Heap Machine,” Proceedings of Sixth International Parallel Processing Symposium, University of Southern California, Los Angeles, CA, March 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Meybodi, M.R. (1992). Concurrent data structures for hypercube machine. In: Etiemble, D., Syre, JC. (eds) PARLE '92 Parallel Architectures and Languages Europe. PARLE 1992. Lecture Notes in Computer Science, vol 605. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55599-4_119
Download citation
DOI: https://doi.org/10.1007/3-540-55599-4_119
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55599-5
Online ISBN: 978-3-540-47250-6
eBook Packages: Springer Book Archive