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.
KeywordsAnd/Or-parallelism Prolog Stack copying Conditional Graph Expressions
Unable to display preview. Download preview PDF.
- K.A.M. Ali. Or-parallel Execution of Prolog on the BC-Machine. In Fifth International Conference and Symposium on Logic Programming, pages 253–268, MIT Press, 1988.Google Scholar
- K.A.M. Ali and R. Karlsson. The muse or-parallel prolog model and its performance. In 1990 North American Conference on Logic Programming, MIT Press, October 1990.Google Scholar
- V. Santos Costa, D.H.D. Warren, and R. Yang. Andorra-I: A Parallel Prolog System that Transparently Exploits both And-and Or-parallelism. In Proceedings of the 3rd. ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, ACM, April 1990.Google Scholar
- Inês Dutra. A Flexible Scheduler for the Andorra-I System. In ICLP'91 Pre-Conference Workshop on Parallel Execution of Logic Programs, Computer Science Department, University of Bristol, June 1991.Google Scholar
- G. Gupta. Paged Binding Array: Environment Representation for And-Or Parallel Prolog. 1991. Submitted to FGCS'92.Google Scholar
- G. Gupta and V. Santos Costa. Cut and Side-Effects in And-Or Parallel Prolog. 1991. Submitted to FGCS'92.Google Scholar
- G. Gupta and B. Jayaraman. Compiled And-Or Parallelism on Shared Memory Multiprocessors. In 1989 North American Conference on Logic Programming, pages 332–349, MIT Press, October 1989.Google Scholar
- M. Hermenegildo and K. Greene. &-Prolog and its Performance: Exploiting Independent And-Parallelism. In 1990 International Conference on Logic Programming, pages 253–268, MIT Press, June 1990.Google Scholar
- M. V. Hermenegildo. An Abstract Machine Based Execution Model for Computer Architecture Design and Efficient Implementation of Logic Programs in Parallel. PhD thesis, Dept. of Electrical and Computer Engineering (Dept. of Computer Science TR-86-20), University of Texas at Austin, Austin, Texas 78712, August 1986.Google Scholar
- B. Ramkumar and L. V. Kale. Compiled Execution of the Reduce-OR Process Model on Multiprocessors. In 1989 North American Conference on Logic Programming, pages 313–331, MIT Press, October 1989.Google Scholar
- K. Shen and M. Hermenegildo. A Simulation Study of Or-and Independent And-parallelism. Technical Report FIM-60.1/AI/90, Facultad de Informatica, U. P. Madrid, 28660 Boadilla del Monte, Madrid, Spain, October 1990.Google Scholar
- H. Westphal and P. Robert. The PEPSys Model: Combining Backtracking, AND-and OR-Parallelism. In International Symposium on Logic Programming, pages 436–448, San Francisco, IEEE Computer Society, August 1987.Google Scholar