Skip to main content

Comparative Cross-Platform Performance Results from a Parallelizing SML Compiler

  • Conference paper
  • First Online:
Book cover Implementation of Functional Languages (IFL 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2312))

Included in the following conference series:

  • 160 Accesses

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.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Google Scholar 

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

    Google Scholar 

  3. M. I. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman, 1989.

    Google Scholar 

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

    Chapter  Google Scholar 

  5. G. Cousineau and M. Mauny. The Functional Approach to Programming. Cambridge University Press, Cambridge, 1998.

    MATH  Google Scholar 

  6. W. M. Gentleman. Some Complexity Results for Matrix Computations on Parallel Processors. JACM, 25:112–115, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  7. M. Hamdan. A Combinational Framework for Parallel Programming Using Algorithmic Skeletons. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, 2000.

    Google Scholar 

  8. K. Hammond and G. Michaelson. Research Directions in Parallel Functional Programming. Springer, 1999.

    Google Scholar 

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

    Google Scholar 

  10. T. Johnsson. “Lambda Lifting: transforming programs to recursive equations”, volume 201 of LNCS, pages 190–302. Springer-Verlag, 1985.

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  13. Message Passing Interface Forum. MPI: A Message-Passing Interface Standard. International Journal of Supercomputer Applications and High Performance Computing, 8(3/4), 1994.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  16. R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, 1990.

    Google Scholar 

  17. P. Surry. RPL2 Functional Specification. Technical Report EPCC-PAP-RPL2-FS 1.0, University of Edinburgh/British Gas, 1993.

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics