Skip to main content

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

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7078))

Abstract

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.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Engelfriet, J., Vogler, H.: Macro Tree Transducers. J. Comput. Syst. Sci. 31(1), 71–146 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  2. Fulöp, Z., Vogler, H.: Syntax-Directed Semantics: Formal Models Based on Tree Transducers. Springer-Verlag New York, Inc. (1998)

    Google Scholar 

  3. Reif, J.H. (ed.): Synthesis of Parallel Algorithms. Morgan Kaufmann Publishers (1993)

    Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  5. Gibbons, J., Cai, W., Skillicorn, D.B.: Efficient Parallel Algorithms for Tree Accumulations. Sci. Comput. Program. 23(1), 1–18 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  6. Engelfriet, J., Maneth, S.: Macro Tree Transducers, Attribute Grammars, and MSO Definable Tree Translations. Inf. Comput. 154(1), 34–91 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  7. Comon, H., Dauchet, M., Gilleron, R., Jacquemard, F., Lugiez, D., Löding, C., Tison, S., Tommasi, M.: Tree Automata Techniques and Applications (2007), http://www.grappa.univ-lille3.fr/tata

  8. Skillicorn, D.B.: Structured Parallel Computation in Structured Documents. J. UCS 3(1), 42–68 (1997)

    Google Scholar 

  9. Knuth, D.E.: Semantics of Context-Free Languages. Math. Syst. Theor. 2(2), 127–145 (1968)

    Article  MathSciNet  MATH  Google Scholar 

  10. Engelfriet, J., Maneth, S.: Macro Tree Translations of Linear Size Increase Are MSO Definable. SIAM J. Comput. 32(4), 950–1006 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  13. Engelfriet, J., Vogler, H.: High Level Tree Transducers and Iterated Pushdown Tree Transducers. Acta Inf. 26(1/2), 131–192 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  14. Engelfriet, J., Vogler, H.: Modular Tree Transducers. Theor. Comput. Sci. 78(2), 267–303 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  15. Milo, T., Suciu, D., Vianu, V.: Typechecking for XML Transformers. J. Comput. Syst. Sci. 66(1), 66–97 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  16. Engelfriet, J., Maneth, S.: A Comparison of Pebble Tree Transducers with Macro Tree Transducers. Acta Inf. 39(9), 613–698 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  17. Fülöp, Z.: On Attributed Tree Transducers. Acta Cybern. 5, 261–279 (1981)

    MathSciNet  MATH  Google Scholar 

  18. Perst, T., Seidl, H.: Macro Forest Transducers. Inf. Process. Lett. 89(3), 141–149 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  19. Skillicorn, D.B.: Parallel Implementation of Tree Skeletons. J. Parallel Distrib. Comput. 39(2), 115–125 (1996)

    Article  MATH  Google Scholar 

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

    Chapter  Google Scholar 

  22. Matsuzaki, K., Hu, Z., Takeichi, M.: Parallel Skeletons for Manipulating General Trees. Parallel Comput. 32(7-8), 590–603 (2006)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  26. Klaiber, A.C., Gokhale, M.: Parallel Evaluation of Attribute Grammars. IEEE Trans. Parallel Distrib. Syst. 3(2), 206–220 (1992)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Saraiva, J., Henriques, P.: Concurrent Attribute Evaluation. Comput. Syst. Eng. 6(4-5), 451–457 (1995)

    Article  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Morihata, A. (2011). Macro Tree Transformations of Linear Size Increase Achieve Cost-Optimal Parallelism. In: Yang, H. (eds) Programming Languages and Systems. APLAS 2011. Lecture Notes in Computer Science, vol 7078. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25318-8_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-25318-8_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-25317-1

  • Online ISBN: 978-3-642-25318-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics