Parallel Execution of Logic Programs

  title={Parallel Execution of Logic Programs},
  author={J. Conery},
1 Introduction.- 2 Logic Programming.- 2.1 Syntax.- 2.2 Semantics.- 2.3 Control.- 2.4 Prolog.- 2.4.1 Evaluable Predicates and Arithmetic.- 2.4.2 Higher Order Functions.- 2.4.3 The Cut Symbol.- 2.5 Alternate Control Strategies.- 2.5.1 Selection by Number of Solutions.- 2.5.2 Selection by Number of Uninstantiated Variables.- 2.5.3 Intelligent Backtracking.- 2.5.4 Coroutines.- 2.6 Chapter Summary.- 3 Parallelism in Logic Programs.- 3.1 Models for OR Parallelism.- 3.1.1 Pure OR Parallelism.- 3.1.2… Expand
An execution model for exploiting and-or parallelism in logic programs (abstract)
The model has been developped to exploit both the and -and or- parallelism using a compile-time program-level and clause-level data dependence analysis to generate an execution graph that embodies the possible parallel executions. Expand
The OR-forest-based parallel execution model of logic programs
A new framework for parallel execution of logic programs is presented, including the OR-forest description and the abstract process model, which can exploit AND-OR-parallelisms in both deterministic and nondeterministic programs. Expand
OR-parallel evaluation of logic programs on a multi-ring dataflow machine
A multi-ring dataflow machine to support the OR-parallelism and the argument parallelism of logic programs is proposed and a new scheme is suggested for handling the deferred read mechanism of the dataflow architecture. Expand
Parallel execution of prolog programs: a survey
The article describes the major techniques used for shared memory implementation of Or-par parallelism, And-parallelism, and combinations of the two and explores some related issues, such as memory management, compile-time analysis, and execution visualization. Expand
Parallel logic programming systems
This article concentrates mainly on transparent exploitation of parallelism and surveys the most mature solutions to the problems to be solved in order to obtain efficient implementations and addresses current and prospective research issues in extending the applicability and the efficiency of existing systems. Expand
Distributing and- and or-work in the Andorra-I parallel logic programming system
This thesis discusses the problem of distributing and-work and or-work in the context of Andorra-I, a parallel logic programming system that exploits determinate and-parallelism andor- parallelism, and proposes scheduling strategies that aim at effi ciently distributing processors between and- work and or -work. Expand
COWL: Copy-On-Write for logic programs
  • V. S. Costa
  • Computer Science
  • Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999
  • 1999
This work proposes a novel approach to And/Or Parallelism in logic programs, and demonstrates that this technique can also be applied to and/Or systems, and present both shared memory and distributed shared memory designs. Expand
An execution model for exploiting AND-parallelism in logic programs
This paper presents a parallel execution model for exploiting AND-parallelism in Horn Clause logic programs that can be implemented efficiently with small run-time overhead and performs backtracking more intelligently than other related models. Expand
Automatic unrestricted independent and-parallelism in declarative multiparadigm languages
Different alternatives for performing automatic goal-level, unrestricted independent and-parallelization of logic programs through source-to-source transformations are studied in this work, which use as targets new parallel execution primitives which are simpler and more flexible than the well-known fork-join parallel operator. Expand
A data-driven machine for OR-parallel evaluation of logic programs
The development of one such model, its implementation and the design of a data-driven machine to support it are described, which exploits a form of parallelism known as OR-parallelism and is particularly suited to database applications, although it would also support general applications. Expand