Thread-Based Competitive Or-Parallelism

  • Paulo Moura
  • Ricardo Rocha
  • Sara C. Madeira
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5366)


This paper presents the logic programming concept of thread-based competitive or-parallelism, which combines the original idea of competitive or-parallelism with committed-choice nondeterminism and speculative threading. In thread-based competitive or-parallelism, an explicit disjunction of subgoals is interpreted as a set of concurrent alternatives, each running in its own thread. The subgoals compete for providing an answer and the first successful subgoal leads to the termination of the remaining ones. We discuss the implementation of competitive or-parallelism in the context of Logtalk, an object-oriented logic programming language, and present experimental results.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ertel, W.: Performance Analysis of Competitive Or-Parallel Theorem Proving. Technical report fki-162-91, Technische Universität München (1991)Google Scholar
  2. 2.
    Shapiro, E.: The Family of Concurrent Logic Programming Languages. ACM Computing Surveys 21(3), 413–510 (1989)CrossRefGoogle Scholar
  3. 3.
    González, A.: Speculative Threading: Creating New Methods of Thread-Level Parallelization. Technology@Intel Magazine (2005)Google Scholar
  4. 4.
    Moura, P.: ISO/IEC DTR 13211–5:2007 Prolog Multi-threading Support,
  5. 5.
    Gupta, G., Pontelli, E., Ali, K., Carlsson, M., Hermenegildo, M.V.: Parallel Execution of Prolog Programs: A Survey. ACM Transactions on Programming Languages and Systems 23(4), 472–602 (2001)CrossRefGoogle Scholar
  6. 6.
    Moura, P.: Logtalk – Design of an Object-Oriented Logic Programming Language. PhD thesis, Department of Computer Science, University of Beira Interior (2003)Google Scholar
  7. 7.
    Ali, K., Karlsson, R.: The Muse Approach to OR-Parallel Prolog. International Journal of Parallel Programming 19(2), 129–162 (1990)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Paulo Moura
    • 1
    • 3
  • Ricardo Rocha
    • 2
    • 3
  • Sara C. Madeira
    • 1
    • 4
  1. 1.Dep. of Computer ScienceUniversity of Beira InteriorPortugal
  2. 2.Dep. of Computer ScienceUniversity of PortoPortugal
  3. 3.Center for Research in Advanced Computing SystemsINESC–PortoPortugal
  4. 4.Knowledge Discovery and Bioinformatics GroupINESC–IDPortugal

Personalised recommendations