Reducing time by avoiding process serialisations in or-parallel interpretation of logic programs

Two kinds of parallelism arise when interpreting a logic program with a parallel architecture: Or-parallelism and And-parallelism. The former searches in parallel for the solution of one goal-literal by executing one process for each clause whose head unifies with the goal-literal. The latter is applied to solve the clause body activating parallel processes for the literals in the body of a clause. A big drawback of the previous Or-parallel models is that they fall down easily in the combinatorial explosion inherent in the solution of a logic programming problem. In this context, a particular processor in a parallel architecture is constrained to work with many processes which causes huge overheads by change contexts. The limitation in the required number of processes reduces the communication costs and it also avoids to serialise the processes.

[1]  David H. D. Warren,et al.  The SRI Model for Or-Parallel Execution of Prolog: Abstract Design and Implementation Issues , 1987, SLP.

[2]  Michael J. Wise Prolog multiprocessors , 1986 .

[3]  Doug DeGroot,et al.  AND-Parallelism of Logic Programs Based on a Static Data Dependency Analysis , 1985, COMPCON.

[4]  Philippe Robert,et al.  The Parallel ECRC Prolog System PEPSys: An Overview and Evaluation Results , 1988, FGCS.

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

[6]  Keith L. Clark,et al.  PARLOG and Its Applications , 1988, IEEE Trans. Software Eng..

[7]  Dennis F. Kibler,et al.  AND Parallelism in Logic Programs , 1983, IJCAI.

[8]  Andrzej Ciepielewski,et al.  Performance Evaluation of a Storage Model for OR--Parallel Execution of Logic Programs , 1986, SLP.

[9]  John S. Conery Parallelism in Logic Programs , 1987 .

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

[11]  Péter Szeredi,et al.  Scheduling Or-parallelism in Aurora: The Manchester Scheduler , 1989, International Conference on Logic Programming.

[12]  M. J. Wise Experimenting with EPILOG: some results and preliminary conclusions , 1986, ISCA 1986.

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

[14]  Mike Paterson,et al.  Linear unification , 1976, STOC '76.

[15]  Dennis F. Kibler,et al.  Parallel interpretation of logic programs , 1981, FPCA '81.

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

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