Distributing AND-work and OR-work in parallel logic programming systems

In parallel logic programming systems that exploit both AND-parallelism and OR-parallelism, the problem arises of how to distribute processors between the dynamically varying amounts of AND-work and OR-work that are available. Solutions have been reported for distributing only OR-work, or distributing only AND-work, but the issue of distributing processors between both kinds of work has not yet been addressed. In this paper, we discuss the problem of distributing AND-work and OR-work in the context of Andorra-I, a parallel logic programming system that exploits determinate AND-parallelism and OR-parallelism. We describe dynamic scheduling strategies that aim at efficiently distributing processors between AND-work and OR-work, and compare their performance with the performance produced by a static scheduling strategy, for a wide range of benchmarks.

[1]  John Zahorjan,et al.  Processor scheduling in shared memory multiprocessors , 1990, SIGMETRICS '90.

[2]  Rong Yang,et al.  IDIOM: Integrating Dependent And-, Independent And-, and Or-parallelism , 1991, ISLP.

[3]  Rong Yang,et al.  The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model , 1991, ICLP.

[4]  Vítor Manuel de Morais Santos Costa Compile-time analysis for the parallel execution of logic programs in Andorra-1 , 1993 .

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

[6]  Evangelos P. Markatos,et al.  Multiprogramming on multiprocessors , 1991, Proceedings of the Third IEEE Symposium on Parallel and Distributed Processing.

[7]  Inês de Castro Dutra,et al.  Distributing and- and or-work in the Andorra-I parallel logic programming system , 1995 .

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

[9]  Bart Demoen,et al.  Optimization Techniques for Nondeterministic Promotion in the Andorra Kernel Language , 1993, ICLP Workshop on Concurrent Constraint Programming.

[10]  Johan Montelius Penny, a Parallel Implementation of AKL , 1994, Workshop on Design and Impl. of Parallel Logic Programming Systems.

[11]  Bart Demoen,et al.  A Parallel Implementation for AKL , 1993, PLILP.

[12]  Rong Yang,et al.  Performance of the Compiler-Based Andorra-I System , 1993, ICLP.

[13]  Inẽs de Castro Dutra,et al.  Strategies for scheduling and- and or- work in parallel logic programming systems , 1994, ICLP 1994.

[14]  Rong Yang Solving Simple Substitution Ciphers in Andorra-I , 1989, ICLP.

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

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

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