The Parallel Interpretation of Logic Programs in Distributed Architectures
P. Corsini · The Computer Journal · 1989
Multiple processor architectures can be used to speed up the execution of logic programs, as they allow the exploitation of appropriate forms of OR–AND parallelism. In this paper we refer to distributed systems in which nodes are connected by means of point-to-point links, and information exchanges between processes are accomplished by message passing alone. The number of nodes is supposed to be not too large, and the memory of each node not sufficient to store all the database. A parallel interpreter for logic programs is proposed in which the parallelism exploited is not the maximum one and consists of the classical OR parallelism paired with an appropriate form of AND parallelism (‘backtracking parallelism’). The solutions are evaluated in the same order as a classical sequential depth-first interpreter.