skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: A backtracking algorithm for the stream AND-parallel execution of logic programs

Journal Article · · International Journal of Parallel Programming; (USA)
DOI:https://doi.org/10.1007/BF02427851· OSTI ID:5587628
; ;  [1]
  1. 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