An Or-Parallel Prolog Execution Model for Clusters of Multicores
João Santos and Ricardo Rocha
September 2013
Abstract
Logic Programming languages, such as Prolog, offer a great potential
for the exploitation of implicit parallelism. One of the most
distinguishable sources of implicit parallelism in Prolog programs is
or-parallelism. Or-parallelism arises from the simultaneous evaluation
of a subgoal call against the clauses that match that call. Arguably,
or-parallel Prolog systems based on the environment copying model have
been the most successful parallel logic programming systems so
far. Nowadays, multicores and clusters of multicores are becoming the
norm and, although, many parallel Prolog systems have been developed
in the past, to the best of our knowledge, none of them was specially
designed to explore the combination of shared with distributed memory
architectures. Motivated by our past experience, in designing and
developing parallel Prolog systems based on the environment copying
model, we propose a novel computational model to efficiently exploit
implicit parallelism from large scale real-world applications
specialized for the novel architectures based on clusters of
multicores.
Bibtex
@InProceedings{santos-epia13-local,
author = {J. Santos and R. Rocha},
title = {{An Or-Parallel Prolog Execution Model for Clusters of Multicores}},
booktitle = {Local Proceedings of the 16th Portuguese Conference on Artificial Intelligence (EPIA 2013)},
pages = {154--165},
editor = {L. Paulo Reis and L. Correia and J. Cascalho},
month = {September},
year = {2013},
address = {Açores, Portugal},
}
Download Paper
PDF file