1987The Computer JournalOpen access

DAP Prolog: A Set-oriented Approach to Prolog

Péter Kacsuk, Alan Bale

Open full text 24 citations

Abstract

Prolog is based on first-order predicate logic and works by generating sets of values for variables expressed as arguments to rules. However, current Prolog systems, implemented on sequential machines, work by using the Left-to-Right, Depth First (LRDF) search strategy and thus generate successive members of the solution set one at a time. This approach is unsuitable for implementation on many parallel machines. At Queen Mary College a project is under way to implement Prolog on an SIMD machine – the ICL Distributed Array Processor (DAP) – involving a set-oriented view of Prolog which is suitable for implementation on such a machine, and leads to an efficient execution of many symbolic problems. SIMD (Single Instruction, Multiple Data set) computers are a class of machines that are ideally suited to exploit the rapidly growing field of VLSI research to produce high-power computation at a low cost. They do so by replicating a simple processing unit many times. This makes them very efficient for a large class of homogeneous, regular problems as diverse as database applications and fluid-flow calculations. The set-oriented view of Prolog interpretation exploits the associative parallelism of an SIMD machine by distributing the database over the processors and implementing unification of constants on a within-processing element basis. In the first section we describe the research background to the current project involving defining and implementing DAP Prolog on the DAP. We then outline a general view of DAP Prolog and explain the set-oriented semantics in some detail. Section 3 is a brief overview of the basis of a sequential implementation of Prolog, while section 4 describes the main data structures and algorithms involved in implementing DAP Prolog on the DAP.

Open-access reader

About this research paper

What this paper is about

Prolog is based on first-order predicate logic and works by generating sets of values for variables expressed as arguments to rules. However, current Prolog systems, implemented on sequential machines, work by using the Left-to-Right, Depth First (LRDF) search strategy and thus generate successive members of the solution set one at a time. This approach is unsuitable for implementation on many parallel machines. At Queen Mary College a project is under way to implement Prolog on an SIMD machine – the ICL Distributed Array Processor (DAP) – involving a set-oriented view of Prolog which is suitable for implementation on such a machine, and leads to an efficient execution of many symbolic problems. SIMD (Single Instruction, Multiple Data set) computers are a class of machines that are ideally suited to exploit the rapidly growing field of VLSI research to produce high-power computation at a low cost. They do so by replicating a simple processing unit many times. This makes them very efficient for a large class of homogeneous, regular problems as diverse as database applications and fluid-flow calculations. The set-oriented view of Prolog interpretation exploits the associative parallelism of an SIMD machine by distributing the database over the processors and implementing unification of constants on a within-processing element basis. In the first section we describe the research background to the current project involving defining and implementing DAP Prolog on the DAP. We then outline a general view of DAP Prolog and explain the set-oriented semantics in some detail. Section 3 is a brief overview of the basis of a sequential implementation of Prolog, while section 4 describes the main data structures and algorithms involved in implementing DAP Prolog on the DAP.

Why it matters

OpenAlex reports 24 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Prolog is based on first-order predicate logic and works by generating sets of values for variables expressed as arguments to rules. However, current Prolog systems, implemented on sequential machines, work by using the Left-to-Right, Depth First (LRDF) search strategy and thus generate successive members of the solution set one at a time. This approach is unsuitable for implementation on many parallel machines. At Queen Mary College a project is under way to implement Prolog on an SIMD machine – the ICL Distributed Array Processor (DAP) – involving a set-oriented view of Prolog which is suitable for implementation on such a machine, and leads to an efficient execution of many symbolic problems. SIMD (Single Instruction, Multiple Data set) computers are a class of machines that are ideally suited to exploit the rapidly growing field of VLSI research to produce high-power computation at a low cost. They do so by replicating a simple processing unit many times. This makes them very efficient for a large class of homogeneous, regular problems as diverse as database applications and fluid-flow calculations. The set-oriented view of Prolog interpretation exploits the associative parallelism of an SIMD machine by distributing the database over the processors and implementing unification of constants on a within-processing element basis. In the first section we describe the research background to the current project involving defining and implementing DAP Prolog on the DAP. We then outline a general view of DAP Prolog and explain the set-oriented semantics in some detail. Section 3 is a brief overview of the basis of a sequential implementation of Prolog, while section 4 describes the main data structures and algorithms involved in implementing DAP Prolog on the DAP.

Key concepts: Prolog, Predicate (mathematical logic), Computer science, Programming language, Set (abstract data type), First-order logic, Logic programming, Definite clause grammar

Related papers

Back to paper searchBrowse research topicsOriginal source
DAP Prolog: A Set-oriented Approach to Prolog — Research Paper | ScholarLens