Abstract
An effective execution model is a vital component of any general-purpose implicitly parallel programming system. We introduce SLAM (Spreading Load with Active Messages), an execution model which overcomes many of the problems with previous approaches. SLAM is effcient enough to operate at low granularity without hardware support, andhas other necessary properties. Compiling for SLAM presents an unusual set of problems, and we describe how this is done from UFOLite, a simplified version of the United Functions and Objects programming language. Linear speedups are obtained for a program with irregular, fine-grain, parallelism on stock hardware.
The work described in this paper was funded by EPSRC grant GR/M10861
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
J. Sargeant: Uniting Functional and Object-Oriented Programming, International Symposium on Object Technologies for Advanced Software, volume 742 of LNCS, pages 1–26. Springer-Verlag, 1993
J. Sargeant, C.C. Kirkham, S. Anderson: Towards a Computational Model for UFO proc. PACT94, Montreal, Canada, IFIP transactions A-50, North Holland, August 1994
J-L. Gaudiot & L. Bic (editors):Advanced Topics in Data Flow Computing, published by Prentice-Hall, 1991.
Arvind & D.E. Culler: Managing Resources in a Parallel Machine, Fifth Generation Computer Architectures, J.V. Woods ed., pages 103–121, North Holland 1986.
C.A. Ruggiero & J. Sargeant, Control of Parallelism in the Manchester Dataflow Machine, in Proc. 1987 Conference on Functional Programming Languages andComputer Architecture, volume 274 of LNCS 274, pages 1–15, Springer-Verlag, 1987.
E. Mohr, A. Kranz, R.H. Halstead: Lazy Task Creation: A Technique for Increasing the Granularity of Parallel Programs ACM Conference on Lisp and Functional Programming, Nice, France, June 1990.
P.S. Wong: Parallel Evaluation of Functional Programs. PhD thesis, Department of Computer Science, University of Manchester 1993.
S. Hwang: Dynamic Control of Parallel Task Granularity PhD thesis, Department of Computer Science, University of Manchester 1996.
T. von Eicken, D.E. Culler, S.C. Goldstein & K.E. Schauser: Active Messages: a Mechanism for Integrated Communication and Computation. proc 19th International Symposium on Computer Architecture, pages 256–266, 1992.
J. Sargeant: The SLAM Report, draft technical report, department of Computer Science, University of Manchester, 1997. Linkedfrom the UFO home page, [2].
N.G. Shivaratri & P. Krueger: Two Adaptive Location Policies for Global Scheduling Algorithms 10th International Conference on DistributedComputing Systems, June 1990.
J. R. Seward, J. Sargeant, S.J. Hooton, C.C. Kirkham & I. Watson: Optimised Compilation of UFO Proceedings of RWC97, Tokyo, Japan, 1997.
J. Sargeant: Improving Compilation of Implicit Parallel Programs by Using Runtime Information, Proc. Workshop on Compilation of Symbolic Languages for Parallel Computers, San Diego, 1991, Argonne National Laboratory tech. report ANL-91/34, pages 129-148.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sargeant, J., Kirkham, C., Watson, I. (2001). Exploiting Implicit Parallelism in Functional Programs with SLAM. In: Mohnen, M., Koopman, P. (eds) Implementation of Functional Languages. IFL 2000. Lecture Notes in Computer Science, vol 2011. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45361-X_2
Download citation
DOI: https://doi.org/10.1007/3-540-45361-X_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41919-8
Online ISBN: 978-3-540-45361-1
eBook Packages: Springer Book Archive