Skip to main content

Implementing parallel rewriting

  • Implementation Of Term Rewriting
  • Conference paper
  • First Online:
Book cover Programming Language Implementation and Logic Programming (PLILP 1990)

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

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.

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. N. Dershowitz. Computing with rewrite systems. Information and Control, 65(2/3):122–157, 1985.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

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

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

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

    Google Scholar 

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

    Google Scholar 

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

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

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

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

    Google Scholar 

  18. José Meseguer. Rewriting as a Unified Model of Concurrency. Technical Report SRI-CSL-90-02, SRI International, Computer Science Laboratory, February 1990. submitted.

    Google Scholar 

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

    Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Editor information

Pierre Deransart Jan Maluszyński

Rights and permissions

Reprints 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

Publish with us

Policies and ethics