Macro Tree Transformations of Linear Size Increase Achieve Cost-Optimal Parallelism

  • Akimasa Morihata
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7078)


This paper studies parallel evaluation of tree transformations, in particular accumulative ones. Accumulation is a ubiquitous programming pattern. However, since accumulation usually imposes restrictions on evaluation orders, accumulative tree transformations appear to be unsuitable for parallel evaluation. We propose a parallel evaluation method for a large class of tree-to-tree recursive functions, which may contain accumulations, higher-order terms, and function compositions. Our parallel evaluation method achieves optimal parallel speedup if the transformation is of linear size increase, namely, the size of each output is linearly bounded by the size of the corresponding input. Our result is based on the theory of macro tree transducers and that of parallel tree contractions. The main contribution is to reveal a good collaboration between them.


Recursive Function Recursive Call Input Tree Tree Automaton Parallel Evaluation 
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. 1.
    Engelfriet, J., Vogler, H.: Macro Tree Transducers. J. Comput. Syst. Sci. 31(1), 71–146 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Fulöp, Z., Vogler, H.: Syntax-Directed Semantics: Formal Models Based on Tree Transducers. Springer-Verlag New York, Inc. (1998)Google Scholar
  3. 3.
    Reif, J.H. (ed.): Synthesis of Parallel Algorithms. Morgan Kaufmann Publishers (1993)Google Scholar
  4. 4.
    Abrahamson, K.R., Dadoun, N., Kirkpatrick, D.G., Przytycka, T.M.: A Simple Parallel Tree Contraction Algorithm. J. Algorithms 10(2), 287–302 (1989)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Gibbons, J., Cai, W., Skillicorn, D.B.: Efficient Parallel Algorithms for Tree Accumulations. Sci. Comput. Program. 23(1), 1–18 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Engelfriet, J., Maneth, S.: Macro Tree Transducers, Attribute Grammars, and MSO Definable Tree Translations. Inf. Comput. 154(1), 34–91 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Comon, H., Dauchet, M., Gilleron, R., Jacquemard, F., Lugiez, D., Löding, C., Tison, S., Tommasi, M.: Tree Automata Techniques and Applications (2007),
  8. 8.
    Skillicorn, D.B.: Structured Parallel Computation in Structured Documents. J. UCS 3(1), 42–68 (1997)Google Scholar
  9. 9.
    Knuth, D.E.: Semantics of Context-Free Languages. Math. Syst. Theor. 2(2), 127–145 (1968)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Engelfriet, J., Maneth, S.: Macro Tree Translations of Linear Size Increase Are MSO Definable. SIAM J. Comput. 32(4), 950–1006 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Maneth, S.: The Macro Tree Transducer Hierarchy Collapses for Functions of Linear Size Increase. In: Pandya, P.K., Radhakrishnan, J. (eds.) FSTTCS 2003. LNCS, vol. 2914, pp. 326–337. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Bloem, R., Engelfriet, J.: A Comparison of Tree Transductions Defined by Monadic Second Order Logic and by Attribute Grammars. J. Comput. Syst. Sci. 61(1), 1–50 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Engelfriet, J., Vogler, H.: High Level Tree Transducers and Iterated Pushdown Tree Transducers. Acta Inf. 26(1/2), 131–192 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Engelfriet, J., Vogler, H.: Modular Tree Transducers. Theor. Comput. Sci. 78(2), 267–303 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Milo, T., Suciu, D., Vianu, V.: Typechecking for XML Transformers. J. Comput. Syst. Sci. 66(1), 66–97 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Engelfriet, J., Maneth, S.: A Comparison of Pebble Tree Transducers with Macro Tree Transducers. Acta Inf. 39(9), 613–698 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Fülöp, Z.: On Attributed Tree Transducers. Acta Cybern. 5, 261–279 (1981)MathSciNetzbMATHGoogle Scholar
  18. 18.
    Perst, T., Seidl, H.: Macro Forest Transducers. Inf. Process. Lett. 89(3), 141–149 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Skillicorn, D.B.: Parallel Implementation of Tree Skeletons. J. Parallel Distrib. Comput. 39(2), 115–125 (1996)CrossRefzbMATHGoogle Scholar
  20. 20.
    Hu, Z., Takeichi, M., Iwasaki, H.: Diffusion: Calculating Efficient Parallel Programs. In: Proc. the 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pp. 85–94. ACM, New York (1999)Google Scholar
  21. 21.
    Matsuzaki, K., Hu, Z., Takeichi, M.: Parallelization with Tree Skeletons. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 789–798. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  22. 22.
    Matsuzaki, K., Hu, Z., Takeichi, M.: Parallel Skeletons for Manipulating General Trees. Parallel Comput. 32(7-8), 590–603 (2006)CrossRefGoogle Scholar
  23. 23.
    Boehm, H.J., Zwaenepoel, W.: Parallel Attribute Grammar Evaluation. In: Proc. the 7th International Conference on Distributed Computing Systems, pp. 347–355. IEEE Computer Society, Los Alamitos (1987)Google Scholar
  24. 24.
    Kuiper, M.F., Swierstra, S.D.: Parallel Attribute Evaluation: Structure of Evaluators and Detection of Parallelism. In: Deransart, P., Jourdan, M. (eds.) Attribute Grammars and their Applications. LNCS, vol. 461, pp. 61–75. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  25. 25.
    Jourdan, M.: A Survey of Parallel Attribute Evaluation Methods. In: Alblas, H., Melichar, B. (eds.) SAGA School 1991. LNCS, vol. 545, pp. 234–255. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  26. 26.
    Klaiber, A.C., Gokhale, M.: Parallel Evaluation of Attribute Grammars. IEEE Trans. Parallel Distrib. Syst. 3(2), 206–220 (1992)CrossRefGoogle Scholar
  27. 27.
    Klein, E.: Parallel Ordered Attribute Grammars. In: Proc. the 1992 International Conference on Computer Languages, pp. 106–116. IEEE Computer Society, Los Alamitos (1992)CrossRefGoogle Scholar
  28. 28.
    Reps, T.W.: Scan Grammars: Parallel Attribute Evaluation via Data-Parallelism. In: Proc. the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 367–376. ACM, New York (1993)Google Scholar
  29. 29.
    Saraiva, J., Henriques, P.: Concurrent Attribute Evaluation. Comput. Syst. Eng. 6(4-5), 451–457 (1995)CrossRefGoogle Scholar
  30. 30.
    Morihata, A., Matsuzaki, K.: Balanced Trees Inhabiting Functional Parallel Programming. In: The 16th ACM SIGPLAN International Conference on Functional Programming (accepted, 2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Akimasa Morihata
    • 1
  1. 1.Research Institute of Electrical CommunicationTohoku UniversityJapan

Personalised recommendations