Abstract
The implementation of a parallel functional language is discussed. 2DT-programs are composed of local SPMD-computations and global transformations of 2-dimensional data structures leading to a coarse grain compute-communicate scheme. The implementation is made up of virtual processes doing the local computations and abstract processors emulating several virtual processes and taking care of communication. Code and data structures which are common to virtual processes are shared and allocated to abstract processes in order to make context switches cheap. Code that would be executed redundantly by logical processes is converted to abstract code and executed only once. Aims of this effort are maximizing the amount of parallelism, keeping communication cheap and managing parallelism efficiently.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
G.R. Andrews. Paradigms for process interaction in distributed programs. ACM Computing Surveys, 23(1):49–90, 1991.
J. Backus. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Communication of the ACM, 21(8):613–641, 1978.
J. Boyle, R. Butler, T. Disz, B. Glickfeld, E. Lusk, R. Overbeek, J. Patterson, and R. Stevens. Portable Programs for Parallel Processors. Holt, Rinehart and Winston, New York NY, USA, 1987.
Y. Ben-Asher, G. Rünger, A. Schuster, and R. Wilhelm. 2DT-FP: An FP based programming language for efficient parallel programming of multiprocessor networks. In PARLE'93, LNCS 694, pages 42–55. Springer Verlag, 1993.
Y. Ben-Asher, G. Rünger, A. Schuster, and R. Wilhelm. Load balancing and communication for a parallel functional language. Submitted for publication, 1993.
Y. Ben-Asher, H. Seidl, and R. Wilhelm. The TRANSPOSE machine: A global implementation of a parallel graph reducer. In Proc. of Tencon'89, Bombay, 1989.
D.P. Bertsekas and J.N. Tsitsiklis. Parallel and Distributed Computing. Prentice Hall, 1989.
D. Banerjee and C. Walinsky. An optimizing compiler for FP* — a data-parallel dialect of FP. Parallel and Distr. Proc, pages 70–78, 1991.
E.G. Coffman, M.R. Garey, and D.S. Johnson. An Application of BinPacking to Multiprocessor Scheduling. SIAM Journal of Computing, 7(1):1–17, 1978.
M. Danelutto and S. Pelagatti. Parallel implementation of FP using a template-based approach. In M. van Eekelen R. Plasmeijer, editor, Implementation of Functional Languages, pages 7–22, Nijwegen, Sept. 1993.
J. Hill. Vectorizing a non-strict functional language for a data-parallel “Spineless (not so) Tagless G-machine”. In M. van Eekelen R. Plasmeijer, editor, Implementation of Functional Languages, pages 87–100, Nijwegen, Sept. 1993.
G.K. Jouret. Compiling functional languages for SIMD architectures. Parallel and Distributed Processing, pages 79–86, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ben-Asher, Y., Rünger, G., Wilhelm, R., Schuster, A. (1994). Implementing 2DT on a multiprocessor. In: Fritzson, P.A. (eds) Compiler Construction. CC 1994. Lecture Notes in Computer Science, vol 786. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57877-3_8
Download citation
DOI: https://doi.org/10.1007/3-540-57877-3_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57877-2
Online ISBN: 978-3-540-48371-7
eBook Packages: Springer Book Archive