Hostname: page-component-74656f9884-npj9w Total loading time: 0 Render date: 2026-11-09T23:22:03.086Z Has data issue: false hasContentIssue false

Parallel backtracking with answer memoing for independent and-parallelism

Published online by Cambridge University Press:  06 July 2011

PABLO CHICO DE GUZMÁN
Affiliation:
School of Computer Science, Universidad Politécnica de Madrid, Spain (e-mail: pchico@clip.dia.fi.upm.es)
AMADEO CASAS
Affiliation:
Samsung Research, USA (e-mail: amadeo.c@samsung.com)
MANUEL CARRO
Affiliation:
School of Computer Science, Universidad Politécnica de Madrid, Spain, IMDEA Software Institute, Spain (e-mail: mcarro@fi.upm.es, herme@fi.upm.es, manuel.carro@imdea.org, manuel.hermenegildo@imdea.org)
MANUEL V. HERMENEGILDO
Affiliation:
School of Computer Science, Universidad Politécnica de Madrid, Spain, IMDEA Software Institute, Spain (e-mail: mcarro@fi.upm.es, herme@fi.upm.es, manuel.carro@imdea.org, manuel.hermenegildo@imdea.org)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Goal-level Independent and-parallelism (IAP) is exploited by scheduling for simultaneous execution of two or more goals, which will not interfere with each other at run time. This can be done safely even if such goals can produce multiple answers. The most successful IAP implementations to date have used recomputation of answers and sequentially ordered backtracking. While in principle simplifying the implementation, recomputation can be very inefficient if the granularity of the parallel goals is large enough and they produce several answers, while sequentially ordered backtracking limits parallelism. And, despite the expected simplification, the implementation of the classic schemes has proved to involve complex engineering, with the consequent difficulty for system maintenance and extension, while still frequently running into the well-known trapped goal and garbage slot problems. This work presents an alternative parallel backtracking model for IAP and its implementation. The model features parallel out-of-order (i.e., nonchronological) backtracking and relies on answer memoization to reuse and combine answers. We show that this approach can bring significant performance advantages. Also, it can bring some simplification to the important engineering task involved in implementing the backtracking mechanism of previous approaches.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2011