Issue No. 11 - November (2001 vol. 12)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.969127
<p><b>Abstract</b>—In this paper, we present an implementation model which efficiently supports backtracking in an <it>independent and-parallel</it> 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 <it>backtracking</it> scheme developed by Hermenegildo and Nasr [<ref rid="bibL116931" type="bib">31</ref>] 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.</p>
Backtracking, and-parallelism, logic programming.
"Backtracking in Independent And-Parallel Implementations of Logic Programming Languages," in IEEE Transactions on Parallel & Distributed Systems, vol. 12, no. , pp. 1169-1189, 2001.