Skip to main content

High-performance parallel graph reduction

  • Submitted Presentations
  • Conference paper
  • First Online:
PARLE '89 Parallel Architectures and Languages Europe (PARLE 1989)

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

Abstract

Parallel graph reduction is an attractive implementation for functional programming languages because of its simplicity and inherently distributed nature. This paper outlines some of the issues raised by parallel compiled graph reduction, and presents the approach we have adopted for our parallel machine, GRIP.

We concentrate on two main areas:

  • •Static and dynamic techniques to control the growth of parallelism, so as to provide enough parallelism of an appropriate granularity to keep the machine busy without swamping it.

  • •Dynamic techniques to exploit the memory hierarchy, so that frequently-referenced data is held near to the processor that references it.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Henry Baker, “List processing in real time on a serial computer”, CACM 21(4) pp. 280–294 (Apr 1978).

    Google Scholar 

  2. TH Brus, MCJD van Eckelen, MO van Leer, and MJ Plasmeijer, “Clean — a language for functional graph rewriting”, pp. 364–384 in Functional programming languages and computer architecture, Portland, ed. G Kahn, LNCS 274, Springer Verlag (Sept 1987).

    Google Scholar 

  3. Geoff Burn, Simon L Peyton Jones, and John Robson, “The Spineless G-machine”, pp. 244–258 in Proc ACM Conference on Lisp and Functional Programming, Snowbird (July 1988).

    Google Scholar 

  4. F Warren Burton, “Speculative computation, parallelism and functional programming”, IEEE Trans Computers C-34(12) pp. 1190–1193 (Dec 1985).

    Google Scholar 

  5. M Castan and et al, “MARS — a multiprocessor machine for parallel graph reduction”, in Proc 19th Hawaii Intl Conf on System Sciences (1986).

    Google Scholar 

  6. Chris Clack and Simon L Peyton Jones, “The four-stroke reduction engine”, Proc ACM Conference on Lisp and Functional Programming, pp. 220–232 (Aug 1986).

    Google Scholar 

  7. G Cousineau, PL Curien, and M Mauny, “The Categorical Abstract Machine”, pp. 50–64 in Functional Programming Languages and Computer Architecture, Nancy, ed. JP Jouannaud, LNCS 201, Springer Verlag (Sept 1985).

    Google Scholar 

  8. John Darlington and Mike Reeve, “ALICE — a multiprocessor reduction machine for the parallel evaluation of applicative languages”, pp. 66–76 in Proc Conference on Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, ACM (Oct 1981).

    Google Scholar 

  9. DL Eager, J Zahorjan, and ED Lazowska, “Speedup versus efficiency in parallel systems”, Tech Report 86-08-01, University of Sasketchewan (Aug 1986).

    Google Scholar 

  10. DL Eager, ED Lazowska, and J Zahorjan, “Adaptive load sharing in homogeneous distributed systems”, IEEE Trans Software Engineering SE-12(5) pp. 662–675 (May 1986).

    Google Scholar 

  11. Jon Fairbairn and Stuart Wray, “TIM — a simple lazy abstract machine to execute supercombinators”, pp. 34–45 in Proc IFIP conference on Functional Programming Languages and Computer Architecture, Portland, ed. G Kahn, Springer Verlag LNCS 274 (Sept 1987).

    Google Scholar 

  12. Benjamin F Goldberg, “Multiprocessor execution of functional programs”, YALEU/DCS/RR-618, Dept of Computer Science, Yale University (April 1988).

    Google Scholar 

  13. RH Halstead, “An assessment of Multilisp — lessons from experience”, International Journal of Parallel Programming 15(6) (Dec 1986).

    Google Scholar 

  14. PG Harrison and M Reeve, “The parallel graph reduction machine ALICE”, pp. 181–202 in Graph reduction: proceedings of a workshop, Santa Fe, ed. RM Keller, LNCS 279, Springer Verlag (Oct 1986).

    Google Scholar 

  15. Paul Hudak, “Distributed task and memory management”, pp. 277–289 in Symposium on Principles of Distributed Computing, ed. NA Lynch et al, ACM (Aug 1983).

    Google Scholar 

  16. Thomas Johnsson, “Compiling lazy functional languages”, PhD thesis, PMG, Chalmers University, Goteborg, Sweden (1987).

    Google Scholar 

  17. RB Kieburtz, “A RISC architecture for symbolic computation”, in Proc ASPLOS II (Oct 1987).

    Google Scholar 

  18. R Loogen, H Kuchen, K Indermark, and W Damm, “Distributed implementation of programmed graph reduction”, in Proc workshop on implementation of lazy functional languages, Aspenas (Sept 1988).

    Google Scholar 

  19. SL Peyton Jones, “Parallel implementations of functional programming languages”, Computer Journal, (April 1989).

    Google Scholar 

  20. Simon L Peyton Jones, The implementation of functional programming languages, Prentice Hall (1987).

    Google Scholar 

  21. Simon L Peyton Jones, Chris Clack, Jon Salkild, and Mark Hardie., “GRIP — a high-performance architecture for parallel graph reduction”, pp. 98–112 in Proc IFIP conference on Functional Programming Languages and Computer Architecture, Portland, ed. G Kahn, Springer Verlag LNCS 274 (Sept 1987).

    Google Scholar 

  22. Simon L Peyton Jones, Chris Clack, Jon Salkild, and Mark Hardie, “Functional programming on the GRIP multiprocessor”, in Proc IEE Seminar on Digital Parallel Processors, Lisbon, Portugal, IEE (1988).

    Google Scholar 

  23. Simon L Peyton Jones and Jon Salkild, “The Spineless Tagless G-machine”, RN/89/21, Dept of Computer Science, University College London (March 1989).

    Google Scholar 

  24. TJ Reynolds, SA Delgado-Rannauro, ASK Cheng, and AJ Beaumont, “BRAVE on GRIP”, Department of Computer Science, University of Essex (1988).

    Google Scholar 

  25. Carlos A Ruggiero and John Sargeant, “Control of parallelism in the Manchester dataflow machine”, pp. 1–15 in Proc IFIP conference on Functional Programming Languages and Computer Architecture, Portland, ed. G Kahn, Springer Verlag LNCS 274 (Sept 1987).

    Google Scholar 

  26. I Watson, J Sargeant, P Watson, and V Woods, “Flagship computational models and machine architecture”, ICL Technical Journal 5(3) pp. 555–574 (May 1987).

    Google Scholar 

  27. Paul Watson and Ian Watson, “Evaluating functional programs on the FLAGSHIP machine”, pp. 80–97 in Proc IFIP conference on Functional Programming Languages and Computer Architecture, Protland, ed. G Kahn, Springer Verlag LNCS 274 (Sept 1987).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eddy Odijk Martin Rem Jean-Claude Syre

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jones, S.L.P., Clack, C., Salkild, J. (1989). High-performance parallel graph reduction. In: Odijk, E., Rem, M., Syre, JC. (eds) PARLE '89 Parallel Architectures and Languages Europe. PARLE 1989. Lecture Notes in Computer Science, vol 365. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3540512845_40

Download citation

  • DOI: https://doi.org/10.1007/3540512845_40

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51284-4

  • Online ISBN: 978-3-540-46183-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics