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.
Preview
Unable to display preview. Download preview PDF.
References
R. M. Burstall, D. B. MacQueen, D. T. Sannella, "HOPE: An Experimental Applicative Language", 1st International LISP Conference, 1980.
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.
P.J. Courtois, "Decomposability", Academic Press, 1977.
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.
J. Darlington, M. J. Reeve, "ALICE and the Parallel Evaluation of Logic Programs", 10th Annual Symposium on Computer Architecture, 1983.
A. J. Field, M. D. Cripps, "Self-Clocking Networks", International Conference on Parallel Processing, 1985.
H. J. Siegel, "Interconnection Networks for Large-Scale Parallel Processing: Theory and Case Studies", Lexington Books, 1985.
H. W. Glaser, C. L. Hankin, D. Till, "Principles of Functional Programming", Prentice-Hall, 1984.
P. G. Harrison, A. J. Field, "Performance Modelling of Parallel Computer Systems", PERFORMANCE '86/ACM SIGMETRICS, 1986.
T. Johnsson, "Lambda Lifting: Transforming Programs to Recursive Equations", Conference on Functional Programming and Computer Architecture, 1985.
R. A. Kowalski, "Logic for Problem Solving", North Holland, 1979.
I. W. Moor, "An Applicative Compiler for a Parallel Machine", SIGNPLAN Symposium on Compiler Construction, 1982.
J. H. Patel, "Processor-Memory Interconnections for Multi-Processors", 6th Annual Symposium on Computer Architecture, 1979.
M. J. Reeve, "An Introduction to the ALICE Compiler Target Language", Research Report, Dept. of Computing, Imperial College, 1981.
C. H. Sauer, K. M. Chandy, "Computer Systems Performance Modelling", Prentice-Hall, 1981.
Author information
Authors and Affiliations
Editor information
Rights 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