PDP is a transputer-based multiprocessor for parallel execution of Prolog.
The exploitation of parallelism is based on several sequential
Prolog engines supported by transputers and working in closed environments.
PDP exploits Independent_AND\OR parallelism and
deals with OR_under_AND parallelism producing a new computation for
each element of the cross product of the solutions. This avoids to store
partial solutions and to synchronize processors.
The system has been implemented on a torus network of transputers.
Different scheduling policies and granularity controls have been tested.
Results show that the overhead introduced to sequential execution is
quite small. Significant speedup is achieved for coarse grain benchmark
programs with each kind of parallelism. For programs presenting
AND and OR parallelism PDP achieves better results than the sum of both.