Title :
Backtracking in independent and-parallel implementations of logic programming languages
Author :
Pontelli, E. ; Gupta, G.
Author_Institution :
Dept. of Comput. Sci., New Mexico State Univ., Las Cruces, NM, USA
Abstract :
In this paper, we present an implementation model which efficiently supports backtracking in an independent and-parallel nondeterministic system. The problem is tackled in the context of logic programming, although the solution proposed is sufficiently general to be easily extended to different nondeterministic systems, such as constraint programming systems. The complexity of the problem is demonstrated by the fact that most existing and-parallel systems either do not support backtracking over and-parallel calls or simply avoid analyzing the performance of their systems in the presence of nondeterministic benchmarks. The implementation model we present is an extension of the backtracking scheme developed by Hermenegildo and Nasr (1986) and relies on a novel memory organization scheme and on the use of various optimizations to reduce communication and overhead. The solution developed has been implemented in the ACE Parallel Prolog system. The performance of the system is analyzed on a variety of benchmarks. The results obtained are remarkable: speedups achieved during forward execution are not lost in heavy backtracking activities and, frequently, super-linear speedups are obtained thanks to a semi-intelligent backtracking scheme.
Keywords :
backtracking; logic programming; logic programming languages; optimisation; parallel programming; ACE Parallel Prolog system; backtracking; constraint programming systems; forward execution; independent and-parallel nondeterministic system; logic programming languages; memory organization scheme; optimization; semi-intelligent backtracking scheme; speedups; Artificial intelligence; Computer languages; Computer science; Constraint optimization; Logic programming; Parallel processing; Performance analysis; Search problems;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on