Parallel tree techniques and code optimization

  • Eliezer Dekel
  • Simeon Ntafos
  • Shie-Tung Peng
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 227)


In this paper we present an O(logn) parallel algorithm for the problem of generating optimum code for arithmetic expressions. The model of computation we use is the EREW P-RAM. The algorithm illustrates two general methods for the parallel manipulation of data stored in binary trees. The first (Compression Tree Method) extends the Parallel tree contraction method of Miller and Reif to the EREW P-RAM. The second is a modification of the Euler Path method.


Binary Tree Tree Function Optimal Code Label Function Expression Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AIS]
    B. Awerbuch, A Israeli and Y. Shiloach, "Finding Euler circuits in logarithmic parallel time," Proc. ACM Symp. on Theory of Computing 1984 pp. 249–257Google Scholar
  2. [AV]
    M. Atallah and U. Vishkin, "Finding Euler tours in parallel," J. CSS, 29, 1984, pp. 330–337.Google Scholar
  3. [BB]
    J. L. Baer and D. P. Bovet, "Compilation of arithmetic expressions for parallel computations," Information Processing 68 — North-Holland Publishing Company — Amsterdam, 1969, pp 340–346.Google Scholar
  4. [BV]
    I. Bar-on and U. Vishkin, "Optimal parallel generation of a computation tree form," Proc. on para. comp. IEEE(1984), 490–495.Google Scholar
  5. [DP]
    E. Dekel and S. Peng, "Optimal Parallel Algorithms for Binary Trees," TR — 213, Univ. of Texas at Dallas, Aug. 1985.Google Scholar
  6. [DS1]
    E. Dekel and S. Sahni, "Parallel generation of postfix and tree forms," ACM Trans. on Prog. Lang. and Sys., 5,3 (1983), pp 300–317.Google Scholar
  7. [DS2]
    E. Dekel and S. Sahni, "Binary trees and parallel scheduling algorithms," IEEE Trans. on Comp., Vol. C-32, No. 3, March 1983.Google Scholar
  8. [DUW]
    D. Dolev, E. Upfal and M. Warmuth, "Scheduling trees in parallel," " Proceeding of VLSI: Algorithms and Architectures. International Workship on parallel Computing and VLSI, Italy, 1984.Google Scholar
  9. [F]
    Charles N. Fischer, "On parsing and compiling arithmetic expressions on vector computers," ACM Trans. on Prog. Lang. and Syt. Vol. 2, No. 2, April 1980, pp 203–224.Google Scholar
  10. [He]
    H. Hellerman, "Parallel processing of algebraic expressions," IEEE Tran. on Electronic Computers, Vol. EC-15, No. 1, Feb. 1965, pp 82–91.Google Scholar
  11. [HS]
    E. Horowitz and S. Sahni, "Fundamentals of computer algorithms," Computer Science Press, Inc, 1984.Google Scholar
  12. [MP]
    David E. Muller and Franco P. Preparata, "Restructuring of arithmetic expressions for parallel evaluation," Journal of ACM, Vol. 23, No. 3, July 1976, pp 514–543.Google Scholar
  13. [MR]
    Gary L. Miller and John H. Reif, "Parallel tree contraction and its applications," Proc. 26th Annual Symp. on Foundations of Comp. Sci. 1986, pp 478–489.Google Scholar
  14. [NDP]
    S. Ntafos, E. Dekel and S. Peng, "Compression trees and their application," TR-218, UTD Feb. 1986.Google Scholar
  15. [NS]
    D. Nassimi and S. Sahni, "Finding connected components and connected one on a mesh-connected parallel computer," SIAM J. COMPUT. Vol. 9, No. November 1980.Google Scholar
  16. [Stzzz]
    Harold S. Stone, "One-pass compilation of arithmetic expressions for a parallel processor," Communications of the ACM, Vol. 10, No. 1, April 1967, pp 220–223.Google Scholar
  17. [SU]
    R. Sethi and J. D. Ullman, "The generation of optimal code for arithmetic expressions," J. of ACM, 17, 4 (Oct. 1970), pp 715–728.Google Scholar
  18. [TV]
    R.E. Tarjan and U. Vishkin, "Finding biconnected components and computing tree functions in logarithmic parallel time" FOCS 84Google Scholar
  19. [V1]
    U. Vishkin, "Synchronous Parallel Computation — A Survey," TR-71, Dept. of Computer Science Courant Inst. NYU, 1983.Google Scholar
  20. [V2]
    U. Vishkin, "Implementation of simultaneous memory address access in model that forbid it," TR-210, Israel Ins. of Tech., July, 1981.Google Scholar
  21. [W]
    J. C. Wyllie, "The complexity of parallel computation," Technical Report TR 79-387, Dept. of Computer Science, Cornell Univ., Ithaca, 1979.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • Eliezer Dekel
    • 1
  • Simeon Ntafos
    • 1
  • Shie-Tung Peng
    • 1
  1. 1.Computer Science ProgramThe University of Texas at DallasRichardson

Personalised recommendations