Abstract In this paper, we present a compiling approach for exploiting AND-parallelism in logic programs. The approach consists of three phases: analysis of entry modes; derivation of exit modes; and determination of execution graph expressions. Compared with other approaches [1–4], this approach, with the compile-time program-level data-dependence analysis of logic programs, can more efficiently exploit AND-parallelism in logic programs. Two precompilers, based on our approach and DeGroot's approach [2] respectively, have been implemented in the SES-PIM system [9]. Through compiling and running some typical benchmarks in SES-PIM, we conclude that our approach can, in most cases, exploit as much AND-parallelism as the dynamic approach [10] does under “producer-consumer” scheme, and needs less dynamic overhead while exploiting more AND-parallelism than DeGroot's approach.
[1]
Dan I. Moldovan,et al.
Detection of and Parallelism in Logic Programming
,
1986,
ICPP.
[2]
Doug DeGroot,et al.
AND-Parallelism of Logic Programs Based on a Static Data Dependency Analysis
,
1985,
COMPCON.
[3]
Shouren Hu,et al.
A Compliling Approach for Exploiting And-parallelism in Parallel Logic Programming Systems
,
1989,
PARLE.
[4]
Doug DeGroot.
A Technique for Compiling Execution Graph Expressions for Restricted And-Parallelism in Logic Programs
,
1988,
J. Parallel Distributed Comput..
[5]
Chengzheng Sun,et al.
The OR-Forest Description for the Execution of Logic Programs
,
1986,
ICLP.