Threads and Or-Parallelism Unified
Vítor Santos Costa, Inês Dutra and Ricardo Rocha
July 2010
Abstract
One of the main advantages of Logic Programming (LP) is that it
provides an excellent framework for the parallel execution of
programs. In this work we investigate novel techniques to efficiently
exploit parallelism from real-world applications in low cost
multi-core architectures. To achieve these goals, we revive and
redesign the YapOr system to exploit or-parallelism based on a
multi-threaded implementation. Our new approach takes full advantage
of the state-of-the-art fast and optimized YAP Prolog engine and
shares the underlying execution environment, scheduler and most of the
data structures used to support YapOr's model. Initial experiments
with our new approach consistently achieve almost linear speedups for
most of the applications, proving itself as a good alternative for
exploiting implicit parallelism in the currently available low cost
multi-core architectures.
Bibtex
@Article{santoscosta-iclp10,
author = {V. Santos Costa and I. Dutra and R. Rocha},
title = {{Threads and Or-Parallelism Unified}},
journal = {Journal of Theory and Practice of Logic Programming,
26th International Conference on Logic Programming (ICLP 2010), Special Issue},
pages = {417--432},
volume = {10},
number = {4 \& 6},
month = {July},
year = {2010},
}
Download Paper
PDF file
Cambridge University Press
Computing Research Repository (CoRR)
Download Slides
PDF file