Overview of a parallel reduction machine project

  • DI Bevan
  • GL Burn
  • RJ Karia
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 258)


ESPRIT Project 415 has taken what are considered to be good programming language styles and is developing parallel architectures to support them. Here we describe the part of the project which is developing a distributed memory architecture for functional languages.

Designing parallel architectures for evaluating functional languages presents many challenging problems. Firstly a model for the parallel reduction of such languages must be found. An abstract interpretation has been developed which leads to a parallel reduction model. It can be implemented in a compiler so that programs can automatically be annotated with parallelism information.

The original COBWEB, a novel distributed memory architecture, is described, along with the conclusions we have drawn from our simulation work. We also briefly describe some of the architectural features of the architecture we are designing to support the parallel reduction model.

Many programming languages including functional ones require automatic storage allocation which has to be garbage collected. We present another piece of work from our project which has resulted in the discovery of a distributed reference counting garbage collection algorithm which has very low overheads.


parallel reduction function languages concurrent distributed garbage collection combinators COBWEB evaluation transformers 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

7. References

  1. [Anderson et al 1987]
    Anderson, P., Hankin, C., Kelly, P., Osmon, P., and Shute, M., COBWEB-2: Structured Specification of A Wafer-Scale Supercomputer, In this volume.Google Scholar
  2. [Aubusson and Catt 1978]
    Aubusson, R.C., and Catt, I., Wafer Scale Integration — A Fault-Tolerant Procedure, IEEE Journal of Solid State Circuits, Sc-13, 3, 1978.Google Scholar
  3. [Bevan 1987]
    Bevan, D.I., Distributed Garbage Collection Using Reference Counting, In this volume.Google Scholar
  4. [Bevan et al 1987]
    Bevan, D.I., Burn, G.L., Karia, R.J., and Robson, J.D., Design Principles of a Distributed Memory Architecture for Parallel Graph Reduction, Submitted to: Third International Conference on Functional Programming Languages and Computer Architecture, September 1987.Google Scholar
  5. [Burn 1986]
    Burn, G.L., Abstract Interpretation and the Parallel Evaluation of Functional Languages, PhD Thesis, Department of Computing, Imperial College of Science and Technology, University of London, 1986.Google Scholar
  6. [Burn 1987]
    Burn, G.L., Evaluation Transformers — A Model for the Parallel Evalution of Functional Languages (Extended Abstract), Submitted to: Third International Conference on Functional Programming Languages and Computer Architecture, September 1987.Google Scholar
  7. [Burn, Hankin and Abramsky 1986]
    Burn, G.L., Hankin, C.L., and Abramsky, S., Strictness Analysis for Higher-Order Functions, Science of Computer Programming, 7, November 1986, pp.249–278.Google Scholar
  8. [Clack and Peyton Jones 1986]
    Clack, C., and Peyton Jones, S.L., The Four-Stroke Reduction Engine, Proceedings of the 1986 ACM Conference on Lisp and Functional Programming, Cambridge, Massachusetts, 4–6 August, 1986, pp. 220–232.Google Scholar
  9. [Dijkstra 1980]
    Dijkstra, E.W., A Mild Variant of Combinatory Logic, EWD735, 1980.Google Scholar
  10. [Hankin, Burn and Peyton Jones, 1986]
    Hankin, C.L., Burn, G.L., and Peyton Jones, S.L., A Safe Approach to Parallel Combinator Reduction (Extended Abstract), Proceedings ESOP 86 (European Symposium on Programming), Saarbrucken, Federal Republic of Germany, March 1986, Robinet, B., and Wilhelm, R. (eds.), Springer-Verlag LNCS 213, pp. 99–110.Google Scholar
  11. [Hankin, Burn and Peyton Jones, 1987]
    Hankin, C.L., Burn, G.L., and Peyton Jones, S.L., A Safe Approach to Parallel Combinator Reduction, To be published in, Theoretical Computer Science.Google Scholar
  12. [Hankin, Osmon and Shute 1985]
    Hankin, C.L., Osmon, P.E., and Shute, M.J., COBWEB: A Combinator Reduction Architecture, in: Proceedings of IFIP International Conference on Functional Programming Languages and Computer Architecture, Nancy, France, 16–19 September, 1985, Jouannaud, J.-P. (ed.), Springer-Verlag LNCS 201, pp. 99–112.Google Scholar
  13. [Hudak 1984]
    Hudak P. and Goldberg B., Experiments in Diffused Combinator Reduction, ACM Symposium on Lisp and Functional Programming, Austin, Texas, USA, August 1984, pp 167–176.Google Scholar
  14. [Hudak 1985]
    Hudak P. and Goldberg, B., Distributed Execution of Functional Programs using Serial Combinators, IEEE Transactions on Computers, Vol C-34 10, October 1985.Google Scholar
  15. [Johnsson 1987]
    Johnsson, T., Compiling Lazy Functional Languages, PhD Thesis, Department of Computer Sciences, Chalmers University of Technology, 1987.Google Scholar
  16. [Karia 1987]
    Karia, R.J., An Investigation of Combinator Reduction on Multiprocessor Architectures, PhD Thesis, University of London, January 1987.Google Scholar
  17. [Kennaway and Sleep 1986]
    Kennaway, R., and Sleep, R., Director Strings as Combinators, University of East Anglia Technical Report, November 1986.Google Scholar
  18. [Lerman and Maurer 1986]
    Lerman, C.-W. and Maurer, D., A Protocol for Distributed Reference Counting, Proceedings 1986 ACM Conference on Lisp and Functional Programming, Cambridge, Massachusetts, August 4–6, 1986.Google Scholar
  19. [Mycroft 1981]
    Mycroft, A., Abstract Interpretation and Optimising Transformations for Applicative Programs, PhD. Thesis, University of Edinburgh, 1981.Google Scholar
  20. [Peyton Jones 1987]
    Peyton Jones, S.L., Implementing Functional Languages Using Graph Reduction, To be published in the Prentice-Hall International Series in Computer Science, 1987.Google Scholar
  21. [Peyton Jones, Clack and Salkild 1985]
    Peyton Jones, S.L., Clack, C. and Salkild, J., GRIP — A Parallel Graph Reduction Machine, Dept of Computer Science, University College, London, November 1985.Google Scholar
  22. [Seitz 1985]
    Seitz, C.L., The Cosmic Cube, CACM 28, 1, January 1985.Google Scholar
  23. [Shute and Osmon 1985]
    Shute, M.J., and Osmon, P.E., COBWEB — A reduction architecture, International Workshop on Wafer-Scale Integration, 10–12 July, 1985, Southampton University, United Kingdom.Google Scholar
  24. [Turner 1979]
    Turner, D.A., Another Algorithm For Bracket Abstraction, The Journal of Symbolic Logic 44 2, June 1979, pp. 267–270.Google Scholar
  25. [Turner 1985]
    Turner, D.A., Miranda: A non-strict functional language with polymorphic types, Functional Programming Languages and Computer Architecture, September 1985, Nancy, Jouannaud, J.-P., (ed.), Springer-Verlag LNCS 201, pp. 1–16.Google Scholar
  26. [Wadler 1985]
    Wadler, P., Strictness Analysis on Non-Flat Domains (by Abstract Interpretation over Finite Domains), Draft Manuscript distributed via the FP mailboard, 10th November, 1985.Google Scholar
  27. [Wadsworth 1971]
    Wadsworth, C.P., Semantics and Pragmatics of the Lambda Calculus (Chapter 4), PhD Thesis, University of Oxford, 1971.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • DI Bevan
    • 1
  • GL Burn
    • 1
  • RJ Karia
    • 1
  1. 1.GEC Research Ltd Hirst Research CentreWembleyUnited Kingdom

Personalised recommendations