Abstract
We present in this paper a technique for the implementation of rewriting on parallel architectures. Rewriting is a computation paradigm that allows to implement directly an equational specification (eg. an abstract data type). Much work has been done about theoretical aspects of rewriting, which has made this technique of practical interest for programming. The next step for rewriting to be used in practice is now to provide an efficient implementation for it. We present here an implementation technique that enables to take advantage of the computational power of loosely-coupled parallel architectures with any grain size. Restricted to one processor, the efficiency of this technique is in the same order of magnitude as those of functional languages such as interpreted LISP or ML, and we expect an almost linear increase of the efficiency when increasing the number of processors. It is important to notice that this approach allows parallel execution of programs directly from their equationally axiomatized specification, without having to make explicit at all the potential parallelism, thus providing a simple and precise operational semantics.
This research has been partially supported by the GRECO de Programmation of CNRS, the Basic Research Workshop COMPASS of the CEC and contract MRT 89P0423.
Preview
Unable to display preview. Download preview PDF.
References
N. Dershowitz. Computing with rewrite systems. Information and Control, 65(2/3):122–157, 1985.
N. Dershowitz and J.-P. Jouannaud. Handbook of Theoretical Computer Science, chapter 15: Rewrite systems. Volume B, North-Holland, 1990. Also as: Research report 478, LRI.
L. Fribourg. Slog: a logic programming language interpreter based on clausal superposition and rewriting. In Proceedings of the IEEE Symposium on Logic Programming, pages 172–184, Boston, MA, July 1985.
K. Futatsugi, J. Goguen, J.-P. Jouannaud, and J. Meseguer. Principles of OBJ-2. In B. Reid, editor, Proceedings 12th ACM Symp. on Principles of Programming Languages, pages 52–66, Association for Computing Machinery, 1985.
J. Goguen, C. Kirchner, H. Kirchner, A. Megrelis, J. Meseguer, and T. Winkler. An introduction to OBJ-3. In J.-P. Jouannaud and S. Kaplan, editors, Proceedings 1st International Workshop on Conditional Term Rewriting Systems, Springer-Verlag, June 1988. Lecture Notes in Computer Science, volume 308. Also as internal report CRIN: 88-R-001.
J. Goguen, C. Kirchner, S. Leinwand, J. Meseguer, and T. Winkler. Progress report on the rewrite rule machine. IEEE Computer Architecture Technical Commitee Newsletter, 7–21, march 1986.
J. Goguen, C. Kirchner, and J. Meseguer. Concurrent term rewriting as a model of computation. In R. Keller and J. Fasel, editors, Proceedings of Graph Reduction Workshop, pages 53–93, Springer-Verlag, 1987.
J.A. Goguen. The rewrite rule machine project. In Proceedings of the second international conference on supercomputing, Santa Clara, California, May 1987.
J.A. Goguen, C. Kirchner, and J. Meseguer. Models of computation for the rewrite rule machine. Technical Report, Rapport CRIN 86-R-104, 1986.
J.A. Goguen and J. Meseguer. EQLOG: equality, types and generic modules for logic programming. In D. DeGroot and G. Lindstrom, editors, Logic Programming. Funstions, relations and equations, Prentice Hall, 1986.
P.R.H. Hendriks. ASF System User's Guide. internal report CS-R8823, Centre for Mathematics and Computer Science, PO BOX 4079, 1009 AB Amsterdam, Netherlands, May 1988.
M. Hermann, C. Kirchner, and H. Kirchner. Implementations of term rewriting systems. 1989. Report CRIN 89-R-218. To appear in the Computer Journal, Bristish Computer Society.
T. Heuillard. Compiling conditional rewriting systems. In S. Kaplan and J.-P. Jouannaud, editors, Proceedings of 1st International workshop on conditional term rewriting systems, pages 111–128, Springer-Verlag, 1987. Lecture Notes in Computer Science, volume 308.
C. Hoffmann and M.J. O'Donnell. Pattern matching in trees. Journal of the Association for Computing Machinery, 29(1):68–95, 1982.
G. Huet and J.J. Levy. Call by Need Computations in Non-ambiguous Linear Term Rewriting Systems. Research report 359, INRIA, August 1979.
G. Huet and D. Oppen. Equations and rewrite rules: a survey. In R. Book, editor, Formal Language Theory: Perspectives and Open Problems, pages 349–405, Academic Press, New-York, 1980.
S. Kaplan. A compiler for conditional term rewriting system. In P. Lescanne, editor, Proceedings Second Conference on Rewriting Techniques and Applications, pages 25–41, Springer Verlag, Bordeaux (France), May 1987. Lecture Notes in Computer Science, volume 256.
José Meseguer. Rewriting as a Unified Model of Concurrency. Technical Report SRI-CSL-90-02, SRI International, Computer Science Laboratory, February 1990. submitted.
M. J. O'Donnell. Computing in Systems Described by Equations. Volume 58 of Lecture Notes in Computer Science, Springer-Verlag, 1977.
P. Viry. Implantation parallèle de la surréduction et de la réécriture. Rapport de DEA de l'université de Nancy I, September 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kirchner, C., Viry, P. (1990). Implementing parallel rewriting. In: Deransart, P., Maluszyński, J. (eds) Programming Language Implementation and Logic Programming. PLILP 1990. Lecture Notes in Computer Science, vol 456. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0024172
Download citation
DOI: https://doi.org/10.1007/BFb0024172
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53010-7
Online ISBN: 978-3-540-46298-9
eBook Packages: Springer Book Archive