Parallel execution of logic programs is discussed. The authors argue that implicit parallelism can be extracted from full Prolog. By full Prolog they mean pure Prolog with extralogical features such as sideeffects, database predicates and cuts. Prolog programs have three main forms of implicit parallelism present in them: OR-parallelism, independent AND-parallelism, and dependent AND-parallelism. Starting from an OR-parallel version of full Prolog, it is shown that independent AND-parallel and dependent AND-parallel versions can be systematically derived. Details are presented of how the environment is represented by using paged binding arrays to handle multiple bindings of variables in the presence of OR-, independent AND-, and dependent AND-parallelism. It is also shown that extralogical predicates can be supported in this combined parallel implementation of Prolog
Published in:
System Sciences, 1993, Proceeding of the Twenty-Sixth Hawaii International Conference on
(Volume:ii
)
Date of Conference: 5-8 Jan 1993