The Rewrite Rule Machine Project

Abstract : Current generation parallel machines are typically either coarse-grain or fine-grain. Each design has certain limits, either in the amount of parallelism that it can effectively exploit, or else in the types of problem for which it is suitable. For example, only very homogeneous computations can make efficient use of today's fine-grained machines. However, many complex computations are locally homogeneous, but not globally homogeneous. The Rewrite Rule Machine (RRM) resolves this dilemma through its hierarchical architecture, which has several levels of organization. The lowest level is the cell, which stores a token and pointers to other cells; this organization avoids the von Neumann memory access bottleneck. Next, an ensemble contains many cells, representing a complex data structure to which rewrite rules are applied under the direction of a common controller. A cluster consists of many ensembles which cooperate in larger computations. Ensembles support fine-grained homogeneous parallelism, while clusters support coarse-grained inhomogeneous parallelism. This multi-grained parallelism allows the RRM to exploit the local homogeneity that is typical of many complex computations. The RRM can support the efficient execution of many different programming paradigms by compiling them into its concurrent rewriting model of computation.

[1]  Alberto Martelli,et al.  An Efficient Unification Algorithm , 1982, TOPL.

[2]  José Meseguer,et al.  Models and Equality for Logical Programming , 1987, TAPSOFT, Vol.1.

[3]  José Meseguer,et al.  Concurrent term rewriting as a model of computation , 1986, Graph Reduction.

[4]  José Meseguer,et al.  Parameterized programming in OBJ2 , 1987, ICSE '87.

[5]  J. Goguen Higher-order functions considered unnecessary for higher-order programming , 1990 .

[6]  Keshav Pingali,et al.  I-structures: data structures for parallel computing , 1986, Graph Reduction.

[7]  Peter G. Harrison,et al.  The parallel graph reduction machine, Alice , 1986, Graph Reduction.

[8]  Joseph A. Goguen,et al.  OBJ as a Theorem Prover with Applications to Hardware Verification , 1989 .

[9]  Joseph A. Goguen,et al.  How to Prove Algebraic Inductive Hypotheses Without Induction , 1980, CADE.

[10]  José Meseguer,et al.  Software for the Rewrite Rule Machine , 1988, Fifth Generation Computer Systems.

[11]  K Berkling Epsilon-reduction: another view of unification , 1986 .

[12]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[13]  Joseph A. Goguen,et al.  Cell and Ensemble Architecture for the Rewrite Rule Machine , 1988, FGCS.

[14]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[15]  José Meseguer,et al.  EQLOG: Equality, Types, and Generic Modules For Logic Programming , 1986, Logic Programming: Functions, Relations, and Equations.

[16]  Joseph A. Goguen,et al.  Modular Algebraic Specification of Some Basic Geometrical Constructions , 1988, Artif. Intell..

[17]  Robert M. Keller,et al.  Overview of Rediflow II Development , 1986, Graph Reduction.

[18]  J. Meseguer,et al.  Order-Sorted Algebra Solves the Constructor-Selector, Multiple Representation, and Coercion Problems , 1993, Inf. Comput..