2008
DOI: 10.1007/978-3-540-89982-2_24
|View full text |Cite
|
Sign up to set email alerts
|

Concurrent and Local Evaluation of Normal Programs

Abstract: Abstract. Tabled evaluations can incorporate a number of features, including tabled negation, reduction with respect to the well-founded model, tabled constraints and answer subsumption. Many of these features are most efficiently evaluated using the Local evaluation strategy, which fully evaluates each mutually dependent set of tabled subgoals before returning answers to other subgoals outside of that set. In this paper, we introduce a formalism, Concurrent Local SLG by which multiple threads of computation c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
19
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
3
3

Relationship

0
6

Authors

Journals

citations
Cited by 10 publications
(19 citation statements)
references
References 8 publications
0
19
0
Order By: Relevance
“…For tabling, that means that each evaluation only depends on the computations being performed by the worker itself, i.e., a worker does not need to consume answers from other workers' tables as it can always be the generator for all of its subgoal calls. These are the cases of XSB (Marques and Swift 2008) and Yap (Areias and Rocha 2012b) designs that support explicit concurrent tabled evaluation using threads. In any case, the table space data structures can be either private or partially shared between workers.…”
Section: Implicit Versus Explicit Concurrent Tabled Evaluationmentioning
confidence: 99%
See 2 more Smart Citations
“…For tabling, that means that each evaluation only depends on the computations being performed by the worker itself, i.e., a worker does not need to consume answers from other workers' tables as it can always be the generator for all of its subgoal calls. These are the cases of XSB (Marques and Swift 2008) and Yap (Areias and Rocha 2012b) designs that support explicit concurrent tabled evaluation using threads. In any case, the table space data structures can be either private or partially shared between workers.…”
Section: Implicit Versus Explicit Concurrent Tabled Evaluationmentioning
confidence: 99%
“…To the best of our knowledge, only the XSB and Yap systems support the combination of tabling with some form of concurrency/parallelism. In XSB, the SLG-WAM execution model was extended with a shared tables design (Marques and Swift 2008) to support explicit concurrent tabled evaluation using threads. It uses a semi-naive approach that, when a set of subgoals computed by different threads is mutually dependent, then a usurpation operation synchronizes threads and a single thread assumes the computation of all subgoals, turning the remaining threads into consumer threads.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…To the best of our knowledge, XSB and Yap are the unique Prolog systems combining tabling with multi-threading. XSB offers two types of models for supporting multi-threaded tabling: private tables and shared tables [8]. For private tables, each thread keeps its own copy of the table space.…”
Section: Related Workmentioning
confidence: 99%
“…Despite the availability of both multithreading and tabling in some Prolog systems, the efficient implementation of these two features, such that they work together, implies a complex redesign of several components of the underlying engine. XSB was the first Prolog system to combine tabling with multithreading (Marques and Swift 2008). In more recent work (Areias and Rocha 2012b), we have proposed an alternative view to XSB's approach, where each thread views its tables as private but, at the engine level, we use a common table space, i.e., from the thread point of view, the tables are private but, from the implementation point of view, tables are shared among all threads.…”
Section: Introductionmentioning
confidence: 99%