Skip to main content

The parallel graph reduction machine, ALICE

  • Graph Reduction Architectures
  • Conference paper
  • First Online:
Graph Reduction (GR 1986)

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

Included in the following conference series:

Abstract

Traditionally the design of programming languages has been compromised in order to exploit the most efficient machine architecture available, which has usually been of the von Neumann type. However, we believe that functional languages provide the most effective means for producing software and that the right approach is to develop a customised architecture for the implementation of the most suitable computational model for these languages.

In this paper we adopt graph reduction as the most natural computational model for functional languages and show how to represent it in a packet-based abstract computer architecture, ALICE. This architecture is highly parallel in nature, with a collection of processing agents performing redex reductions concurrently and asynchronously on the one hand, and the packets that represent the nodes in a function expression graph being distributed over several memory segments on the other. We suggest how a concrete parallel machine can be built to realise this abstract architecture, and describe the design of an experimental prototype machine. This prototype is a hardware emulator of the ideal concrete architecture which is to be built in customised VLSI, and is constructed using the INMOS Transputer as the basic building block. The design utilised a performance model to assist in choosing the optimal organisation of machine components, such as the ratio of processor to memory boards, and the model's predictions for the performance of various configurations of the machine are presented, along with some preliminary measurements made on the prototype. Finally, we make some suggestions for future design enhancements based on our experiences to date.

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. R. M. Burstall, D. B. MacQueen, D. T. Sannella, "HOPE: An Experimental Applicative Language", 1st International LISP Conference, 1980.

    Google Scholar 

  2. M. D. Cripps, A. J. Field, M. J. Reeve, "The Design and Implementation of ALICE: A Parallel Graph Reduction Machine", In ‘Functional Programming: Languages, Tools and Architectures', ed. S. Eisenbach. Ellis Horwood Limited, 1986.

    Google Scholar 

  3. P.J. Courtois, "Decomposability", Academic Press, 1977.

    Google Scholar 

  4. J. Darlington, M. J. Reeve, "ALICE: A Multiprocessor Reduction Machine for the Parallel Evaluation of Applicative Languages", ACM/MIT Conference on Functional Programming Languages and Computer Architecture, 1981.

    Google Scholar 

  5. J. Darlington, M. J. Reeve, "ALICE and the Parallel Evaluation of Logic Programs", 10th Annual Symposium on Computer Architecture, 1983.

    Google Scholar 

  6. A. J. Field, M. D. Cripps, "Self-Clocking Networks", International Conference on Parallel Processing, 1985.

    Google Scholar 

  7. H. J. Siegel, "Interconnection Networks for Large-Scale Parallel Processing: Theory and Case Studies", Lexington Books, 1985.

    Google Scholar 

  8. H. W. Glaser, C. L. Hankin, D. Till, "Principles of Functional Programming", Prentice-Hall, 1984.

    Google Scholar 

  9. P. G. Harrison, A. J. Field, "Performance Modelling of Parallel Computer Systems", PERFORMANCE '86/ACM SIGMETRICS, 1986.

    Google Scholar 

  10. T. Johnsson, "Lambda Lifting: Transforming Programs to Recursive Equations", Conference on Functional Programming and Computer Architecture, 1985.

    Google Scholar 

  11. R. A. Kowalski, "Logic for Problem Solving", North Holland, 1979.

    Google Scholar 

  12. I. W. Moor, "An Applicative Compiler for a Parallel Machine", SIGNPLAN Symposium on Compiler Construction, 1982.

    Google Scholar 

  13. J. H. Patel, "Processor-Memory Interconnections for Multi-Processors", 6th Annual Symposium on Computer Architecture, 1979.

    Google Scholar 

  14. M. J. Reeve, "An Introduction to the ALICE Compiler Target Language", Research Report, Dept. of Computing, Imperial College, 1981.

    Google Scholar 

  15. C. H. Sauer, K. M. Chandy, "Computer Systems Performance Modelling", Prentice-Hall, 1981.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Joseph H. Fasel Robert M. Keller

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Harrison, P.G., Reeve, M.J. (1987). The parallel graph reduction machine, ALICE. In: Fasel, J.H., Keller, R.M. (eds) Graph Reduction. GR 1986. Lecture Notes in Computer Science, vol 279. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18420-1_55

Download citation

  • DOI: https://doi.org/10.1007/3-540-18420-1_55

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18420-1

  • Online ISBN: 978-3-540-47963-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics