And-Or parallel Prolog: A recomputation based approach

We argue that in order to exploit both Independent And-and Or-parallelism in Prolog programs there is advantage in recomputing some of the independent goals, as opposed to all their solutions being reused. We present an abstract model, called the Composition-tree, for representing and-or parallelism in Prolog programs. The Composition-tree closely mirrors sequential Prolog execution by recomputing some independent goals rather than fully re-using them. We also outline two environment representation techniques for And-Or parallel execution offull Prolog based on the Composition-tree model abstraction. We argue that these techniques have advantages over earlier proposals for exploiting and-or parallelism in Prolog.

[1]  Raéd Yousef Sindaha The Dharma scheduler-definitive scheduling in Aurora on multiprocessors architecture , 1992, [1992] Proceedings of the Fourth IEEE Symposium on Parallel and Distributed Processing.

[2]  Gopal Gupta,et al.  Cuts and Side-Effects in And-Or Parallel Prolog , 1996, J. Log. Program..

[3]  Manuel V. Hermenegildo,et al.  Efficient Management of Backtracking in AND-Parallelism , 1986, ICLP.

[4]  Vipin Kumar,et al.  AND-Parallel Execution of Logic Programs on a Shared-Memory Multiprocessor , 1988, J. Log. Program..

[5]  Gopal Gupta,et al.  And-Or Parallelism in Full Prolog with Paged Binding Arrays , 1992, PARLE.

[6]  Manuel V. Hermenegildo,et al.  Complete and Efficient Methods for Supporting Side-effects in Independent/Restricted AND-Parallelism , 1989, ICLP.

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

[8]  Gopal Gupta,et al.  Optimizing And-Or Parallel Implementations , 1990, NACLP.

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

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

[11]  Khayri A. M. Ali,et al.  Full prolog and scheduling or-parallelism in muse , 1991, International Journal of Parallel Programming.

[12]  Seif Haridi,et al.  OR-Parallel Prolog Made Efficient on Shared Memory Multiprocessors , 1987, SLP.

[13]  Kish Shen Studies of and/or parallelism in Prolog , 1992 .

[14]  Manuel V. Hermenegildo,et al.  A simulation study of or- and independent and-parallelism , 1991 .

[15]  Seif Haridi,et al.  The Aurora or-parallel Prolog system , 1990, New Generation Computing.

[16]  Enrico Pontelli,et al.  ACE: And/Or-parallel Copying-based Execution of Logic Programs , 1994, ICLP.

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

[18]  Manuel V. Hermenegildo,et al.  Determination of Variable Dependence Information through Abstract Interpretation , 1989, NACLP.

[19]  Lee Naish Visualization of And/Or-Parallel Execution of Logic Programs , 1997 .

[20]  Francesca Rossi,et al.  Non-Strict Independent And-Parallelism , 1990, ICLP.

[21]  U. K. gupta Paged Binding Array: Environment Representation for And-or Parallel Prolog , 1991 .

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

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

[24]  Manuel V. Hermenegildo,et al.  The DCG, UDG, and MEL Methods for Automatic Compile-time Parallelization of Logic Programs for Independent And-parallelism , 1990, ICLP.

[25]  Seif Haridi,et al.  Programming Paradigms of the Andorra Kernel Language , 1991, ISLP.

[26]  Gopal Gupta Parallel execution of logic programs on shared memory multiprocessors , 1992 .

[27]  Manuel V. Hermenegildo,et al.  &-Prolog and its Performance: Exploiting Independent And-Parallelism , 1990, ICLP.

[28]  W. F. Clocksin,et al.  A method for efficiently executing horn clause programs using multiple processors , 2009, New Generation Computing.

[29]  Rong Yang,et al.  Andorra I: a parallel Prolog system that transparently exploits both And-and or-parallelism , 1991, PPOPP '91.

[30]  André Véron,et al.  Virtual memory support for OR-parallel logic programming systems , 1991 .

[31]  David Scott Warren,et al.  Efficient Prolog memory management for flexible control strategies , 1984, New Generation Computing.

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

[33]  Manuel V. Hermenegildo,et al.  An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs , 1986, ICLP.