YapOr: an Or-Parallel Prolog System based on Environment Copying
Ricardo Rocha, Fernando Silva and Vítor Santos Costa
Departamento de Ciência de Computadores & LIACC
Faculdade de Ciências, Universidade do Porto
Rua do Campo Alegre, 823 4150 Porto, Portugal
To develop YapOr, it was necessary to solve some important issues, such as the design of data structures to support parallel processing, the implementation of the incremental copying technique, the development of a memory organization able to answer with efficiency to parallel processing and to the incremental copying in particular, the implementation of the scheduling strategies, the design of an interface between the scheduler and the engine, the implementation of the sharing work process, and support for the cut builtin.
An initial evaluation of YapOr performance showed that it achieves very good performance on a large set of benchmark programs. Indeed, YapOr compares favorably with a mature parallel Prolog system such as Muse, both in terms of base speed and in terms of speedups.
Keywords: Parallel Logic Programming, Scheduling, Performance Evaluation.