ACE: And/Or-parallel Copying-based Execution of Logic Programs

The stack copying approach, as exemplified by the MUSE system, has been shown to be a quite successful alternative for representing multiple environments during or-parallel execution of logic programs. In this paper we present a novel execution model for parallel implementation of logic programs which is capable of exploiting both independent and-parallelism and or-parallelism in an efficient way and which combines the stack copying approach in the implementation of or-parallelism with proven techniques in the implementation of independent and-parallelism, such as those used in &-Prolog. The and parallelism is expressed via &-Prolog's conditional graph expressions. We show how all solutions to non-deterministic and-parallel goals are found without repetitions. This is done through recomputation as in Prolog (and &-Prolog), i.e., solutions of and-parallel goals are not shared. We also propose a scheme for the efficient management of the address space in a way that is compatible with the apparently incompatible requirements of both and- and or-parallelism. The resulting system retains the advantages of both purely or-parallel systems as well as purely and-parallel systems.

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

[2]  Manuel V. Hermenegildo,et al.  Compile-Time Derivation of Variable Dependency Using Abstract Interpretation , 1992, J. Log. Program..

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

[4]  Gordon Bell,et al.  Ultracomputers: a teraflop before its time , 1992, CACM.

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

[6]  Si-En Chang,et al.  Restricted AND-Parallelism Execution Model with Side-Effects , 1989, NACLP.

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

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

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

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

[11]  Manuel V. Hermenegildo,et al.  Relating Goal-Scheduling, Precedence, and Memory Management in AND-Parallel Execution of Logic Programs , 1987, ICLP.

[12]  Inês de Castro Dutra,et al.  A Flexible Scheduler for the Andorra-I System , 1991, ICLP Workshop on Parallel Execution of Logic Programs.

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

[14]  Pascal Van Hentenryck ACE: And/Or-parallel Copying-based Execution of Logic Programs , 1994 .

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

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

[17]  Kish Shen Exploiting Dependent And-Parallelism in Prolog: The Dynamic Dependent And-Parallel Scheme (DDAS) , 1992, JICSLP.

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

[19]  Doug DeGroot Restricted And-Parallelism and Side Effects , 1987, SLP.

[20]  Manuel V. Hermenegildo,et al.  Recomputation based Implementations of And-Or Parallel Prolog , 1992, FGCS.

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

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