Title: PrologPF: Parallel Logic and Functions on the Delphi Machine
Authors: Lewis, Ian
Supervisors: Clocksin, William
Keywords: prologpf
prolog
computing
logic programming
computer science
functional programming
logic
parallel
Issue Date: 23-Apr-1998
Abstract: PrologPF is a parallelising compiler targeting a distributed system of general purpose workstations connected by a relatively low performance network. The source language extends standard Prolog with the integration of higher-order functions. The execution of a compiled PrologPF program proceeds in a similar manner to standard Prolog, but uses oracles in one of two modes. An oracle represents the sequence of clauses used to reach a given point in the problem search tree, and the same PrologPF executable can be used to build oracles, or follow oracles previously generated. The parallelisation strategy used by PrologPF proceeds in two phases, which this research shows can be interleaved. An initial phase searches the problem tree to a limited depth, recording the discovered incomplete paths. In the second phase these paths are allocated to the available processors in the network. Each processor follows its assigned paths and fully searches the referenced subtree, sending solutions back to a control processor. This research investigates the use of the technique with a one-time partitioning of the problem and no further scheduling communication, and with the recursive application of the partitioning technique to effect dynamic work reassignment. For a problem requiring all solutions to be found, execution completes when all the distributed processors have completed the search of their assigned subtrees. If one solution is required, the execution of all the path processors is terminated when the control processor receives the first solution. The presence of the extra-logical Prolog predicate cut in the user program conflicts with the use of oracles to represent valid open subtrees. PrologPF promotes the use of higher-order functional programming as an alternative to the use of cut. The combined language shows that functional support can be added as a consistent extension to standard Prolog.
URI: http://www.dspace.cam.ac.uk/handle/1810/221792
Appears in Collections:Theses - Computer Laboratory

Files in This Item:

File Description SizeFormat
ian_lewis_prologpf_phd.pdfComputer Laboratory PhD Dissertation by Ian Lewis 1998 - PrologPF: Parallel Logic and Functions on the Dephi Machine1.37 MBAdobe PDFThumbnail
View/Open
Additional resources for this item
search for alternative versions in eresources@cambridge
retrieve citation metadata in EndNote format

This item has been accessed 984 times.

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.