Skip to main content

Concurrent data structures for hypercube machine

  • Conference paper
  • First Online:
PARLE '92 Parallel Architectures and Languages Europe (PARLE 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 605))

  • 134 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Bisweis and J. C. Browne, “Simultaneous Update of Priority Structures,” Proceedings of International Conference on Parallel Processing, August 1987, pp. 124–131.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. Y. Saad and M. Schultz, “Topological Properties of Hypercubes,” IEEE Transactions of Computers, Vol. 37, No. 7, July 1988, pp. 867–872.

    Article  Google Scholar 

  4. 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.

    Google Scholar 

  5. M. R. Meybodi, “Tree Structured Dictionary Machines for VLSI-A Survey,” CS Technical Report, Ohio University, Athens, Ohio, 47501.

    Google Scholar 

  6. M. R. Meybodi, “Implementing Priority Queues on Hypercube Machine,” Annual Parallel Processing Symposium, Fullerton, Califonia, April 4–6, 1990, pp. 132–157.

    Google Scholar 

  7. C. Moler and D. S. Scott, “Communication Utilities For The iPSC.,” iPSC Tech. Report, August 1986.

    Google Scholar 

  8. J. E. Brandenburg and D. S. Scott, “Embeddings of Communication Tree and Grid into Hypercubes,” iPSC Technical Report, August 1986.

    Google Scholar 

  9. V. N. Rao and V. Kumar, “Concurrent Access of Priority Queue,” IEEE Transactions on Computers, Vol. 37, No. 12, Dec. 1988, pp. 1657–1665.

    Article  Google Scholar 

  10. W. J. Dally, A VLSI Architecture for Concurrent Data Structures, Kluwer Academic Publishers, 1987.

    Google Scholar 

  11. M. J. Quinn, Designing Efficient Algorithms for parallel Computers, McGraw Hill, 1987.

    Google Scholar 

  12. C. D. Thompson, “The VLSI Complexity of Sorting,” IEEE Transactions on Computers, Vol. C-32, No. 12, Dec. 1983, pp. 373–386.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. K. H. Cheng, “Efficient Designs of Priority Queue,” Proceedings of International Conference on Parallel Processing, August 1988, pp. 363–366.

    Google Scholar 

  15. 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.

    Article  Google Scholar 

  16. J. D. Ullman, Computational Aspect of VLSI, Computer Science Press, 1984.

    Google Scholar 

  17. T. A. Standish, Data Structures Techniques, Addison Wesley, 1980.

    Google Scholar 

  18. E. Horowitz and A. Sahni, Fundamentals of Data structures, Computer Science Press, 1983.

    Google Scholar 

  19. 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.

    Article  Google Scholar 

  20. 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.

    Article  Google Scholar 

  21. C. S. Ellis, “Concurrent Search and Insertion in AVL Trees,” IEEE Transactions on Computers, Vol. C-29, No. 9 September 1980, pp. 811–817.

    Google Scholar 

  22. C. S. Ellis, “Concurrent Search and Insertion in 2–3 Trees,” Acta Information, Vol. 14, 1980, pp. 63–86.

    Article  Google Scholar 

  23. J. L. Bentley and H. T. Kung, “A Tree Machine for Searching Problems,” Proceeding of the International Conference on Parallel Processing, 1979.

    Google Scholar 

  24. C. E. Leiserson, “Systolic Priority Queues,” Dept. of Computer Science, Carnegie Melon University, Pittsburgh, PA, Report CMU-CS-115, 1979.

    Google Scholar 

  25. 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.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. A. L. Fisher, “Dictionary Machines with Small Number of Processors,” Proceedings of International Symposium on Computer Architectures, 1984, pp. 151–156.

    Google Scholar 

  31. D. Knuth, The Art of Computer Programming, Vol. 3, 1973.

    Google Scholar 

  32. E. M. Reingold and W. J. Hansen, Data Structures, Little, Brown and Company, 1983.

    Google Scholar 

  33. N. J. Nilsson, Problem Solving Methods in Artificial Intelligence, McGraw Hill, 1971.

    Google Scholar 

  34. F. Dehne and N. Santoro, “Optimal VLSI Dictionary Machines on Meshes,” Proceedings of International Conference on Parallel Processing, August 1987, pp. 832–840.

    Google Scholar 

  35. 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.

    Google Scholar 

  36. A. L. Tharp, File Organization and Processing, John Wiley and Sons, 1988.

    Google Scholar 

  37. A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison Wesley, 1974.

    Google Scholar 

  38. R. Nix, “An Evaluation of Pagodas,” Tech. Rep. 164, Computer Science Dept. Yale Univ.

    Google Scholar 

  39. D. D. Sleator and R. E. Tarjan, “Self Adjusting Heaps,” SIAM J. Comput. Vol. 15, No 1, Feb. 1986, pp. 52–59.

    Article  Google Scholar 

  40. J. Vuillemin, “A Data Structure for Manipulating Priority Queues,” Comm. ACM, Vol. 21, No. 4, 1985, pp. 309–315.

    Article  Google Scholar 

  41. M. R. Meybodi, “Binary Search Mesh: A Concurrent Data Structure for Hypercube,” Computer Science Technical Report, Ohio University, Athens, Ohio, Jan. 1992.

    Google Scholar 

  42. M. R. Meybodi “Banyan Heap Machine,” Proceedings of Sixth International Parallel Processing Symposium, University of Southern California, Los Angeles, CA, March 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Daniel Etiemble Jean-Claude Syre

Rights and permissions

Reprints 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

Publish with us

Policies and ethics