Parallel Processing Research
Implementation and Performance of &ACE:
An Independent And-Parallel System
New Mexico State University, Technical Report.
Author(s)
Gopal Gupta,
Manuel Hermenegildo,
Enrico Pontelli
Abstract
Logic programming is a paradigm of programming based on a subset of first order
logic. An important property of logic programming languages, such as Prolog,
is that their declarativew semantics is largely independent of the order in which different
operations are performed during execution of the program. The different operations
can also be performed in parallel, and as a result it is possible to exploit substantial parallelism
from Prolog programs, that have been written for sequential machines, without requiring the user to make
any modifications to them. In this paper we present a model called ACE that accomplishes
this.
ACE is a computational model for the full Prolog language, capable of concurrently exploiting
both Or-parallelism and Independent And-parallelism. In
this paper we focus on the specific
implementation of the and-parallel component of the ACE system, describing its internal
organization, some optimizations to the basic model, and finally presenting some
performance figures. These performance figures show that our system is very good
at exploiting parallelism from applications written in Prolog since it is
able to obtain linear speedups.
The whole paper
can be downloaded from our
server.
Parallel Proc. Page
Research Page
Lab Home Page