2005
DOI: 10.1017/s1471068404002030
|View full text |Cite
|
Sign up to set email alerts
|

On applying or-parallelism and tabling to logic programs

Abstract: Logic Programming languages, such as Prolog, provide a high-level, declarative approach to programming. Logic Programming offers great potential for implicit parallelism, thus allowing parallel systems to often reduce a program's execution time without programmer intervention. We believe that for complex applications that take several hours, if not days, to return an answer, even limited speedups from parallel execution can directly translate to very significant productivity gains.It has been argued that Prolo… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
29
0

Year Published

2005
2005
2023
2023

Publication Types

Select...
8

Relationship

1
7

Authors

Journals

citations
Cited by 35 publications
(29 citation statements)
references
References 65 publications
0
29
0
Order By: Relevance
“…SLG C differs from [2] in not requiring an explicit table manager and in using the "optimistic" Usurpation operation to control concurrency, as well as in being a formalism sufficient for proving completeness and other properties. [9] presents algorithms for adding tabling to an or-parallel engine and implements these algorithms in YAP, with impressive results for definite programs. As mentioned above, unlike [9] Local SLG C does not address general table parallelism, although it addresses normal programs and is based on a formalization which permits a concise implementation.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…SLG C differs from [2] in not requiring an explicit table manager and in using the "optimistic" Usurpation operation to control concurrency, as well as in being a formalism sufficient for proving completeness and other properties. [9] presents algorithms for adding tabling to an or-parallel engine and implements these algorithms in YAP, with impressive results for definite programs. As mentioned above, unlike [9] Local SLG C does not address general table parallelism, although it addresses normal programs and is based on a formalization which permits a concise implementation.…”
Section: Discussionmentioning
confidence: 99%
“…[9] presents algorithms for adding tabling to an or-parallel engine and implements these algorithms in YAP, with impressive results for definite programs. As mentioned above, unlike [9] Local SLG C does not address general table parallelism, although it addresses normal programs and is based on a formalization which permits a concise implementation. Perhaps the closest work is [3] which allows threads to share answers when tables are not completed: Concurrent SLG differs from this work in using a simpler method of concurrency control, as well as in modeling normal rather than definite programs.…”
Section: Discussionmentioning
confidence: 99%
“…We analyzed these programs with version 0.92 of the GNU Classpath library, using the Soot compiler framework [3] and the dimple + version of our dimple static analysis tool [4], running on version 5.1.3 of the Yap Prolog system [5]. We timed our analyses by running them on one core of a 2 ghz Opteron workstation with 16 gb of ram.…”
Section: Evaluation Infrastructurementioning
confidence: 99%
“…In order to support this, we introduce the following main extensions for subsumption-based tabling: (i) a new algorithm to efficiently traverse the table space searching for subsumed subgoals; (ii) a new table space organization, based on the ideas of the common global trie proposal [4], where answers are represented only once; and (iii) a new evaluation strategy to selectively prune and restart the evaluation of tabled nodes. We will focus our discussion on a concrete implementation, the YapTab system [5], but our proposals can be generalized and applied to other tabling systems. Notice that, in order to do this work, first we have ported, from XSB Prolog to YapTab, the full code that implements the TST design 1 .…”
Section: Introductionmentioning
confidence: 99%
“…Finally, we present some experimental results and conclusions. To support tabled evaluation, the YapTab design [5] extends the Warren's Abstract Machine (WAM) [6] execution model with the following four operations:…”
Section: Introductionmentioning
confidence: 99%