Advertisement

Concurrent data structures for hypercube machine

  • M. R. Meybodi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 605)

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.

Keywords and Phrases

Concurrent Data Structure Hypercube Banyan Heap Parallel Algorithm 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 3.
    Y. Saad and M. Schultz, “Topological Properties of Hypercubes,” IEEE Transactions of Computers, Vol. 37, No. 7, July 1988, pp. 867–872.CrossRefGoogle Scholar
  4. 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. 5.
    M. R. Meybodi, “Tree Structured Dictionary Machines for VLSI-A Survey,” CS Technical Report, Ohio University, Athens, Ohio, 47501.Google Scholar
  6. 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. 7.
    C. Moler and D. S. Scott, “Communication Utilities For The iPSC.,” iPSC Tech. Report, August 1986.Google Scholar
  8. 8.
    J. E. Brandenburg and D. S. Scott, “Embeddings of Communication Tree and Grid into Hypercubes,” iPSC Technical Report, August 1986.Google Scholar
  9. 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.CrossRefGoogle Scholar
  10. 10.
    W. J. Dally, A VLSI Architecture for Concurrent Data Structures, Kluwer Academic Publishers, 1987.Google Scholar
  11. 11.
    M. J. Quinn, Designing Efficient Algorithms for parallel Computers, McGraw Hill, 1987.Google Scholar
  12. 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. 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. 14.
    K. H. Cheng, “Efficient Designs of Priority Queue,” Proceedings of International Conference on Parallel Processing, August 1988, pp. 363–366.Google Scholar
  15. 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.CrossRefGoogle Scholar
  16. 16.
    J. D. Ullman, Computational Aspect of VLSI, Computer Science Press, 1984.Google Scholar
  17. 17.
    T. A. Standish, Data Structures Techniques, Addison Wesley, 1980.Google Scholar
  18. 18.
    E. Horowitz and A. Sahni, Fundamentals of Data structures, Computer Science Press, 1983.Google Scholar
  19. 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.CrossRefGoogle Scholar
  20. 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.CrossRefGoogle Scholar
  21. 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. 22.
    C. S. Ellis, “Concurrent Search and Insertion in 2–3 Trees,” Acta Information, Vol. 14, 1980, pp. 63–86.CrossRefGoogle Scholar
  23. 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. 24.
    C. E. Leiserson, “Systolic Priority Queues,” Dept. of Computer Science, Carnegie Melon University, Pittsburgh, PA, Report CMU-CS-115, 1979.Google Scholar
  25. 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. 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. 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. 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. 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. 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. 31.
    D. Knuth, The Art of Computer Programming, Vol. 3, 1973.Google Scholar
  32. 32.
    E. M. Reingold and W. J. Hansen, Data Structures, Little, Brown and Company, 1983.Google Scholar
  33. 33.
    N. J. Nilsson, Problem Solving Methods in Artificial Intelligence, McGraw Hill, 1971.Google Scholar
  34. 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. 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. 36.
    A. L. Tharp, File Organization and Processing, John Wiley and Sons, 1988.Google Scholar
  37. 37.
    A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison Wesley, 1974.Google Scholar
  38. 38.
    R. Nix, “An Evaluation of Pagodas,” Tech. Rep. 164, Computer Science Dept. Yale Univ.Google Scholar
  39. 39.
    D. D. Sleator and R. E. Tarjan, “Self Adjusting Heaps,” SIAM J. Comput. Vol. 15, No 1, Feb. 1986, pp. 52–59.CrossRefGoogle Scholar
  40. 40.
    J. Vuillemin, “A Data Structure for Manipulating Priority Queues,” Comm. ACM, Vol. 21, No. 4, 1985, pp. 309–315.CrossRefGoogle Scholar
  41. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • M. R. Meybodi
    • 1
  1. 1.Computer Science DepartmentOhio UniversityAthens

Personalised recommendations