Skip to main content

Overview of a parallel reduction machine project II

  • Project 415 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

We describe some of the key results in a project to implement lazy functional languages on parallel architectures. The project has taken a language-first approach, letting the language drive the architecture, rather than choosing an architecture and trying to define a language which is modelled on the architecture. We discuss the parallel implementation model, abstract machines to support the model, a distributed storage management system with low overheads, and a demonstration implementation on a transputer network. Throughout the project, we have found functional languages to be a useful tool for conducting some of our experiments.

Research partially funded by ESPRIT Project 415: Parallel Architectures and Langauges for AIP — A VLSI-Directed Approach.

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. 3L Ltd., Livingstone, Scotland. Parallel C User Guide, 1988.

    Google Scholar 

  2. A.W. Appel. Garbage collection can be faster than stack allocation. Information Processing Letters, 25(4):275–279, 1987.

    Article  Google Scholar 

  3. L. Augustsson. Compiling Lazy Functional Languages, Part II. Doctoral thesis, Chalmers Tekniska Högskola, Göteborg, Sweden, 1987.

    Google Scholar 

  4. D.I. Bevan. Distributed garbage collection using reference counting. In J.W. de Bakker, A.J. Nijman, and P.C. Treleaven, editors, PARLE Parallel Architectures and Languages Europe, volume 2, pages 176–187, Eindhoven, The Netherlands, June 1987.

    Google Scholar 

  5. D.I. Bevan, G.L. Burn, R.J. Karia, and J.D. Robson. Design principles of a distributed memory architecture for parallel graph reduction. The Computer Journal, 1989.

    Google Scholar 

  6. A. Bloss, P. Hudak, and J. Young. Code optimisations for lazy evaluation. In Proceedings of the Workshop on the Implementation of Lazy Functional Languages, Aspenäs, Göteborg, Sweden, 5–8, September 1988.

    Google Scholar 

  7. P.G. Bosco, C. Checci, and C. Moiso. Feasible computational models for logic plus functional programming integration. Deliverable D3, Centro Studi E Laboratori Telecomunicazioni, Torino, Italy, October 1987.

    Google Scholar 

  8. G. L. Burn. Evaluation transformers — A model for the parallel evaluation of functional languages (extended abstract). In G. Kahn, editor, Proceedings of the Functional Programming Languages and Computer Architecture Conference, pages 446–470. Springer-Verlag, September 1987.

    Google Scholar 

  9. G.L. Burn. Abstract Interpretation and the Parallel Evaluation of Functional Languages. Doctoral thesis, Imperial College, University of London, March 1987.

    Google Scholar 

  10. G.L. Burn. Developing a distributed memory architecture for parallel graph reduction. In Proceedings of CONPAR 88, Manchester, United Kingdom, 12–16 September 1988.

    Google Scholar 

  11. G.L. Burn. A shared memory parallel G-machine based on the evaluation transformer model of computation. In Proceedings of the Workshop on the Implementation of Lazy Functional Languages, Aspenäs, Göteborg, Sweden, 5–8, September 1988.

    Google Scholar 

  12. G.L. Burn, S.L. Peyton Jones, and J.D. Robson. The spineless G-machine. In Proceedings of the 1988 ACM Symposium on Lisp and Functional Programming, Snowbird, Utah, 1988.

    Google Scholar 

  13. F.W. Burton and M.R. Sleep. Executing functional programs on a virtual tree of processors. In Proceedings of the First Conference on Functional Programming and Computer Architecture, pages 187–194, Portsmouth, New Hampshire, October 1982.

    Google Scholar 

  14. J. Fairbairn and S. Wray. TIM: A simple, lazy abstract machine to execute supercombinators. In G. Kahn, editor, Proceedings of the Functional Programming Languages and Computer Architecture Conference, pages 34–45. Springer-Verlag, September 1987.

    Google Scholar 

  15. B.F. Goldberg. Multiprocessor Execution of Functional Programs. Doctoral thesis, Yale University, Department of Computer Science, April 1988.

    Google Scholar 

  16. P.H. Hartel. A comparative study of four garbage collection algorithms. Technical report, Computing Science Department, University of Amsterdam, February 1988.

    Google Scholar 

  17. T. Johnsson. The G-machine. An abstract machine for graph reduction. In Declarative Programming Workshop, pages 1–20, University College London, April 1983.

    Google Scholar 

  18. T. Johnsson. Compiling Lazy Functional Languages. Doctoral thesis, Chalmers Tekniska Högskola, Göteborg, Sweden, 1987.

    Google Scholar 

  19. T. Johnsson. The v, g-machine: An abstract machine for parallel graph reduction. In Proceedings of the Workshop on the Implementation of Lazy Functional Languages, Aspenäs, Göteborg, Sweden, 5–8, September 1988.

    Google Scholar 

  20. R.J. Karia. An Investigation of Combinator Reduction on Multiprocessor Architectures. Doctoral thesis, Westfield College, University of London, January 1987.

    Google Scholar 

  21. H. Kingdon, D.R. Lester, and G.L. Burn. The HDG-Machine: A highly distributed graph reducer for a transputer network. In Submitted to: Conference on Functional Programming Languages and Computer Architecture, London, U.K., 11–13 September 1989. ACM SIGPLAN Notices.

    Google Scholar 

  22. D.R. Lester. An efficient distributed garbage collection algorithm. In PARLE Parallel Architectures and Languages Europe. Springer-Verlag, 1989.

    Google Scholar 

  23. D.R. Lester. Stacklessness: Compiling recursion for a distributed architecture. In Submitted to: Conference on Functional Programming Languages and Computer Architecture, London, U.K., 11–13 September 1989.

    Google Scholar 

  24. D.R. Lester and G.L. Burn. An executable specification of the HDG-Machine. In Workshop on Massive Parallelism: Hardware, Programming and Applications, Italy, 9–15 October 1989.

    Google Scholar 

  25. R. Loogen, H. Kuchen, K. Indermark, and W. Damm. Distributed implementation of programmed graph reduction. In Proceedings of the Workshop on the Implementation of Lazy Functional Languages, Aspenäs, Göteborg, Sweden, 5–8, September 1988.

    Google Scholar 

  26. S.L. Peyton Jones. Parallel implementations of functional programming languages. The Computer Journal, April 1989.

    Google Scholar 

  27. S.L. Peyton Jones and J. Salkild. The Spineles Tagless G-Machine. Submitted to the Conference on Functional Programming Languages and Computer Architecture, London, September 1989, March 1989.

    Google Scholar 

  28. S.L. Peyton Jones, C. Clack, J. Salkild, and M. Hardie. GRIP—a high-performance architecture for parallel graph reduction. In G. Kahn, editor, Proceedings of the Functional Programming Languages and Computer Architecture Conference, pages 98–112. Springer-Verlag, September 1987.

    Google Scholar 

  29. J. Sargeant. Load balancing, locality and parallelism control in fine-grain parallel machines. Technical Report Series UMCS-86-11-5, Department of Computer Science, University of Manchester, Manchester M13 9PL, England, November 1986.

    Google Scholar 

  30. D.A. Turner. An overview of Miranda. SIGPLAN Notices, December 1986.

    Google Scholar 

  31. L.G. Valiant. General purpose parallel architectures. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science. North Holland, Amsterdam, The Netherlands, 1988.

    Google Scholar 

  32. P. Wadler and R. J. M. Hughes. Projections for strictness analysis. In G. Kahn, editor, Proceedings of the Functional Programming Languages and Computer Architecture Conference, pages 385–407. Springer-Verlag, September 1987.

    Google Scholar 

  33. P. Watson and I. Watson. An efficient garbage collection scheme for parallel computer architectures. In J.W. de Bakker, A.J. Nijman, and P.C. Treleaven, editors, PARLE Parallel Architectures and Languages Europe, volume 2, pages 432–443, Eindhoven, The Netherlands, June 1987.

    Google Scholar 

  34. P. Watson and I. Watson. Evaluating functional programs on the FLAGSHIP machine. In G. Kahn, editor, Proceedings of the Functional Programming Languages and Computer Architecture Conference, pages 80–97. Springer-Verlag, September 1987.

    Google Scholar 

  35. I. Watson, J. Sargeant, P. Watson, and V. Woods. Flagship computational models and machine architecture. ICL Technical Journal, 5:555–574, May 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

Burn, G. (1989). Overview of a parallel reduction machine project II. 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_52

Download citation

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

  • 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