Overview of a parallel reduction machine project
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.
Keywordsparallel reduction function languages concurrent distributed garbage collection combinators COBWEB evaluation transformers
Unable to display preview. Download preview PDF.
- [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
- [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
- [Bevan 1987]Bevan, D.I., Distributed Garbage Collection Using Reference Counting, In this volume.Google Scholar
- [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
- [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
- [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
- [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
- [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
- [Dijkstra 1980]Dijkstra, E.W., A Mild Variant of Combinatory Logic, EWD735, 1980.Google Scholar
- [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
- [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
- [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
- [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
- [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
- [Johnsson 1987]Johnsson, T., Compiling Lazy Functional Languages, PhD Thesis, Department of Computer Sciences, Chalmers University of Technology, 1987.Google Scholar
- [Karia 1987]Karia, R.J., An Investigation of Combinator Reduction on Multiprocessor Architectures, PhD Thesis, University of London, January 1987.Google Scholar
- [Kennaway and Sleep 1986]Kennaway, R., and Sleep, R., Director Strings as Combinators, University of East Anglia Technical Report, November 1986.Google Scholar
- [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
- [Mycroft 1981]Mycroft, A., Abstract Interpretation and Optimising Transformations for Applicative Programs, PhD. Thesis, University of Edinburgh, 1981.Google Scholar
- [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
- [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
- [Seitz 1985]Seitz, C.L., The Cosmic Cube, CACM 28, 1, January 1985.Google Scholar
- [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
- [Turner 1979]Turner, D.A., Another Algorithm For Bracket Abstraction, The Journal of Symbolic Logic 44 2, June 1979, pp. 267–270.Google Scholar
- [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
- [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
- [Wadsworth 1971]Wadsworth, C.P., Semantics and Pragmatics of the Lambda Calculus (Chapter 4), PhD Thesis, University of Oxford, 1971.Google Scholar