Improving Backward Execution in the Andorra Family of Languages.
Salvador Abreu, Luı́s Moniz Pereira, Philippe Codognet · 1992
We present a new mechanism for improving the execution of nondeterministic concurrent logic languages, such as the Andorra family of languages. The basic idea is, upon failure and backtracking, to reschedule continuation goals in order to first execute the goal that has failed. In this way, if the backtrack point is not pertinent to the failure, the original failing goal will fail again and this will immediately amount to further deeper backtracking. Such a heuristic will hence save useless deduction/backtracking work. We have implemented this scheme by modifying the Andorra Kernel Language prototype implementation developed at SICS (AKL/PS version 0.0), and evaluation results show that this backward execution strategy improves performance for a variety of benchmarks, giving speedups up to a factor two or three. 1 Introduction Since the first research in the early 80's, the field of concurrent logic programming has raised a number of important issues about the way of executing logic ...