The Performance of Parallel Prolog Programs

Performance results are presented for a parallel execution model for Prolog that supports AND-parallelism, OR-parallelism, and intelligent backtracking. The results show that restricted AND-parallelism is of limited benefit for small programs, but produced speedups from 7-10 on two large programs. OR-parallelism was found to be generally not useful for the benchmarks examined if the semantics of Prolog were preserved. Of particular interest is the phenomenon of super-multiplicative behavior, in which the performance improvement obtained when more than one technique is used is greater than the product of the performance improvements due to each technique individually. The implications of the performance results for parallel Prolog systems are discussed, and directions for future work are indicated. >

[1]  Alvin M. Despain,et al.  Semi-Intelligent Backtracking of Prolog Based on Static Data Dependency Analysis , 1985, SLP.

[2]  Jim A. Crammond A comparative study of unification algorithms for OR-parallel execution of logic languages , 1985, IEEE Transactions on Computers.

[3]  Alain J. Martin,et al.  The Sync Model: A Parallel Execution Method for Logic Programming , 1986, SLP.

[4]  Barry Fagin,et al.  The Berkeley PLM Instruction Set: An Instruction Set for Prolog , 1986 .

[5]  Gary Lindstrom,et al.  Or-Parallelism on Applicative Architectures , 1984, International Conference on Logic Programming.

[6]  Doug DeGroot Restricted and parallel execution of logic programs , 1988 .

[7]  Ryuzo Hasegawa,et al.  Parallel Execution of Logic Programs based on Dataflow Concept , 1984, Fifth Generation Computer Systems.

[8]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[9]  Barry Steven Fagin A parallel execution model for prolog , 1987 .

[10]  Peter Van Roy,et al.  A distributed Prolog system with AND parallelism , 1988, IEEE Software.

[11]  Kai Hwang,et al.  Computer Architectures for Artificial Intelligence Processing , 1987, Computer.

[12]  Manuel V. Hermenegildo,et al.  An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel , 1986 .

[13]  Doug DeGroot,et al.  Restricted AND-Parallelism , 1984, FGCS.

[14]  John C. Mitchell,et al.  On the Sequential Nature of Unification , 1984, J. Log. Program..

[15]  Lubomir F. Bic A Data-Driven Model for Parallel Interpretation of Logic Programs , 1984, FGCS.

[16]  Tep P. Dobry A High Performance Architecture For Prolog , 1987 .

[17]  Alvin M. Despain,et al.  Performance studies of a parallel Prolog architecture , 1987, ISCA '87.

[18]  Seif Haridi,et al.  A Formal Model for Or-Parallel Execution of Logic Programs , 1983, IFIP Congress.

[19]  Jan Maluszynski,et al.  AND-Parallelism with Intelligent Backtracking for Annotated Logic Programs , 1985, SLP.

[20]  Alvin M. Despain,et al.  Parallel Unification Scheduling in Prolog , 1988 .

[21]  William F. Clocksin,et al.  Programming in Prolog , 1987, Springer Berlin Heidelberg.

[22]  Tsutomu Maruyama,et al.  The Architecture of a Parallel Inference Engine - PIE , 1984, Fifth Generation Computer Systems.

[23]  Peter Borgwardt Parallel Prolog Using Stack Segements on Shared-Memory Multiprocessors , 1984, SLP.