This paper presents a novel parallel implementation of Prolog. The system is based on Multipath, a novel execution model for Prolog that implements a partial breadth-first search of the SLD-tree. The paper focusses on the type of parallelism inherent to the execution model, which is called path parallelism. This is a particular case of data parallelism that can be efficiently exploited in a SPMD architecture. A SPMD architecture oriented to the Multipath execution model is presented. A simulator of such system has been developed and used to assess the performance of path parallelism. Performance figures show that path parallelism is effective for non-deterministic programs.
Index Terms:
PROLOG; logic programming; parallel programming; logic programming; path parallelism; Prolog; Multipath; partial breadth-first search; SLD-tree; execution model; data parallelism; SPMD architecture; non-deterministic programs
Citation:
J. Tubella, A. Gonzalez, "Exploiting path parallelism in logic programming," pdp, pp.164, 3rd Euromicro Workshop on Parallel and Distributed Processing, 1995