Improving parallel execution performance for logic programs using mode information

Parallel execution of a logic program is an active research topic. Extensive study has been focused on the AND-OR parallel execution of a logic program. Current approaches adopt a top-down evaluation sequence to realize AND-OR parallelism by exploring parallelly executable predicates from root to leaf and then collect bindings generated in this process. Our research presented in this paper explores the parallel execution of a logic program based on a new data flow analysis algorithm. A logic program is first applied by data dependency analysis which can find all mode combinations possibly existing within a logic clause. This mode information is used to support a novel hybrid parallel execution model, which combines both top-down and bottom-up evaluation strategies. By adopting this model, various improvements can be achieved. The results generated from a simulator demonstrate very encouraging results.<<ETX>>

[1]  Chuan-lin Wu,et al.  A Parallel Execution Model of Logic Programs , 1991, IEEE Trans. Parallel Distributed Syst..

[2]  Heikki Mannila,et al.  Flow Analysis of Prolog Programs , 1987, SLP.

[3]  Alain J. Martin,et al.  The Sync Model: A Parallel Execution Method for Logic Programming , 1986, SLP.

[4]  Doug DeGroot Restricted and parallel execution of logic programs , 1988 .

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

[6]  Doug DeGroot Alternate Graph Expressions for Restricted AND-Parallelism , 1985, COMPCON.

[7]  Saumya K. Debray,et al.  Global Flow Analysis as a Practical Compilation Tool , 1992, J. Log. Program..

[8]  Thomas Weigert,et al.  Knowledge-Based Software Development for Real-Time Distributed Systems , 1993, Series on Software Engineering and Knowledge Engineering.

[9]  Kevin Steer Testing Data Flow Diagrams with PARLOG , 1988, ICLP/SLP.

[10]  Bing Li,et al.  A framework of a logic-based transformation system , 1992, [1992] Proceedings. The Sixteenth Annual International Computer Software and Applications Conference.