Skip to main content

Parallelizing tree algorithms: Overhead vs. parallelism

  • And Now, for Something Completely Different
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1994)

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

  • 139 Accesses

Abstract

We consider techniques to efficiently exploit large scale parallel execution of tree operations. Both arbitrary and fixed order operations on trees are considered. An arbitrary order execution must be equivalent to a sequential execution of these operations in some order, while a fixed order execution specifies a specific order.

Arbitrary order versions are significantly more parallel than fixed order; the parallelism and overheads of all of tree and graph interference, both arbitrary and fixed order are characterized, and the tradeoffs explored.

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. S. Ahuja, N. Carriero, and David Gelertner. Linda and friends. Computer, 19(8):26–34, August, 1986.

    Google Scholar 

  2. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The design and analysis of computer algorithms. Addison-Wesley, Reading, Mass., 1975.

    Google Scholar 

  3. Martin C. Carlisle, Ann Rogers, John H. Reppy, and Laurie J. Hendren. Early experiences with olden. In Uptal Banerjee, David Gelernter, Alex Nicolau, and David Padua, editors, Languages and Compilers for Parallel Computing, pages 1–20. Spring-Verlag, 1993.

    Google Scholar 

  4. David R. Chase, Mark Wegman, and F. K. Zadek. Analysis of pointers and structures. In Programming Language Design and Implementation, pages 296–310. ACM, June 1990.

    Google Scholar 

  5. W. Ludwell Harrison. Generalized iteration space and the parallelization of symbolic languages. In Ian Foster and Evan Tick, editors, Workshop on Computation of Symbolic Languages for Parallel Computers. Argonne National Labs, October 1992.

    Google Scholar 

  6. Laurie J. Hendren, Joseph Hummel, and Alexandru Nicolau. Abstraction for recursive pointer data structures: Improving the analysis and transformation of imperative languages. In Programming Language Design and Implementation, pages 249–260. ACM, June 1992.

    Google Scholar 

  7. Morris J. Katz. Paratran: A transparent, transaction based runtime mechanism for the parallel execution of scheme. Master's thesis, MIT, June 1986. Masters Thesis.

    Google Scholar 

  8. James R. Larus and Paul N. Hilfinger. Detecting conflicts between structure accesses. In SIGPLAN'88 Conference on Programming Language Design and Implementation, pages 21–34, June 1988.

    Google Scholar 

  9. Jacob T. Schwartz, R. B. K. Dewar, E. Dubinsky, and E. Schonberg. Programming with sets: an introduction to SETL. Springer-Verlag, New York, New York, 1986. setl book.

    Google Scholar 

  10. Joel H. Saltz, Ravi Mirchandaney, and Kay Crowley. Run-time parallelization and scheduling of loops. IEEE Trans. on Computer, 40(5):603–612, May 1991.

    Google Scholar 

  11. Jon A. Solworth. Programming language constructs for highly parallel operations on lists. The Journal of Supercomputing, 2:331–347, 1988.

    Google Scholar 

  12. Jon A. Solworth. The PARSEQ project: An interim report. In Languages and Compilers for Parallel Computing, pages 490–510. Pittman/MIT, 1990.

    Google Scholar 

  13. Jon A. Solworth. On the performance of parallel lists. In Advances in Languages and Compilers for Parallel Computing, pages 152–171. Pittman/MIT, 1991.

    Google Scholar 

  14. Jon A. Solworth. On the feasibility of dynamic partionioning of pointer based data structures. In 5th Workshop on Programming Languages and Compilers, pages 82–96, August 1992.

    Google Scholar 

  15. Jon A. Solworth and Bryan Reagan. Arbitrary order operations on trees. In Uptal Banerjee, David Gelernter, Alex Nicolau, and David Padua, editors, Workshop on Programming Languages and Compilers for Parallel Processing, pages 21–36. Springer-Verlag, 1993.

    Google Scholar 

  16. Daniel Dominic Sleator and Robert Endre Tarjan. Self-adjusting binary search trees. JACM, pages 652–686, July 1985.

    Google Scholar 

  17. Michael Wolfe. Doany: Not just another parallel loop. In 5th Workshop on Programming Languages and Compilers, pages 421–433, August 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Keshav Pingali Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Solworth, J.A., Reagan, B.B. (1995). Parallelizing tree algorithms: Overhead vs. parallelism. In: Pingali, K., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1994. Lecture Notes in Computer Science, vol 892. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0025895

Download citation

  • DOI: https://doi.org/10.1007/BFb0025895

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58868-9

  • Online ISBN: 978-3-540-49134-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics