Skip to main content

Profiling Parallel Functional Computations (Without Parallel Machines)

  • Chapter

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

Pick up a textbook on functional programming. Somewhere amidst the introductory remarks the author will almost certainly claim that functional languages are well suited for programming parallel computers. But are they? Not, it would seem, without the use of annotations to indicate where parallel evaluation should be performed. Such annotations have at least two advantages over a laissez-faire approach to parallelism. Firstly, they make it easier to reason about the program’s behaviour when it is run on a parallel machine. The annotated program describes both what is to be computed and how it is to be done, while maintaining a clean separation between the two aspects. Secondly, annotations mean that the compiler does not have to tackle the difficult problem of determining a suitable parallel evaluation strategy for the program. That remains the programmer’s responsibility.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. L. Augustsson and T. Johnsson. Parallel Graph Reduction with the (v,G)-machine. In Proceedings of the 1989 Conference on Functional Programming Languages and Computer Architecture, pages 202–213. ACM Press, September 1989.

    Google Scholar 

  2. L. Augustsson and T. Johnsson. The Chalmers Lazy-ML Compiler. Computer Journal, 32(2):127–141, April 1989.

    Article  Google Scholar 

  3. C. Clack and S. L. Peyton Jones. The Four-Stroke Reduction Engine. In Proceedings of the 1986 ACM Symposium on LISP and Functional Programming, pages 220–232. ACM Press, August 1986.

    Google Scholar 

  4. D. L. Eager, J. Zahorjan, and E. D. Lazowska. Speedup Versus Efficiency in Parallel Systems. Technical Report 86-12, Department of Computational Science, University of Saskatchewan, August 1986.

    Google Scholar 

  5. A. Gibson and W. Rytter. Efficient Parallel algorithms. Cambridge University Press, 1988.

    Google Scholar 

  6. P. Hudak. Para-functional Programming in Haskell. In B. K. Szymanski, editor, Parallel Functional Languages and Compilers, chapter 5, pages 159–196. Addison-Wesley (Reading), 1991.

    Google Scholar 

  7. P. Hudak, S. L. Peyton Jones, Arvind, B. Boutel, J. Fairbairn, J. Fasel, M. Guzman, K. Hammond, J. Hughes, T. Johnsson, R. Kieburtz, R. S. Nikhil, W. Partain, and J. Peterson. Report on the Functional Programming Language Haskell, Version 1.2. SIGPLAN Notices, 27(5), May 1992.

    Google Scholar 

  8. P. H. J. Kelly. Functional Programming for Loosely-Coupled Multiprocessors. MIT Press, 1989.

    Google Scholar 

  9. S. L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.

    Google Scholar 

  10. R. Plasmeijer and M. van Eekelen. Functional Programming and Parallel Graph Rewriting. Addison Wesley, 1993.

    Google Scholar 

  11. P. Roe. Parallel Programming Using Functional Languages. PhD thesis, University of Glasgow, April 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1994 British Computer Society

About this chapter

Cite this chapter

Runciman, C., Wakeling, D. (1994). Profiling Parallel Functional Computations (Without Parallel Machines). In: O’Donnell, J.T., Hammond, K. (eds) Functional Programming, Glasgow 1993. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3236-3_19

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3236-3_19

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19879-6

  • Online ISBN: 978-1-4471-3236-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics