This item is only available for download by members of the University of Illinois community. Students, faculty, and staff at the U of I may log in with your NetID and password to view the item. If you are trying to access an Illinois-restricted dissertation or thesis, you can request a copy through your library's Inter-Library Loan office or purchase a copy directly from ProQuest.
Permalink
https://hdl.handle.net/2142/20715
Description
Title
Automatic parallelization of Prolog programs
Author(s)
Sehr, David Christopher
Issue Date
1992
Doctoral Committee Chair(s)
Padua, David A.
Department of Study
Computer Science
Discipline
Computer Science
Degree Granting Institution
University of Illinois at Urbana-Champaign
Degree Name
Ph.D.
Degree Level
Dissertation
Keyword(s)
Computer Science
Language
eng
Abstract
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.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.