Abstract
We have developed a parallelising compiler for Standard ML which allows instantiation of a fixed set of higher order functions with equivalent parallel algorithmic skeletons. The compiler is intended to be both portable and semi-automatic. Here we discuss the performance of the code generated by the compiler, for five exemplar programs on four MIMD parallel machines. Results show consistent cross-platform behaviour and good relative speedup for small numbers of processors but with limited scalability to larger numbers of processors.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
J. M. Bell, F. Bellegarde, and J. Hook. Type-driven defunctionalization. In Proceedings of the ACM SIGPLAN ICFP’ 97, pages 25–37. ACM, Jun 1997.
L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ML Kit (Version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
M. I. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman, 1989.
R. Coudarcher, J. Serot, and J.-P. Derutin. Implementation of a skeleton-based parallel programming environment supporting arbitrary nesting. In F. Meuller, editor, High-Level Parallel Programming Models and Supportive Environments, volume 2026 of LNCS. Springer-Verlag, Apr 2001.
G. Cousineau and M. Mauny. The Functional Approach to Programming. Cambridge University Press, Cambridge, 1998.
W. M. Gentleman. Some Complexity Results for Matrix Computations on Parallel Processors. JACM, 25:112–115, 1978.
M. Hamdan. A Combinational Framework for Parallel Programming Using Algorithmic Skeletons. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, 2000.
K. Hammond and G. Michaelson. Research Directions in Parallel Functional Programming. Springer, 1999.
Christoph A. Herrmann and Christian Lengauer. The hdc compiler project. In Alain Darte, Georges-André Silber, and Yves Robert, editors, Proc. Eighth Int. Workshop on Compilers for Parallel Computers (CPC 2000), pages 239–254. LIP, ENS Lyon, 2000.
T. Johnsson. “Lambda Lifting: transforming programs to recursive equations”, volume 201 of LNCS, pages 190–302. Springer-Verlag, 1985.
Ulrike Klusik, Rita Loogen, Steffen Priebe, and Fernando Rubio. Implementation skeletons in eden: Low-e.ort parallel programming. In 12th Int. Workshop on Implementation of Functional Languages (IFL 2000), LNCS. Springer, 2000. to appear.
H-W. Loidl, P.W. Trinder, K. Hammond, S.B. Junaidu, R.G. Morgan, and S.L. Peyton Jones. Engineering Parallel Symbolic Programs in GPH. Concurrency—Practice and Experience, 11:701–752, 1999.
Message Passing Interface Forum. MPI: A Message-Passing Interface Standard. International Journal of Supercomputer Applications and High Performance Computing, 8(3/4), 1994.
G. Michaelson and N. Scaife. “parallel functional island model genetic algorithms through nested skeletons”. In M. Mohnen and P. Koopman, editors, “Proceedings of 12th International Workshop on the Implementation of Functional Languages”, pages 307–313, Aachen, September 2000. ISSN 0935-3232.
G. Michaelson, N. Scaife, P. Bristow, and P. King. Nested algorithmic skeletons from higher order functions. Parallel Algorithms and Applications special issue on High Level Models and Languages for Parallel Processing, 16(2–3), 2001.
R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, 1990.
P. Surry. RPL2 Functional Specification. Technical Report EPCC-PAP-RPL2-FS 1.0, University of Edinburgh/British Gas, 1993.
P. W. Trinder, K. Hammond, H-W. Loidl, and S. L. Peyton-Jones. Algorithm + strategy = parallelism. Journal of Functional Programming, 8(1):23–60, Jan 1998.
A.M. Wallace, G. J. Michaelson, N. Scaife, and W. J. Austin. A Dual Source, Parallel Architecture for Computer Vision. The Journal of Supercomputing, 12(1/2):37–56, Jan/Feb 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Scaife, N., Michaelson, G., Horiguchi, S. (2002). Comparative Cross-Platform Performance Results from a Parallelizing SML Compiler. In: Arts, T., Mohnen, M. (eds) Implementation of Functional Languages. IFL 2001. Lecture Notes in Computer Science, vol 2312. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46028-4_9
Download citation
DOI: https://doi.org/10.1007/3-540-46028-4_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43537-2
Online ISBN: 978-3-540-46028-2
eBook Packages: Springer Book Archive