Parallel logic programming systems
- 1 September 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 26 (3) , 295-336
- https://doi.org/10.1145/185403.185453
Abstract
Parallelizing logic programming has attracted much interest in the research community, because of the intrinsic OR- and AND-parallelisms of logic programs. One research stream aims at transparent exploitation of parallelism in existing logic programming languages such as Prolog, while the family of concurrent logic languages develops language constructs allowing programmers to express the concurrency—that is, the communication and synchronization between parallel processes—within their algorithms. 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. These solutions have been implemented, and the most efficient parallel logic programming systems reach effective speedups over state-of-the-art sequential Prolog implementations. The article also addresses current and prospective research issues in extending the applicability and the efficiency of existing systems, such as models merging the transparent parallelism and the concurrent logic languages approaches, combination of constraint logic programming with parallelism, and use of highly parallel architectures.Keywords
This publication has 22 references indexed in Scilit:
- Non-Deterministic Concurrent Logic Programming in PandoraPublished by World Scientific Pub Co Pte Ltd ,1993
- Ultracomputers: a teraflop before its timeCommunications of the ACM, 1992
- A practical framework for theabstract interpretation of logic programsThe Journal of Logic Programming, 1991
- An introduction to Prolog IIICommunications of the ACM, 1990
- An abstract machine to implement or-and parallel PROLOG efficientlyThe Journal of Logic Programming, 1990
- Solving large combinatorial problems in logic programmingThe Journal of Logic Programming, 1990
- A multi-level load balancing scheme for OR-parallel exhaustive search programs on the multi-PSIACM SIGPLAN Notices, 1990
- A method for efficiently executing horn clause programs using multiple processorsNew Generation Computing, 1988
- PARLOG: parallel programming in logicACM Transactions on Programming Languages and Systems, 1986
- Guarded commands, nondeterminacy and formal derivation of programsCommunications of the ACM, 1975