On Applying Or-Parallelism and Tabling to Logic Programs
release_3selsv5sezas7osj5c7ua7bzem
by
Ricardo Rocha and Fernando Silva and Vitor Santos Costa
2003
Abstract
The past years have seen widening efforts at increasing Prolog's
declarativeness and expressiveness. Tabling has proved to be a viable technique
to efficiently overcome SLD's susceptibility to infinite loops and redundant
subcomputations. Our research demonstrates that implicit or-parallelism is a
natural fit for logic programs with tabling. To substantiate this belief, we
have designed and implemented an or-parallel tabling engine -- OPTYap -- and we
used a shared-memory parallel machine to evaluate its performance. To the best
of our knowledge, OPTYap is the first implementation of a parallel tabling
engine for logic programming systems. OPTYap builds on Yap's efficient
sequential Prolog engine. Its execution model is based on the SLG-WAM for
tabling, and on the environment copying for or-parallelism.
Preliminary results indicate that the mechanisms proposed to parallelize
search in the context of SLD resolution can indeed be effectively and naturally
generalized to parallelize tabled computations, and that the resulting systems
can achieve good performance on shared-memory parallel machines. More
importantly, it emphasizes our belief that through applying or-parallelism and
tabling to logic programs the range of applications for Logic Programming can
be increased.
In text/plain
format
Archived Files and Locations
application/pdf 498.3 kB
file_gdcrrm5nofhe5f2fiuzcrk54wa
|
core.ac.uk (web) archive.org (archive) web.archive.org (webarchive) |
cs/0308007v1
access all versions, variants, and formats of this works (eg, pre-prints)