On Applying Or-Parallelism and Tabling to Logic Programs
<|reference_start|>On Applying Or-Parallelism and Tabling to Logic Programs: 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.<|reference_end|>
@article{rocha2003on,
    title={On Applying Or-Parallelism and Tabling to Logic Programs},
    author={Ricardo Rocha and Fernando Silva and Vitor Santos Costa},
    journal={arXiv preprint arXiv:cs/0308007},
    year={2003},
    archivePrefix={arXiv},
    eprint={cs/0308007},
    primaryClass={cs.PL}
}