August 1987

Document Type


Degree Name



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.





To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.