Skip to main content

Implementing parallel rewriting

  • Conference paper
  • First Online:
Book cover Parallelization in Inference Systems

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 590))

Abstract

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 is now to provide an efficient implementation. We present in this paper an implementation technique of rewriting on any loosely-coupled parallel architectures. Restricted to one processor, its efficiency 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.

This approach allows parallel execution of programs directly from their equationally axiomatized specification, without having at all to explicit the potential parallelism, thus providing a simple and precise operational semantics.

This research has been partially supported by the GRECO at Programmation of CNRS, the Basic Research Workshop COMPASS of the CEC and contract MRT 89P0423.

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. G. Boudol. Computational semantics of term rewriting systems. In M. Nivat and J. Reynolds, editors, Application of Algebra to Language definition and Compilation. Prentice Hall, 1985. Also INRIA research report 192 (1983).

    Google Scholar 

  2. N. Dershowitz. Computing with rewrite systems. Information and Control, 65(2/3):122–157, 1985.

    Google Scholar 

  3. N. Dershowitz and J.-P. Jouannaud. Rewrite Systems. In J. van Leuven, editor, Handbook of Theoretical Computer Science, chapter 6, pages 244–320. Elsevier Science, 1990.

    Google Scholar 

  4. Gregory Burns et al. Trillium operating system. In Proc. Third Conference on Hypercube Concurrent Computers and Applications, pages 374–376. ACM, 1988.

    Google Scholar 

  5. L. Fribourg. SLOG: A logic programming language intepreter based on clausal superposition and rewriting. In Proceedings of the IEEE Symposium on Logic Programming, pages 172–184, Boston, MA, July 1985.

    Google Scholar 

  6. 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, Orsay (France), volume 308 of Lecture Notes in Computer Science, pages 258–263. Springer-Verlag, 1988. Also as internal report CRIN: 88-R-001.

    Google Scholar 

  7. J. Goguen, C. Kirchner, S. Leinwand, J. Meseguer, and T. Winkler. Progress report on the rewrite rule machine. IEEE Computer Architecture Technical Commitee Newsletter, pages 7–21, March 1986.

    Google Scholar 

  8. 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, volume 279 of Lecture Notes in Computer Science, pages 53–93. Springer-Verlag, 1987.

    Google Scholar 

  9. J. A. Goguen and J. Tardo. OBJ-0 preliminary users manual. Semantics and theory of computation report no. 10, UCLA, 1977.

    Google Scholar 

  10. J.A. Goguen. The rewrite rule machine project. In Proceedings of the second international conference on supercomputing, Santa Clara, California, May 1987.

    Google Scholar 

  11. J.A. Goguen, C. Kirchner, and J. Meseguer. Models of computation for the rewrite rule machine. Technical report, Rapport CRIN 86-R-104, 1986.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. M. Hermann, C. Kirchner, and H. Kirchner. Implementations of term rewriting systems. Technical Report 89-R-218, Centre de Recherche en Informatique de Nancy, 1989. To appear in the Computer Journal, British Computer Society.

    Google Scholar 

  15. T. Heuillard. Compiling conditional rewriting systems. In S. Kaplan and J.-P. Jouannaud, editors, Proceedings 1st International Workshop on Conditional Term Rewriting Systems, Orsay (France), volume 308 of Lecture Notes in Computer Science, pages 111–128. Springer-Verlag, 1987.

    Google Scholar 

  16. C. Hoffmann and M.J. O'Donnell. Pattern matching in trees. Journal of the Association for Computing Machinery, 29(1):68–95, 1982.

    Google Scholar 

  17. G. Huet and J.-J. Levy. Call by need computations in non-ambiguous linear term rewriting systems. Research report 359, INRIA, August 1979.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. N. Alan Josephson and Nachum Dershowitz. An implementation of narrowing. J. of Logic Programming, 6(1 & 2):57–77, March 1989.

    Google Scholar 

  20. J.-P. Jouannaud and G. Kirchner. Solving equations in abstract algebras: a rule-based survey of unification. Research report, CRIN, 1990. To appear in Festschrift for Robinson, J.-L. Lassez and G. Plotkin, editors, MIT Press.

    Google Scholar 

  21. S. Kaplan. A compiler for conditional term rewriting system. In P. Lescanne, editor, Proceedings 2nd Conference on Rewriting Techniques and Applications, Bordeaux (France), volume 256 of Lecture Notes in Computer Science, pages 25–41, Bordeaux (France), May 1987. Springer-Verlag.

    Google Scholar 

  22. C. Kirchner and P. Viry. Implementing parallel rewriting. In P. Deransart and J. Maluszynski, editors, Proceedings of PLILP'90, volume 456 of Lecture Notes in Computer Science, pages 1–15, Linköping (Sweden), August 1990. Springer-Verlag.

    Google Scholar 

  23. N. Lindenstrauss. A parallel implementation of rewriting and narrowing. In Proceedings 3rd Conference on Rewriting Techniques and Applications, Chapel Hill, (North Carolina, USA), volume 35 of Lecture Notes in Computer Science, pages 569–573, Chapel Hill, NC, April 1989. Springer-Verlag

    Google Scholar 

  24. M. Loi and B. Tourancheau. Trollius 2.0. Technical report, Ecole Normale Supérieure de Lyon, 1990. In french.

    Google Scholar 

  25. José Meseguer. Rewriting as a unified model of concurrency. Technical Report SRI-CSL-90-02, SRI International, Computer Science Laboratory, February 1990.

    Google Scholar 

  26. M. J. O'Donnell. Computing in Systems Described by Equations, volume 58 of Lecture Notes in Computer Science. Springer-Verlag, 1977.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. P. Viry. Properties of concurrent rewriting. Technical report, Centre de Recherche en Informatique de Nancy, 1991. In preparation.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

B. Fronhöfer G. Wrightson

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kirchner, C., Viry, P. (1992). Implementing parallel rewriting. In: Fronhöfer, B., Wrightson, G. (eds) Parallelization in Inference Systems. Lecture Notes in Computer Science, vol 590. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55425-4_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-55425-4_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55425-7

  • Online ISBN: 978-3-540-47066-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics