High performance execution of Prolog programs based on a Static Data Dependency Analysis
Thesis/Dissertation
·
OSTI ID:7011409
Prolog programs are executed from left-to-right and top-to-bottom with backtracking to the most recently activated choice-point when a failure occurs. This execution strategy is based on a sequential execution model and has been implemented with most efficiency in conventional computer systems. In this thesis, two ways are explored to improve the performance of a Prolog system. The first way is a more intelligent form of backtracking. The second way is to exploit AND-parallel execution. Both intelligent backtracking and AND-parallel execution require information about the dependency between body literals. This information can be derived either at compile time by using a static analysis or at run-time. A methodology for a Static Data Dependency Analysis (SDDA) was developed. The SDDA is based on a worst-case analysis of variable bindings. To perform the SDDA, only one declaration, which describes the worst-case activation, is necessary for each procedure which can be directly invoked from the top level query. A scheme for compiling intelligent backtracking based on the SDDA was designed. To take full advantage of dependency graphs, three different types of backtracking are differentiated. A scheme to exploit AND-parallelism is also proposed. It includes generating parallel executable tasks by the SDDA, using a set of message protocols to coordinate co-operating processes, exploiting both intelligent backtracking and parallel backtracking.
- Research Organization:
- California Univ., Berkeley (USA)
- OSTI ID:
- 7011409
- Country of Publication:
- United States
- Language:
- English
Similar Records
A parallel execution model for Prolog
Parallel execution model for Prolog
High-speed CAM-based architecture for a prolog machine (ASCA)
Book
·
Wed Dec 31 23:00:00 EST 1986
·
OSTI ID:6905723
Parallel execution model for Prolog
Thesis/Dissertation
·
Wed Dec 31 23:00:00 EST 1986
·
OSTI ID:5575569
High-speed CAM-based architecture for a prolog machine (ASCA)
Journal Article
·
Mon Oct 31 23:00:00 EST 1988
· IEEE Trans. Comput.; (United States)
·
OSTI ID:6476434