Selective Recomputation for Handling Side-Effects in Parallel Logic Programs

In contrast to merely AND- and merely OR- parallel execution models/systems, the side- effect problem in AND/OR parallel execution of Prolog programs is intricate and need to be carefully investigated. To decrease the non-trivial recomputation occurred in previous approach, this paper presents a Selective Recomputation(SR) approach for handling side-effects in the OR-forest model which can exploit both AND- and OR-parallelism. Firstly, the background and motivation is introduced. Secondly, the complex side-effects orderings in AND/OR parallel execution models/systems are clearly described using an innovative concept — side-effect execution permit token. Thirdly, recomputation line is proposed to divide an AND-parallel child tree into non-recomputation part and recomputation part. Therefore, the recomputation is only confined to the recomputation part of an AND-parallel child tree, instead of the entire tree. And the non-recomputation part can be explored in parallel as pure child tree. Finally, by adopting the delayed execution of soft side-effect built-ins, the non-recomputation part is enlarged and thus the recomputation is minimized and parallelism is maximized. Through comparison and analysis, we conclude the SR approach can solve the side-effect problem with minimum recomputation and maximum parallelism. The idea of SR is applicable to other AND/OR parallel execution models/systems as well.

[1]  Chengzheng Sun,et al.  Reduction of Code Space in Parallel Logic Programming Systems , 1991, PARLE.

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

[3]  Kish Shen Initial Results of the Parallel Implementation of DASWAM , 1996, JICSLP.

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

[5]  Shouren Hu,et al.  A Compliling Approach for Exploiting And-parallelism in Parallel Logic Programming Systems , 1989, PARLE.

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

[7]  Chengzheng Sun,et al.  The OR-forest-based parallel execution model of logic programs , 1990, Future Gener. Comput. Syst..

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

[9]  Mats Carlsson Design and implementation of an or-parallel Prolog engine , 1990, RIT / KTH / TRITA-CS.

[10]  Gao Yaoqing,et al.  Reduction of code space in parallel logic programming systems , 1991 .

[11]  Dingxing Wang,et al.  Intelligent Scheduling AND- and OR-Parallelism in the Parallel Logic Programming System RAP/LOP-PIM , 1991, ICPP.

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

[13]  Enrico Pontelli,et al.  &ACE: a high-performance parallel Prolog system , 1995, IPPS.

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

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

[16]  Gopal Gupta,et al.  Complete and efficient methods for supporting side-effects and cuts in And-Or parallel Prolog , 1992, [1992] Proceedings of the Fourth IEEE Symposium on Parallel and Distributed Processing.

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

[18]  Michael Maher Initial Results from the Parallel Implementation of DASWAM , 1996 .

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

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

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

[22]  George H. Pollard Parallel execution of Horn clause programs , 1982 .