Exploiting OR-parallelism in logic programs: A review

Abstract Different forms of parallelism have been identified in logic programs for efficient implementations on multiprocessor systems. Among these, OR- and AND-parallelism have been the focus for exploitation for the past decade. Research in such exploitation has led to the proposals and implementations of various execution models and logic programming systems. This paper attempts to summarise, in the form of a structured review, the major activities in the area of exploiting OR-parallelism. Problems arising in implementing OR-parallelism and various models and working systems featuring different techniques for solving these problems are discussed.

[1]  Lee Naish,et al.  Negation and Control in Prolog , 1986, Lecture Notes in Computer Science.

[2]  Khayri A. M. Ali,et al.  OR-Parallel Speedups in a Knowledge Based System: on Muse and Aurora , 1992, FGCS.

[3]  Khayri A. M. Ali OR-Parallel Execution of Prolog on BC-Machine , 1988, ICLP/SLP.

[4]  Ken Satoh,et al.  KABU-WAKE: A New Parallel Inference Method and Its Evaluation , 1986, COMPCON.

[5]  John S. Conery Parallel Execution of Logic Programs , 1987 .

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

[7]  Bogumil Hausman Handling Speculative Work in OR-Parallel Prolog: Evaluation Results , 1990, NACLP.

[8]  Hassan Aït-Kaci,et al.  Warren's Abstract Machine: A Tutorial Reconstruction , 1991 .

[9]  Khayri A. M. Ali,et al.  Scheduling Or-Parallelism in Muse , 1991, ICLP.

[10]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

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

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

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

[14]  Petros Kefalas,et al.  OR-Parallel Prolog and Search Problems in AI Applications , 1990, ICLP.

[15]  Scheduling Strategies and Speculative Work , 1991, ICLP Workshop on Parallel Execution of Logic Programs.

[16]  Ewing L. Lusk,et al.  Experiments with OR-Parallel Logic Programs , 1987, ICLP.

[17]  S. Chengzheng,et al.  The OR-forest-based parallel execution model of logic programs , 1990 .

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

[19]  Gopal Gupta,et al.  On Criteria for Or-Parallel Execution Models of Logic Programs , 1990, NACLP.

[20]  Laxmikant V. Kalé,et al.  Compiled Execution of the Reduce-OR Process Model on Multiprocessors , 1989, NACLP.

[21]  Gary Lindstrom,et al.  A Performance-Oriented Design for OR-Parallel Logic Programming , 1987, ICLP.

[22]  Jeff Reynolds,et al.  VLSI for Parallel Execution of Prolog , 1989 .

[23]  Andrzej Ciepielewski,et al.  Cut and Side-Effects in Or-Parallel Prolog , 1988, FGCS.

[24]  Tim Lindholm,et al.  Tutorial on the Warren abstract machine for computational logic , 1985 .

[25]  Kang Zhang,et al.  A Non-shared Binding Scheme for Parallel Prolog Implementation , 1991, IJCAI.

[26]  N. Ito,et al.  The architecture and preliminary evaluation results of the experimental parallel inference machine PIM-D , 1986, ISCA 1986.

[27]  Kang Zhang,et al.  DIALOG - A dataflow model for parallel execution of logic programs , 1991, Future Gener. Comput. Syst..

[28]  T. J. Reynolds,et al.  A message driven OR-parallel machine , 1989, ASPLOS 1989.

[29]  David H. D. Warren,et al.  Flexible scheduling of or-parallelism is Aurora: the Bristol scheduler , 1991 .

[30]  Ehud Shapiro,et al.  The family of concurrent logic programming languages , 1989, CSUR.

[31]  Kevin Knight,et al.  Unification: a multidisciplinary survey , 1989, CSUR.

[32]  Mats Carlsson,et al.  SICStus Prolog User''s Manual , 1993 .

[33]  Péter Szeredi Performance Analysis of the Aurora Or-Parallel Prolog System , 1989, NACLP.

[34]  Seif Haridi,et al.  Or-Parallel Prolog on Shared Memory Multiprocessors , 1989, J. Log. Program..

[35]  Khayri A. M. Ali A Method for Implementing Cut in Parallel Execution of Prolog , 1987, SLP.

[36]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[37]  Peter M. Kogge,et al.  The Architecture of Symbolic Computers , 1990 .

[38]  Seif Haridi,et al.  Initial evaluation of a virtual machine for Or-parallel execution of logic programs , 1986 .

[39]  Philippe Robert,et al.  The PEPSys Model: Combining Backtracking, AND- and OR-Parallelism , 1987, SLP.

[40]  Chengzheng Sun,et al.  The sharing of environment in AND-OR-parallel execution of logic programs , 1987, ISCA '87.

[41]  Michael J. Wise,et al.  A parallel Prolog: The construction of a data driven model , 1982, LFP '82.

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

[43]  Chengzheng Sun,et al.  The OR-Forest Description for the Execution of Logic Programs , 1986, ICLP.

[44]  Khayri A. M. Ali,et al.  The Muse Or-Parallel Prolog Model and its Performance , 1990, NACLP.

[45]  A. S. K. Cheng,et al.  BRAVE - a parallel logic language for artificial intelligence , 1988, Future Gener. Comput. Syst..

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

[47]  G .Z. Qadah,et al.  Logic machines: A survey , 1899 .