The OASys (Or/And SYStem) is a software implementation designed for
AND/OR-parallel execution of logic programs. In order to combine these
two types of parallelism, OASys considers each alternative path as a
totally independent computation (leading to OR-parallelism) which
consists of a conjunction of determinate subgoals (leading to
AND-parallelism). This computation model is motivated by the need for
the elimination of communication between processing elements (PEs).
OASys aims towards a distributed memory architecture in which the PEs
performing the OR-parallel computation possess their own address space
while other simple processing units are assigned with AND-parallel
computation and share the same address space. OASys execution is based
on distributed scheduling which allows either recomputation of paths or
environment copying. We discuss in detail the OASys execution scheme and
we demonstrate OASys effectiveness by presenting the results obtained by
a prototype implementation, running on a network of workstations. The
results show that speedup obtained by AND/OR-parallelism is greater than
the speedups obtained by exploiting AND or OR-parallelism alone. In
addition, comparative performance measurements show that copying has a
minor advantage over recomputation. (C) 1999 Elsevier Science B.V. All
rights reserved