Back to results

University of Illinois at Urbana-Champaign

Automatic parallelization of Prolog programs

Abstract

dc:description

Prolog has a number of advantages for use in rapid prototyping. The explotation of parallelism holds the promise of making these prototypes directly executable. This dissertation addresses the parallel execution of Prolog programs without restricting the language to a pure subset or requiring user annotations. We begin by presenting methods for the OR parallel execution of Prolog programs with side effects such as assert, retract, and cut. Our methods have been implemented in an interpreter on the Alliant FX/8 and some results are presented. The second portion describes a method for estimating the inherent parallelism in Prolog programs. This work is based on the critical path methods of Kumar and is used to measure the best possible speedups under OR and AND/OR parallel models. The results of timing the Berkeley Benchmarks with these methods are presented. The last portion of the dissertation describes a method for applying Fortran techniques to Prolog programs. It begins by describing the construction of control flow graphs and shows how to identify recursive procedures that can be converted to loops. Lastly, dependence analysis methods and several source-to-source transformations from Fortran are used to synchronize and parallelize these loops. The results of hand-applying these transformations to a number of programs are presented. We demonstrate that we are able to obtain significant speedups on a number of programs by applying our transformations.

Degree

thesis:*
Name thesis:degree_name
Ph.D.
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science
Grantor
University of Illinois at Urbana-Champaign
Year dc:date
2011

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Sehr, David Christopher
Contributors dc:contributor
  • Padua, David A.

Subjects

dc:subject × 1

Rights

dc:rights
Statement dc:rights
  • Copyright 1992 Sehr, David Christopher
Language dc:language
eng

Identifiers

dc:identifier.*
Identifier
AAI9305690
(UMI)AAI9305690
OAI identifier oai:identifier
oai:www.ideals.illinois.edu:2142/20715

Chain of custody

source
Harvested from
University of Illinois - Urbana-Champaign
Base URL
www.ideals.illinois.edu/oai-pmh
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Sehr, David Christopher. Automatic parallelization of Prolog programs. Dissertation thesis, University of Illinois at Urbana-Champaign, 2011. http://hdl.handle.net/2142/20715