High Level Thread-Based Competitive Or-Parallelism in Logtalk

  • Authors:
  • Paulo Moura;Ricardo Rocha;Sara C. Madeira

  • Affiliations:
  • Dep. of Computer Science, University of Beira Interior, Portugal and Center for Research in Advanced Computing Systems, INESC---Porto, Portugal;Dep. of Computer Science, University of Porto, Portugal and Center for Research in Advanced Computing Systems, INESC---Porto, Portugal;Dep. of Computer Science, University of Beira Interior, Portugal and Knowledge Discovery and Bioinformatics Group, INESC---ID, Portugal

  • Venue:
  • PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 individual subgoals usually correspond to predicates implementing different procedures that, depending on the problem specifics, are expected to either fail or succeed with different performance levels. 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 thread-based competitive or-parallelism in the context of Logtalk, an object-oriented logic programming language, and present experimental results.