1997•Unpublished venueRequires access

Efficient parallel execution of prolog programs

Enrico Pontelli, Gopal Gupta

Open publisher page 1 citations

Abstract

The problem tackled in this dissertation is the design and development of efficient execution mechanisms to support parallel logic programming. Through a rational analysis of the various forms of parallelism present in logic programming, we achieve a clear understanding of the issues involved in supporting automatic exploitation of parallelism. This in turn allows us to (i) classify and compare existing proposals in this area; and (ii) propose new models, arguably superior than the existing ones. In this dissertation we propose (i) a novel execution model for independent and-parallelism, capable of supporting efficient memory usage and complete backtracking; (ii) a complete system to support dependent and-parallelism, from automatic compile-time detection of parallelism to its actual run-time exploitation; (iii) an execution model for combined and/or-parallelism; (iv) a set of optimization principles for non-deterministic parallel systems; (v) theoretical results on the complexity of the various forms of parallelism. Each of the models presented has been implemented and successfully tested on a variety of real-life benchmarks.

About this research paper

What this paper is about

The problem tackled in this dissertation is the design and development of efficient execution mechanisms to support parallel logic programming. Through a rational analysis of the various forms of parallelism present in logic programming, we achieve a clear understanding of the issues involved in supporting automatic exploitation of parallelism. This in turn allows us to (i) classify and compare existing proposals in this area; and (ii) propose new models, arguably superior than the existing ones. In this dissertation we propose (i) a novel execution model for independent and-parallelism, capable of supporting efficient memory usage and complete backtracking; (ii) a complete system to support dependent and-parallelism, from automatic compile-time detection of parallelism to its actual run-time exploitation; (iii) an execution model for combined and/or-parallelism; (iv) a set of optimization principles for non-deterministic parallel systems; (v) theoretical results on the complexity of the various forms of parallelism. Each of the models presented has been implemented and successfully tested on a variety of real-life benchmarks.

Why it matters

OpenAlex reports 1 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

The problem tackled in this dissertation is the design and development of efficient execution mechanisms to support parallel logic programming. Through a rational analysis of the various forms of parallelism present in logic programming, we achieve a clear understanding of the issues involved in supporting automatic exploitation of parallelism. This in turn allows us to (i) classify and compare existing proposals in this area; and (ii) propose new models, arguably superior than the existing ones. In this dissertation we propose (i) a novel execution model for independent and-parallelism, capable of supporting efficient memory usage and complete backtracking; (ii) a complete system to support dependent and-parallelism, from automatic compile-time detection of parallelism to its actual run-time exploitation; (iii) an execution model for combined and/or-parallelism; (iv) a set of optimization principles for non-deterministic parallel systems; (v) theoretical results on the complexity of the various forms of parallelism. Each of the models presented has been implemented and successfully tested on a variety of real-life benchmarks.

Key concepts: Computer science, Backtracking, Parallelism (grammar), Data parallelism, Prolog, Implicit parallelism, Instruction-level parallelism, Programming language

Related papers

Back to paper searchBrowse research topicsOriginal source
Efficient parallel execution of prolog programs — Research Paper | ScholarLens