Practical issues relating to the internal database predicates in an OR-parallel Prolog: Extensions and useful hacks

Mats Carlsson, Kenneth J. Danhof, Ross Overbeek · 1988

This technical report is being written to document and explain some of the insights the authors have gained during the implementation of two OR-parallel Prolog systems for shared-memory multiprocessors. We have been quite amazed by how much power and functionality can be achieved through the implementation of just a few primitive predicates. We introduce a few relatively trivial predicates which allow one to implement versions of findall/3, bagof/3, and setof/3 for the a multiprocessor environment. Then we show how these predicates can be used to implement AND-parallelism. Finally, we illustrate their use for implementing a limited notion of streams, and how such streams can be used to create a compiler that achieves excellent speedups for multiprocessors with a limited number of processors.

Read the paper · More papers on PaperTik