A backtracking algorithm for the stream AND-parallel execution of logic programs
- Univ. of Melbourne, Parkville (Australia)
The authors present the first backtracking algorithm for stream AND-parallel logic programs. It relies on compile-time knowledge of the data flow graph of each clause to let it figure out efficiently which goals to kill or restart when a goal fails. This crucial information, which they derive from mode declarations, was not available at compile-time in any previous stream AND-parallel system. They show that modes can increase the precision of the backtracking algorithm, though their algorithm allows this precision to be traded off against overhead on a procedure-by-procedure and call-by-call basis. The modes also allow their algorithm to handle efficiently programs that manipulate partially instantiated data structures and an important class of programs with circular dependency graphs. On code that does not need backtracking, the efficiency of their algorithm approaches that of the committed-choice languages; on code that does need backtracking its overhead is comparable to that of the independent AND-parallel backtracking algorithms.
- OSTI ID:
- 5587628
- Journal Information:
- International Journal of Parallel Programming; (USA), Vol. 17:3; ISSN 0885-7458
- Country of Publication:
- United States
- Language:
- English
Similar Records
A join algorithm for combining AND parallel solutions in AND/OR parallel systems
A technique for compiling execution graph expressions for restricted and-parallelism in logic programs
Related Subjects
ALGORITHMS
PARALLEL PROCESSING
MATHEMATICAL LOGIC
ACCURACY
ARTIFICIAL INTELLIGENCE
COMPUTER CODES
DECISION MAKING
EFFICIENCY
IMPLEMENTATION
LOGIC CIRCUITS
OPTIMIZATION
TASK SCHEDULING
DATA PROCESSING
ELECTRONIC CIRCUITS
PROCESSING
PROGRAMMING
990210* - Supercomputers- (1987-1989)