2001
DOI: 10.1145/504083.504085
|View full text |Cite
|
Sign up to set email alerts
|

Parallel execution of prolog programs

Abstract: Since the early days of logic programming, researchers in the field realized the potential for exploitation of parallelism present in the execution of logic programs. Their high-level nature, the presence of non-determinism, and their referential transparency, among other characteristics, make logic programs interesting candidates for obtaining speedups through parallel execution. At the same time, the fact that the typical applications of logic programming frequently involve irregular computations, make heavy… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
85
0
7

Year Published

2004
2004
2009
2009

Publication Types

Select...
3
2
2

Relationship

1
6

Authors

Journals

citations
Cited by 115 publications
(93 citation statements)
references
References 143 publications
(334 reference statements)
1
85
0
7
Order By: Relevance
“…When one of the subgoals generates an exception, the competitive or-parallelism call terminates with the same exception. 1 When two or more subgoals generate exceptions, the competitive or-parallelism call terminates with one of the generated exceptions.…”
Section: Thread-based Competitive Or-parallelismmentioning
confidence: 99%
See 3 more Smart Citations
“…When one of the subgoals generates an exception, the competitive or-parallelism call terminates with the same exception. 1 When two or more subgoals generate exceptions, the competitive or-parallelism call terminates with one of the generated exceptions.…”
Section: Thread-based Competitive Or-parallelismmentioning
confidence: 99%
“…A number of approaches have been proposed to tackle this problem (see e.g [1]). Arguably, the two most successful ones are environment copying, as implemented in the Muse [7] and YapOr [8] systems, and binding arrays, as implemented in the Aurora system [9].…”
Section: Multiple Binding Representationmentioning
confidence: 99%
See 2 more Smart Citations
“…It is essential for determining lower bounds on the computational cost of goals since without such information a lower bound of almost zero (corresponding to an early failure) must often be assumed [9]. Detecting non-failure is also very useful in the context of parallelism because it allows avoiding unnecessary speculative parallelism and ensuring no-slowdown properties for the parallelized programs (in addition to using the lower bounds mentioned previously to perform granularity control) [10]. Non-failure information is also instrumental in partial evaluation and other program transformations, such as reordering of calls, and has also been used in query optimization in deductive databases [7].…”
Section: Introductionmentioning
confidence: 99%