Logic Program Execution on Distributed Memory Parallel Computers

  • Mario Cannataro
  • Giandomenico Spezzano
  • Domenico Talia
Conference paper
Part of the NATO ASI Series book series (volume 103)


The implicit parallelism of logic programs can be exploited by using parallel computers to support their execution. This paper describes the design and the implementation of a logic programming system on a distributed memory parallel architecture in an efficient and scalable way. This implementation is based on the AND/OR Process Model. The AND/OR processes are implemented as Occam processes, and the execution of a logic program is implemented by a tree of parallel processes located on the computing nodes of the parallel computer. A completely decentralized scheduling mechanism is used. The preliminary results show interesting scalability properties of the system.


Parallel processing logic programming distributed memory AND/OR parallelism 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    P. Borgwardt, “Parallel Prolog Using Stack Segments on Shared-memory Multiprocessors”, Proc. 1984 Int. Symp. on Logic Programming, pp. 2–11,1984.Google Scholar
  2. 2.
    M. Cannataro, G. Spezzano, and D. Talia, “A Highly Decentralized Architecture for the Parallel Execution of Logic Programs”, in C. Girault and M. Cosnard, eds., Decentralized Systems, pp. 235–246, North-Holland, Amsterdam 1990.Google Scholar
  3. 3.
    M. Cannataro, E. Gallizzi, G. Spezzano, and D. Talia, “Design, Implementation and Evaluation of a Deadlock-Free Routing Algorithm for Concurrent Computers”, to appear in Concurrency: Practice and Experience, John Wiley & Sons 1991.Google Scholar
  4. 4.
    J. Chassin, J.C. Syre, and H. Westphal, “Implementation of a Parallel Prolog System on a Commercial Multiprocessor”, Proc. ECAI 88, pp. 278–283, West Germany, 1988.Google Scholar
  5. 5.
    A. Ciepielewski and S. Haridi, “A Formal Model for OR-parallel Execution of Logic Programs”, Proc. Information Processing 83, pp. 299–305,1983.Google Scholar
  6. 6.
    K.L. Clark, “PARLOG: The Language and its Applications”, Proc. of TAPSOFT, pp. 30–53, Pisa, Italy, 1987.Google Scholar
  7. 7.
    J.S. Conery and D.F. Kibler, “Parallel Interpretation of Logic Programs”, Proc. Conf. on Functional Programming Languages and Computer Architectures, pp. 163–170, ACM Press, 1981.Google Scholar
  8. 8.
    J.S. Conery and D.F. Kibler, “And Parallelism in Logic Programs”, Proc. Int. Joint Conf. on Artificial Intelligence, pp. 539–543, Germany, 1983.Google Scholar
  9. 9.
    J.S. Conery, Parallel Execution of Logic Programs, Kluwer Academic Publisher 1987.Google Scholar
  10. 10.
    J.S. Conery, “Bindings Environments for Parallel Logic Programs in Non-Shared Memory Multiprocessors”, Proc. of 1987 Int. Conf. on Parallel Processing, pp. 457–467, IEEE, 1987.Google Scholar
  11. 11.
    J.A. Crammond, “A Comparative Study of Unification Algorithms for OR-parallel Execution of Logic Languages”, IEEE Transactions on Computers, c-34, 10, 911–917 (1985).CrossRefGoogle Scholar
  12. 12.
    D. DeGroot, “Restricted AND-Parallelism”, Proc. Int. Conf. on Fifth Generation Computer Systems 1984, pp. 471–478, ICOT, Tokyo, Nov. 1984.Google Scholar
  13. 13.
    B.S. Fagin, and A.M. Despain, “The Performance of Parallel Prolog Programs”, IEEE Trans, on Computers, c-39, 12, 1434–1445 (1990).MathSciNetGoogle Scholar
  14. 14.
    E. Gallizzi, M. Cannataro, G. Spezzano, and D. Talia, “A Deadlock-Free Communication System for a Transputer Network”, Proceedings of 12th OUG, pp. 11–21, IOS Press, Amsterdam, 1990.Google Scholar
  15. 15.
    Inmos, Occam 2 Reference Manual, Prentice Hall, England, 1988.Google Scholar
  16. 16.
    Inmos, Transputer Databook, Inmos Ltd., England, 1989.Google Scholar
  17. 17.
    L.V. Kale’, “The REDUCE-OR Process Model for Parallel Evaluation of Logic Programs”, Proc. 4th Int. Conf. on Logic Programming, pp. 616–632, Melbourne, Australia, May 1987.Google Scholar
  18. 18.
    G. Lindstrom, “OR-parallelism on Applicative Architectures”, Proc. Second Int. Logic Programming Conference, pp. 159–170, 1984.Google Scholar
  19. 19.
    C. Scitz, “Concurrent VLSI Architectures”, IEEE Trans, on Computers, c-33, 12, 1247–1265 (1984).CrossRefGoogle Scholar
  20. 20.
    E. Shapiro, “Concurrent Prolog: A Progress Report”, IEEE Computer, 19, 8, 44–58 (1986).CrossRefGoogle Scholar
  21. 21.
    P. Treleaven, et al., “Computer Architectures for Artificial Intelligence”, Lecture Notes in Computer Science, Vol. 272, pp. 416–492, Springer-Verlag 1987.CrossRefGoogle Scholar
  22. 22.
    K. Ueda, “Guarded Horn Clauses”, Technical Report, TR-103 ICOT, Tokyo, Sept. 1985.Google Scholar
  23. 23.
    D.S. Warren, “Efficient Memory Management for Flexible Control Strategies”, Proc. 1984 Int. Symp. on Logic Programming, pp. 198–202,1984.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Mario Cannataro
    • 1
  • Giandomenico Spezzano
    • 1
  • Domenico Talia
    • 1
  1. 1.CRAIRende (CS)Italy

Personalised recommendations