by Gopal Gupta, V'itor Santos Costa
ftp://ftp.cs.nmsu.edu/pub/.all_papers/hics.ps.Z
Add To MetaCart
Abstract:
Prolog is a practical declarative programming language based on Horn Logic. In this paper we argue that implicit parallelism can be extracted from full Prolog. By full Prolog we mean pure Prolog with extra-logical features such as side-effects, database predicates and cuts. Prolog programs have three main forms of implicit parallelism present in them: or-parallelism, independent andparallelism and dependent and-parallelism. Starting from an or-parallel version of full Prolog, we show how independent and-parallel and dependent and-parallel versions can be systematically derived. We present details of how the environment is represented using Paged Binding Arrays to handle multiple bindings of variables in presence of or-, independent and-, and dependent andparallelism. We also show how extra-logical predicates can be supported in this combined parallel implementation of Prolog. Our approach can be summarized as follows: We begin with an or-parallel implementation of Prolog that uses Binding Arrays for environment representation; we next show how independent and-parallelism can be added to such an implementation by annotating Prolog programs at compile time with conditional graph expressions, and generalizing the binding arrays used for environment
Citations
|
108
|
The Muse Or-Parallel Prolog Model and its Performance
– Ali, Karlsson
- 1990
|
|
86
|
Andorra-I: a parallel Prolog system that transparently exploits both AND- and OR-parallelism
– Costa, Yang
- 1991
|
|
83
|
Kernel Andorra Prolog and its computation model
– Haridi, Janson
- 1990
|
|
81
|
Prolog and its Performance: Exploiting Independent And-Parallelism
– Hermenegildo, Greene
- 1990
|
|
66
|
ACE: And/Or-parallel Copying-based Execution of Logic Programs
– Gupta, Hermenegildo, et al.
- 1994
|
|
63
|
The SRI Model for Or-Parallel Execution of Prolog---Abstract Design and Implementation Issues
– Warren
- 1987
|
|
51
|
The Andorra-I engine: A parallel implementation of the basic andorra model
– Costa, Warren, et al.
- 1991
|
|
45
|
The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model
– Santos-Costa, Warren, et al.
- 1991
|
|
44
|
Extended Andorra Model with implicit control. Talk given at Logic Programming Symposium, Eilat
– Warren
- 1990
|
|
30
|
Compiled execution of the reduce-or process model on multiprocessors
– Ramkumar, Kale
- 1989
|
|
25
|
Concurrent Prolog: Collected papers
– Shapiro
- 1987
|
|
20
|
Efficient prolog memory management for flexible control strategies
– Warren
- 1984
|
|
17
|
Determination of Variable Dependence Information through Abstract Interpretation
– Muthukumar, Hermenegildo
- 1989
|
|
13
|
On Criteria for Or-Parallel Execution Models of Logic Programs
– Gupta, Jayaraman
- 1990
|
|
13
|
The pepsys model: combining backtracking, and- and or-parallelism
– Westphal, Robert, et al.
- 1987
|
|
12
|
An Abstract Machine for Restricted And Parallel Execution of Logic Programs
– Hermenegildo
- 1986
|
|
10
|
Compiled And-Or Parallel Execution of Logic Programs
– Gupta, Jayaraman
- 1989
|
|
10
|
An Abstract Instruction Set for Prolog
– Warren
- 1983
|
|
9
|
Recomputation based Implementation of And-Or Parallel Prolog
– Gupta, Hermenegildo
- 1992
|
|
9
|
Optimizing And-Or Parallel Implementations
– Gupta, Jayaraman
- 1990
|
|
7
|
Cuts and Side-Effects in And-Or Parallel Prolog
– Gupta, Costa
- 1996
|
|
7
|
The Aurora OR-Prolog System
– al
- 1990
|
|
5
|
IDIOM: A Model for Integrating Dependent-and, Independent-and and Or-parallelism
– Gupta, Costa, et al.
- 1991
|
|
3
|
Restricted AND-parallelism", Int'l
– DeGroot
- 1984
|
|
2
|
An Interpreter for the Extended Andorra Model (Preliminary Report
– Gupta, Warren
- 1991
|
|
1
|
And-Or Parallel Execution of Prolog based on the Paged Binding Array
– Gupta, Costa
- 1992
|