Advertisement

A fine grain parallel implementation of PARLOG

  • George A. Papadopoulos
Communications
Part of the Lecture Notes in Computer Science book series (LNCS, volume 352)

Abstract

A parallel implementation of PARLOG is described based on graph rewriting techniques. The implementation is suitable for fine grain parallel architectures such as FLAGSHIP and GRIP. In particular, we compile PARLOG programs to Dactl — an intermediate language based on generalised graph rewriting. We provide a complete translation scheme which maps every PARLOG procedure to a set of Dactl rewrite rules where the only selection process is pattern matching. We show how some of the most subtle features of PARLOG such as non-determinism and metaprogramming can be modelled in the graph rewriting framework of Dactl using suitable rule systems. Finally, we show how our Dactl rules can be translated to MONSTR — a subset of Dactl which is currently implemented on FLAGSHIP. This will allow our PARLOG to Dactl implementation to be directly executable by that machine.

Keywords

Logic Program Parallel Implementation Functional Language Pattern Operator Graph Reduction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. [1]
    Banach R. and Watson P., Dealing with State on FLAGSHIP: the MONSTR Computational Model, CONPAR'88, Manchester UK, Sept. 12–16, 1988.Google Scholar
  2. [2]
    Barendregt H. P., Eekelen M. C. J. D., Glauert J. R. W., Kennaway J. R., Plasmeijer M. J. and Sleep M. R., Term Graph Rewriting, PARLE, Eindhoven, The Netherlands, June 15–19, 1987, LNCS 259, Springer Verlag, pp. 141–158.Google Scholar
  3. [3]
    Barendregt H. P., Eekelen M. C. J. D., Glauert J. R. W., Kennaway J. R., Plasmeijer M. J. and Sleep M. R., Towards an Intermediate Language Based on Graph Rewriting, PARLE, Eindhoven, The Netherlands, June 15–19, 1987, LNCS 259, Springer Verlag, pp. 159–175.Google Scholar
  4. [4]
    Brus T. H., van Eekelen M. C. J. D., van Leer M. O. and Plasmeijer M. J., Clean: A Language for Functional Graph Rewriting, FPLCA'87, Oregon, USA, Sept. 14–17, 1987, LNCS 274, Springer Verlag, pp. 364–384.Google Scholar
  5. [5]
    Clark K. L. and Foster I. T., A Declarative Environment for Concurrent Logic Programming, TAPSOFT'87, Pisa Italy, Mar. 1987, LNCS 250, Springer Verlag, pp. 212–242.Google Scholar
  6. [6]
    Fasel J. H. and Keller R. M. (eds), Graph Reduction Workshop, Santa Fe, New Mexico, USA, Sept. 29–Oct. 1, 1986, LNCS 279, Springer Verlag.Google Scholar
  7. [7]
    Foster I. T., Logic Operating Systems: Design Issues, 4th International Conference on Logic Programming, Melbourne, Australia, May 25–29, 1987, pp. 910–926.Google Scholar
  8. [8]
    Glauert J. R. W., An Introduction to Graph Rewriting in Dactl, Alvey Technical Conference, Swansea UK, July 4–7, 1988, pp. 250–253.Google Scholar
  9. [9]
    Glauert J. R. W., Hammond K., Kennaway J. R. and Papadopoulos G. A., Using DACTL to Implement Declarative Languages, CONPAR'88, Manchester UK, Sept. 12–16, 1988.Google Scholar
  10. [10]
    Glauert J. R. W., Kennaway J. R. and Sleep M. R., Dactl: a Computational Model and Compiler Target Language Based on Graph Reduction, ICL Tecnical Journal, May, 1987, 5(3), pp. 509–537.Google Scholar
  11. [11]
    Glauert J. R. W. and Papadopoulos G. A., A Parallel Implementation of GHC, FGCS'88, Tokyo, Japan, Nov. 28–Dec. 2, 1988, Vol. 3, pp. 1051–1058.Google Scholar
  12. [12]
    DeGroot D. and Lindstrom G., Logic Programming: Functions, Relations and Equations, Prentice Hall, ISBN 0-13-539958-0, 1986.Google Scholar
  13. [13]
    Gregory S., Parallel Logic Programming in PARLOG: the Language and its Implementation, Addison-Wesley, ISBN 0-201-19241-1, 1987.Google Scholar
  14. [14]
    Hammond K. and Papadopoulos G. A., Parallel Implementations of Declarative Languages Based on Graph Reduction, Alvey Technical Conference, Swansea, UK, July 4–7, 1988, pp. 246–249.Google Scholar
  15. [15]
    Kennaway J. R., Implementing Term Rewrite Languages in Dactl, CAAP'88, Nancy, France, Mar. 21–24, 1988, LNCS 299, Springer Verlag, pp. 102–116.Google Scholar
  16. [16]
    Kliger S., Yardeni E., Kahn K. and Shapiro E., The Language FCP(:,?), FGCS'88, Tokyo, Japan, Nov. 28–Dec. 2, 1988, Vol. 2, pp. 763–773.Google Scholar
  17. [17]
    Lam M. and Gregory S., PARLOG and ALICE: A Marriage of Convenience, 4th International Conference on Logic Programming, Melbourne, Australia, May 25–29, 1987, pp. 294–310.Google Scholar
  18. [18]
    Papadopoulos G. A., A High-Level Parallel Implementation of PARLOG, Internal Report SYSC88-05, University of East Anglia, UK, 1988, (to be revised).Google Scholar
  19. [19]
    Sleep M. R. and Kennaway J. R., The Zero Assignment Parallel Processor (ZAPP) Project, in Distributed Computing Systems Programme, Peter Peregrinous (ed), London 1984, pp. 250–269Google Scholar
  20. [20]
    Thakkar S. S. (ed), Selected Reprints on Dataflow and Reduction Architectures, IEEE, Computer Society Press, ISBN 0-8186-0759-9, 1987.Google Scholar
  21. [21]
    Ueda K., Guarded Horn Clauses, D.Eng. Thesis, University of Tokyo, Japan, 1986.Google Scholar
  22. [22]
    Watson I., Woods V., Watson P., Banach R., Greenberg M. and Sargeant J., Flagship: A Parallel Architecture for Declarative Programming, 15th International Symposium on Computer Architecture, IEEE, Honolulu, Hawaii, May 30–June 2, 1988, pp. 124–130.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • George A. Papadopoulos
    • 1
  1. 1.Declarative Systems Project, School of Information SystemsUniversity of East AngliaNorwichU.K.

Personalised recommendations