And-or parallelism in full Prolog with paged Binding Arrays

  • Gopal Gupta
  • Vitor Santos Costa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 605)


Most models that have been proposed (or implemented) so far for exploiting both or-parallelism and independent and-parallelism have only considered pure logic programs (pure Prolog). We present an abstract model, called the Composition-Tree, for representing and-or parallelism in full Prolog. The Binding Array scheme is extended for And-Or parallel execution based on the Composition-tree. We also show how extra-logical predicates, such as cuts and side-effects, can be supported in this model.


Logic Program Conditional Variable Choice Point Page Table Prolog System 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    K. Ali, “A Method for Implementing Cut in Parallel Execution of Prolog,” In International Symposium on Logic Programming, 1987, pp. 449–456.Google Scholar
  2. 2.
    K. Ali, R. Karlsson: “The Muse Or-parallel Prolog Model and its performance”. In Proceedings of the North American Conference on Logic Programming '90, MIT Press, to appear Google Scholar
  3. 3.
    K. Ali, R. Karlsson: “Full Prolog and Scheduling Or-parallelism in Muse”. To appear in International Journal of Parallel Programming, 1991.Google Scholar
  4. 4.
    Uri Baron, et. al.: “The Parallel ECRC Prolog System PEPSys: An Overview and Evaluation Results”. In Proceedings of FGCS '88, Tokyo, pp. 841–850.Google Scholar
  5. 5.
    T. Beaumont, S. Muthu Raman, et al.: “Flexible Scheduling or Or-parallelism in Aurora: The Bristol Scheduler”. In Proceedings of PARLE '91, Springer Verlag, LNCS 506, pp. 403–420.Google Scholar
  6. 6.
    S-E. Chang and Y.P. Chiang: “Restricted And-Parallelism Model with Side Effects”. In Proceedings of North American Conference on Logic Programming, 1989, MIT Press, pp. 350–368.Google Scholar
  7. 7.
    D. DeGroot: “Restricted And-Parallelism and Side-effects”. In International Symposium on Logic Programming, San Francisco, 1987, pp. 80–89.Google Scholar
  8. 8.
    G. Gupta and B. Jayaraman: “Compiled And-Or Parallel Execution of Logic Programs”. In Proceedings of the North American Conference on Logic Programming '89, MIT Press, pp. 332–349.Google Scholar
  9. 9.
    G. Gupta and B. Jayaraman: “On Criteria for Or-Parallel Execution Models of Logic Programs”. In Proceedings of the North American Conference on Logic Programming '90, MIT Press, pp. 604–623.Google Scholar
  10. 10.
    G. Gupta and B. Jayaraman: “Optimizing And-Or Parallel Implementations”. In Proceedings of the North American Conference on Logic Programming '90, MIT Press, pp. 737–756.Google Scholar
  11. 11.
    G. Gupta and M. Hermenegildo: “Recomputation Based And-Or Parallel Implementations of Prolog”. In Proceedings of International Conference on Fifth Generation Computer Systems '92, Tokyo, 1992.Google Scholar
  12. 12.
    G. Gupta, V. Santos Costa: “Cut and Side Effects in And-Or Parallel Prolog”. University of Bristol TR-91-26, 16 pages.Google Scholar
  13. 13.
    G. Gupta, V. Santos Costa, R. Yang, M. Hermenegildo: “IDIOM: A Model for Integrating Dependent-and, Independent-and and Or-parallelism”. In Proceedings of ILPS, MIT Press, Oct. 1991.Google Scholar
  14. 14.
    M. V. Hermenegildo: “An Abstract Machine Based Execution Model for Computer Architecture Design and Efficient Implementation of Logic Programs in Parallel”. PhD Thesis, University of Texas at Austin, 1986.Google Scholar
  15. 15.
    B. Hausman, A. Ciepielewski, and A. Calderwood: “Cut and Side-Effects in Or-Parallel Prolog”. In International Conference on Fifth Generation Computer Systems, Tokyo, Nov. 88, pp. 831–840.Google Scholar
  16. 16.
    B. Hausman, et. al.: “Or-Parallel Prolog Made Efficient on Shared Memory Multiprocessors” in IEEE Int. Symp. in Logic Prog., San Francisco, 1987.Google Scholar
  17. 17.
    M. V. Hermenegildo, K.J. Green, “&-Prolog and its performance: Exploiting Independent And-Parallelism”. In Proceedings of the 7th International Conference on Logic Programming, 1990, pp. 253–268.Google Scholar
  18. 18.
    S. Haridi, S. Janson: “Kernel Andorra Prolog and its Computation Model”. In Proceedings of ICLP, MIT Press, June, 1990, pp. 31–46.Google Scholar
  19. 19.
    L. V. Kalé, D. A. Padua, D. C. Sehr, “Parallel Execution of Prolog with Side-Effects”. In J. of Supercomputing, 2(2), 1988, pp. 209–223.CrossRefGoogle Scholar
  20. 20.
    Y-J. Lin and V. Kumar: “AND-parallel execution of Logic Programs on a Shared Memory Multiprocessor: A Summary of Results”, in Fifth International Logic Programming Conference, Seattle, WA.Google Scholar
  21. 21.
    E. Lusk, D.H.D. Warren, S. Haridi et. al: “The Aurora Or-Prolog System”. In New Generation Computing, Vol. 7, No. 2,3, 1990 pp. 243–273.Google Scholar
  22. 22.
    K. Muthukumar and M. Hermenegildo: “Complete and Efficient Methods for Supporting Side-effects in Independent/Restricted And-Parallelism”. In Proc. of ICLP, 1989.Google Scholar
  23. 23.
    B. Ramkumar and L. V. Kalé: “Compiled Execution of the REDUCE-OR Process Model”. In Proc. of NACLP '89, MIT Press, pp. 313–331.Google Scholar
  24. 24.
    M. Ratcliffe, J-C Syre: “A Parallel Logic Programming Language for PEPSys” In Proceedings of IJCAI '87, Milan, pp. 48–55.Google Scholar
  25. 25.
    R. Sindaha: “The Dharma Scheduler — Definitive Scheduling in Aurora on Multiprocessor Architecture”. Technical Report, University of Bristol.Google Scholar
  26. 26.
    K. Shen and M. V. Hermenegildo: “A Simulation Study of Or Independent And-Parallelism”. In Proc. of ILPS MIT Press, 1991.Google Scholar
  27. 27.
    K. Shen: “Studies of And-Or Parallelism in Prolog”. Ph.D. thesis, Cambridge University, 1992, forthcoming.Google Scholar
  28. 28.
    V. Santos Costa, D. H. D. Warren, R. Yang: “Andorra-I: A Parallel Prolog system that transparently exploits both And-and Or-Parallelism”. In Proceedings of Principles & Practice of Parallel Programming, Apr. '91, pp. 83–93.Google Scholar
  29. 29.
    A. Véron, J. Xu, et. al.: “Virtual Memory Support for Parallel Logic Programming Systems”. In PARLE'91, Springer Verlag, LNCS 506, 1991.Google Scholar
  30. 30.
    D. S. Warren: “Efficient Prolog Memory Management for Flexible Control Strategies”. In The 1984 Int. Syrnp. on Logic Prog., Atlantic City, pp. 198–202.Google Scholar
  31. 31.
    D. H. D. Warren: “The SRI-model for Or-Parallel execution of Prolog-Abstract Design and Implementation Issues”. In 1987 IEEE Int. Symp. in Logic Prog., San Francisco.Google Scholar
  32. 32.
    D.H.D. Warren: “Extended Andorra Model with Implicit Control” Talk given at Workshop on Parallel Logic Programming, 7th ICLP, Eilat.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Gopal Gupta
    • 1
  • Vitor Santos Costa
    • 2
  1. 1.Department of Computer ScienceNew Mexico State UniversityLas CrucesUSA
  2. 2.Department of Computer ScienceUniversity of BristolBristolUK

Personalised recommendations