Please use this identifier to cite or link to this item:
|Title:||IMPLEMENTATION OF CONCURRENT PROLOG USING MESSAGE PASSING|
|Authors:||Cleary, John G.|
|Abstract:||The design of a distributed Concurrent Prolog system is described. It is based on message passing between large processes which provide a coarse grained parallelism. The intended use of the system is in a distributed prototyping environment which supports many programming languages and allows distributed software to be developed on one system and later transported to another. The underlying message passing system used is simple and efficient and need make no provisions for buffering messages between processes. An algorithm is described for serialising variable bindings so they can be transmitted between processes. It permits free variables to be bound together and can correctly handle circular data structures. Each variable shared between processes is "located" on a single process which distributes its values whenever it is updated. This leads to an "eager" distribution system which sends updates to variables whenever they occur not when they are needed for further computation. Sometimes, as a result of garbage collection or as a result of unification of different shared variables it is necessary to relocate a variable. The mechanisms to do this are described. Some estimates of the efficiency of the system are obtained by counting the messages needed for a simple but representative program. The effects of various optimisations on the message passing protocol are also assessed.|
|Appears in Collections:||Cleary, John |
Files in This Item:
There are no files associated with this item.
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.