Practical Aspects of Declarative Languages
DOI: 10.1007/978-3-540-77442-6_16
|View full text |Cite
|
Sign up to set email alerts
|

Towards a High-Level Implementation of Execution Primitives for Unrestricted, Independent And-Parallelism

Abstract: Abstract. Most efficient implementations of parallel logic programming rely on complex low-level machinery which is arguably difficult to implement and modify. We explore an alternative approach aimed at taming that complexity by raising core parts of the implementation to the source language level for the particular case of and-parallelism. We handle a significant portion of the parallel implementation at the Prolog level with the help of a comparatively small number of concurrency-related primitives which ta… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Publication Types

Select...
3
2

Relationship

4
1

Authors

Journals

citations
Cited by 5 publications
(10 citation statements)
references
References 22 publications
0
10
0
Order By: Relevance
“…Two motivations justify the use of these operators instead of &/2. Firstly, their implementation is (in our experience) actually easier to devise and maintain than the monolithic &/2 [8], and, secondly, the depoperators allow more freedom to the annotator (and to the programmer, if parallel code is written by hand) to express data dependencies and, therefore, to extract more potential parallelism. We will now illustrate this last point (the former is out of our current scope).…”
Section: Definition 2 Hmentioning
confidence: 98%
See 2 more Smart Citations
“…Two motivations justify the use of these operators instead of &/2. Firstly, their implementation is (in our experience) actually easier to devise and maintain than the monolithic &/2 [8], and, secondly, the depoperators allow more freedom to the annotator (and to the programmer, if parallel code is written by hand) to express data dependencies and, therefore, to extract more potential parallelism. We will now illustrate this last point (the former is out of our current scope).…”
Section: Definition 2 Hmentioning
confidence: 98%
“…-Additionally, when a goal is known to have exactly one solution, we can use specialized versions of the dep-operators [8] which do not need to perform bookkeeping for backtracking (always complex in parallel implementations), and are thus more efficient.…”
Section: Non Order-preserving Annotation: the Uudg Algorithmmentioning
confidence: 99%
See 1 more Smart Citation
“…These features are designed to be natural extensions of the underlying module system. -Concurrency, Parallelism, and Distributed Execution: other packages bring in extensive capabilities for expressing concurrency (including a concurrent, shared versión of the internal fact datábase which can be used for synchronization), distribution, and parallel execution [14,11,23]. A notion of "active objects" also allows compiling objects so that they are ultimately mapped to a standalone process, which can then be transparently accessed by the rest of an application.…”
Section: ?-Use_package(functional) ?-[321] = ~Nrev(x)mentioning
confidence: 99%
“…In [8], we proposed a high-level implementation that raised some of the main components of the implementation to the source level, and was able to exploit the flexibility provided by unrestricted and-parallelism (i.e., not limited to forkjoin operations). However, [8] provided a solution which is only valid for the parallel execution of goals which have exactly one solution each, thus avoiding some of the hardest implementation problems.…”
Section: Introductionmentioning
confidence: 99%