The University of Southampton
University of Southampton Institutional Repository

And-parallel implementation of Prolog on distributed memory machines

And-parallel implementation of Prolog on distributed memory machines
And-parallel implementation of Prolog on distributed memory machines

This research develops a scheme for the efficient execution of Prolog programs on a distributed memory parallel machine. Efficient schemes for the sequential execution of Prolog are generally based on the Warren Abstract Machine (WAM) [Warren 1983]; our execution scheme places an extended WAM on each processor which can receive tasks and spawn further tasks to other processors. The extended WAM supports independent and-parallel execution and intelligent backtracking at the clause level. An analysis of binding communication between processors is made to select the most efficient scheme. Additional run-time information can be derived from the communication of bindings at no additional overhead. An extended WAM instruction set is designed where information provided at compile-time is combined with information derived at run-time to dynamically determine the data-dependencies between subgoals. A scheme for intelligent backtracking in parallel clauses is developed which both `intelligently' selects the redo subgoal(s) and allows other execution in the clause to persist unless bindings are directly affected by the redo. Potentially, parallel execution can continue in a clause when backtracking occurs. The dynamic information is also used to prune unnecessary search space and an optimisation, `intelligent cutting' is introduced. A distributed Prolog executor has been implemented for an array of transputer processing elements. A complete analysis of the implementation is made for both sequential and parallel execution. Performance results are comparable with other results in the literature for shared memory architectures.

University of Southampton
Verden, Andrew Roy
Verden, Andrew Roy

Verden, Andrew Roy (1991) And-parallel implementation of Prolog on distributed memory machines. University of Southampton, Doctoral Thesis.

Record type: Thesis (Doctoral)

Abstract

This research develops a scheme for the efficient execution of Prolog programs on a distributed memory parallel machine. Efficient schemes for the sequential execution of Prolog are generally based on the Warren Abstract Machine (WAM) [Warren 1983]; our execution scheme places an extended WAM on each processor which can receive tasks and spawn further tasks to other processors. The extended WAM supports independent and-parallel execution and intelligent backtracking at the clause level. An analysis of binding communication between processors is made to select the most efficient scheme. Additional run-time information can be derived from the communication of bindings at no additional overhead. An extended WAM instruction set is designed where information provided at compile-time is combined with information derived at run-time to dynamically determine the data-dependencies between subgoals. A scheme for intelligent backtracking in parallel clauses is developed which both `intelligently' selects the redo subgoal(s) and allows other execution in the clause to persist unless bindings are directly affected by the redo. Potentially, parallel execution can continue in a clause when backtracking occurs. The dynamic information is also used to prune unnecessary search space and an optimisation, `intelligent cutting' is introduced. A distributed Prolog executor has been implemented for an array of transputer processing elements. A complete analysis of the implementation is made for both sequential and parallel execution. Performance results are comparable with other results in the literature for shared memory architectures.

This record has no associated files available for download.

More information

Published date: 1991

Identifiers

Local EPrints ID: 459326
URI: http://eprints.soton.ac.uk/id/eprint/459326
PURE UUID: 96741268-f97c-4b4d-ae7f-da3b4516bda8

Catalogue record

Date deposited: 04 Jul 2022 17:08
Last modified: 04 Jul 2022 17:08

Export record

Contributors

Author: Andrew Roy Verden

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×