A Compliling Approach for Exploiting And-parallelism in Parallel Logic Programming Systems

Exploiting and-parallelism is important in the research of parallel execution of logic programs. In this paper, we present a compiling approach for exploiting and-parallelism in logic programming. The approach consists of three phases: analysis of entry modes; derivation of exit modes; and determination of execution graph expressions. Compared with other approaches [2,4,5], this approach, with the compile-time program-level data-dependence analysis of logic programs, can efficiently exploit and-parallelism in logic programs. Two precompilers, based on our approach and DeGroot's [3] respectively, have been implemented in SES-PIM system [19]. Through compiling and running some typical benchmarks in SES-PIM, we conclude that our approach can exploit the maximum and-parallelism under "producer-consumer" scheme, exactly, the same degree as the dynamic approach [20] once employed in SES-PIM, and needs significantly less dynamic overhead than DeGroot's while exploiting more and-parallelism than DeGroot's.