Novel Models for Or-Parallel Logic Programs: A Performance Analysis

  • Výtor Santos Costa
  • Ricardo Rocha
  • Fernando Silva
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1900)


One of the advantages of logic programming is the fact that it offers many sources of implicit parallelism, such as and-parallelism and or-parallelism. Arguably, or-parallel systems, such as Aurora and Muse, have been the most successful parallel logic programming systems so far. Or-parallel systems rely on techniques such as Environment Copying to address the problem that branches being explored in parallel may need to assign different bindings for the same shared variable. Recent research has led to two new binding representation approaches that also support independent and-parallelism: the Sparse Binding Array and the Copy- On-Write binding models. In this paper, we investigate whether these newer models are practical alternatives to copying for or-parallelism. We based our work on YapOr, an or-parallel copying system using the YAP Prolog engine, so that the three alternative systems share schedulers and the underlying engine.


Logic Programming Inductive Logic Programming Share Work Shared Node Logic Programming 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]
    A. Aggoun and et. al. ECLiPSe 3.5 User Manual. ECRC, December 1995.Google Scholar
  2. [2]
    K. A. M. Ali and R. Karlsson. The Muse Approach to OR-Parallel Prolog. International Journal of Parallel Programming, 19(2):129–162, April 1990.Google Scholar
  3. [3]
    K. A. M. Ali and R. Karlsson. The Muse Or-parallel Prolog Model and its Performance. In NACLP’90, pages 757–776. MIT Press, October 1990.Google Scholar
  4. [4]
    A. Beaumont, S. M. Raman, P. Szeredi, and D. H. D. Warren. Flexible Scheduling of OR-Parallelism in Aurora: The Bristol Scheduler. In PARLE’91, volume 2, pages 403–420. Springer Verlag, June 1991.Google Scholar
  5. [5]
    M. Carlsson and J. Widen. SICStus Prolog User’s Manual. SICS Research Report R88007B, Swedish Institute of Computer Science, October 1988.Google Scholar
  6. [6]
    L. F. Castro, V. S. Costa, C. Geyer, F. Silva, P. Kayser, and M. E. Correia. DAOS: Distributed And-Or in Scalable Systems. In EuroPar’99. Springer-Verlag, LNCS, August 1999.Google Scholar
  7. [7]
    M. E. Correia, F. Silva, and V. S. Costa. Aurora vs. Muse; A Performance Study of Two Or-Parallel Prolog Systems. Computing Systems in Engineering, 6(4/5):345–349, 1995.CrossRefGoogle Scholar
  8. [8]
    M. E. Correia, F. Silva, and V. S. Costa. The SB A: Exploiting Orthogonality in AND-OR Parallel Systems. In ILPS’97, pages 117–131. The MIT Press, 1997.Google Scholar
  9. [9]
    V. S. Costa. COWL: Copy-On-Write for Logic Programs. In IPPS’99. IEEE Press, May 1999.Google Scholar
  10. [10]
    V. S. Costa. Optimising Bytecode Emulation for Prolog. In PPDP’99. Springer-Verlag, LNCS, September 1999.Google Scholar
  11. [11]
    V. S. Costa, D. H. D. Warren, and R. Yang. The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model. In ICLP’91, 1991.Google Scholar
  12. [12]
    L. Damas, V. S. Costa, R. Reis, and R. Azevedo. YAP User’s Guide and Reference Manual, 1998.
  13. [13]
    G. Gupta and V. S. Costa. And-Or Parallelism in Full Prolog with Paged Binding Arrays. In PARLE’92, pages 617–632. Springer-Verlag, LNCS 605, June 1992.Google Scholar
  14. [14]
    G. Gupta and B. Jayaraman. Analysis of or-parallel execution models. ACM TOPLAS, 15(4):659–680, 1993.CrossRefGoogle Scholar
  15. [15]
    Gopal Gupta, M. Hermenegildo, E. Pontelli, and Výtor Santos Costa. ACE: And/Or-parallel Copying-based Execution of Logic Programs. In Proc. ICLP’94, pages 93–109. MIT Press, 1994.Google Scholar
  16. [16]
    E. Lusk and et. al. The Aurora Or-parallel Prolog System. New Generation Computing, 7(2,3):243–271, 1990.CrossRefGoogle Scholar
  17. [17]
    R. Rocha, F. Silva, and V. S. Costa. Or-Parallelism within Tabling. In PADL’99, pages 137–151. Springer-Verlag, LNCS 1551, January 1999.Google Scholar
  18. [18]
    R. Rocha, F. Silva, and V. S. Costa. YapOr: an Or-Parallel Prolog System based on Environment Copying. In EPIA’99, pages 178–192. Springer-Verlag, LNAI 1695, September 1999.Google Scholar
  19. [19]
    P. Szeredi. Performance Analysis of the Aurora Or-parallel Prolog System. In NACLP’89, pages 713–732. MIT Press, October 1989.Google Scholar
  20. [20]
    D. H. D. Warren. The SRI Model for Or-Parallel Execution of Prolog—Abstract Design and Implementation Issues. In SLP’87, pages 92–102, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Výtor Santos Costa
    • 1
  • Ricardo Rocha
    • 2
  • Fernando Silva
    • 2
  1. 1.COPPE Systems EngineeringFederal University of Rio de JaneiroBrazil
  2. 2.DCC-FC & LIACCUniversity of PortoPortugal

Personalised recommendations