Design of the Andorra-I SystemRong Yang, Ines Dutra, Vitor Santos Costa, Design of the Andorra-I System. CSTR-91-PEPMA, Department of Computer Science, University of Bristol. January 1991. PDF, 418 Kbytes.
The Andorra model is a parallel logic programming computational model combining both dependent and-parallelism and or-parallelism. Andorra-I is a prototype parallel implementation of this model for sequential and shared memory architectures which supports the Andorra-I Prolog language, an extension of Full Prolog. In this report we describe the implementation of this system, which consists of several well-defined modules: the engine, the schedulers and the preprocessor. In describing the engine, a goal-stack based interpreter, we concentrate on the new features designed to support parallelism. We next describe the schedulers designed for Andorra-I, i.e. the and-scheduler which distributes work in the same or-branch, and the top-level scheduler, which manages the global configuration of workers in the search tree. The or-schedulers used in Andorra-I were simply ported from Aurora. Finally, the preprocessor consists of three modules: an abstract interpretation system, which collects the mode patterns for each procedure, a sequencer, which guarantees correct execution of traditional Prolog program, and a determinacy code compiler.