Dept. of Computer Science and Engineering
Oregon Graduate Center
Various algorithms for reducing overhead in parallel Prolog systems are studied, and an attempt to increase the speed of sequential Prolog execution is made by implementing a Parallel Prolog Opcode-Interpreter (P API). This opcode-interpreter exploits AND-parallelism and runs on a shared-memory multiprocessor architecture. Efforts are made to reduce the potential for high overhead in the areas of communication, backtracking, and variable-binding conflict detection. The design and implementation of PAPI is discussed and followed by benchmark tests and analysis. The results from benchmark testing indicate that Prolog programs that backtrack do not show an improvement in performance over sequential execution, but deterministic Prolog programs executed in parallel illustrate a marked improvement over sequential execution. Prolog programs that contain large amounts of parallelism and create deep proof trees benefit most from this implementation of AND-parallelism. Possible explanations for these findings and suggestions for future research are also presented.
Hakansson, Carolyn Ann, "The design and implementation of a parallel prolog opcode-interpreter on a multiprocessor architecture" (1987). Scholar Archive. 243.