Book 586

This monograph concentrates on the implementation of
concurrent logic programming languages on loosely-coupled
parallel computer architectures. Two different abstract
models are also considered: a graph reduction based model
and a more imperative approach. The design of a specialized
instruction set is presented that is general enough to be
used for the whole family of concurrent logic programming
languages. In particular the language Parlog is concentrated
upon because it is the most efficiently implementable of all
the non-flat logic programming languages. Other issues
arising from the implementation of a programming language
are discussed, in particular the design of a load balancing
scheme which deals with the large number of short-lived
processes inherent in a correct language implementation.
Detailed descriptions of all the data structures and
synchronisation algorithms are also presented. Resource
exhaustion is also discussed and handled within the
implementations. Detailed performance results for both
models of computation are given. From the material it should
be possible for the reader to create an implementation.