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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Engelfriet, J., Vogler, H.: Macro Tree Transducers. J. Comput. Syst. Sci. 31(1), 71–146 (1985)
Fulöp, Z., Vogler, H.: Syntax-Directed Semantics: Formal Models Based on Tree Transducers. Springer-Verlag New York, Inc. (1998)
Reif, J.H. (ed.): Synthesis of Parallel Algorithms. Morgan Kaufmann Publishers (1993)
Abrahamson, K.R., Dadoun, N., Kirkpatrick, D.G., Przytycka, T.M.: A Simple Parallel Tree Contraction Algorithm. J. Algorithms 10(2), 287–302 (1989)
Gibbons, J., Cai, W., Skillicorn, D.B.: Efficient Parallel Algorithms for Tree Accumulations. Sci. Comput. Program. 23(1), 1–18 (1994)
Engelfriet, J., Maneth, S.: Macro Tree Transducers, Attribute Grammars, and MSO Definable Tree Translations. Inf. Comput. 154(1), 34–91 (1999)
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
Skillicorn, D.B.: Structured Parallel Computation in Structured Documents. J. UCS 3(1), 42–68 (1997)
Knuth, D.E.: Semantics of Context-Free Languages. Math. Syst. Theor. 2(2), 127–145 (1968)
Engelfriet, J., Maneth, S.: Macro Tree Translations of Linear Size Increase Are MSO Definable. SIAM J. Comput. 32(4), 950–1006 (2003)
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)
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)
Engelfriet, J., Vogler, H.: High Level Tree Transducers and Iterated Pushdown Tree Transducers. Acta Inf. 26(1/2), 131–192 (1988)
Engelfriet, J., Vogler, H.: Modular Tree Transducers. Theor. Comput. Sci. 78(2), 267–303 (1991)
Milo, T., Suciu, D., Vianu, V.: Typechecking for XML Transformers. J. Comput. Syst. Sci. 66(1), 66–97 (2003)
Engelfriet, J., Maneth, S.: A Comparison of Pebble Tree Transducers with Macro Tree Transducers. Acta Inf. 39(9), 613–698 (2003)
Fülöp, Z.: On Attributed Tree Transducers. Acta Cybern. 5, 261–279 (1981)
Perst, T., Seidl, H.: Macro Forest Transducers. Inf. Process. Lett. 89(3), 141–149 (2004)
Skillicorn, D.B.: Parallel Implementation of Tree Skeletons. J. Parallel Distrib. Comput. 39(2), 115–125 (1996)
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)
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)
Matsuzaki, K., Hu, Z., Takeichi, M.: Parallel Skeletons for Manipulating General Trees. Parallel Comput. 32(7-8), 590–603 (2006)
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)
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)
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)
Klaiber, A.C., Gokhale, M.: Parallel Evaluation of Attribute Grammars. IEEE Trans. Parallel Distrib. Syst. 3(2), 206–220 (1992)
Klein, E.: Parallel Ordered Attribute Grammars. In: Proc. the 1992 International Conference on Computer Languages, pp. 106–116. IEEE Computer Society, Los Alamitos (1992)
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)
Saraiva, J., Henriques, P.: Concurrent Attribute Evaluation. Comput. Syst. Eng. 6(4-5), 451–457 (1995)
Morihata, A., Matsuzaki, K.: Balanced Trees Inhabiting Functional Parallel Programming. In: The 16th ACM SIGPLAN International Conference on Functional Programming (accepted, 2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)