2012
DOI: 10.1017/s1471068412000117
|View full text |Cite
|
Sign up to set email alerts
|

Towards multi-threaded local tabling using a common table space

Abstract: Multi-threading is currently supported by several well-known Prolog systems providing a highly portable solution for applications that can benefit from concurrency. When multi-threading is combined with tabling, we can exploit the power of higher procedural control and declarative semantics. However, despite the availability of both threads and tabling in some Prolog systems, the implementation of these two features implies complex ties to each other and to the underlying engine. Until now, XSB was the only Pr… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
22
0

Year Published

2014
2014
2018
2018

Publication Types

Select...
4
2

Relationship

6
0

Authors

Journals

citations
Cited by 9 publications
(22 citation statements)
references
References 11 publications
0
22
0
Order By: Relevance
“…For the all aggregator mode, we can still keep a pointer to the beginning of the trie representing all answers, but then we need to guarantee order and synchronization when inserting new answers. This can be done using a strategy similar to the full sharing strategy described in our previous work …”
Section: Conclusion and Further Workmentioning
confidence: 99%
See 2 more Smart Citations
“…For the all aggregator mode, we can still keep a pointer to the beginning of the trie representing all answers, but then we need to guarantee order and synchronization when inserting new answers. This can be done using a strategy similar to the full sharing strategy described in our previous work …”
Section: Conclusion and Further Workmentioning
confidence: 99%
“…To support concurrency within the shared subgoal trie structures, the design uses the lock-free hash tries data structure proposed in our previous work, 27 which showed to effectively reduce the execution time and scale better than the original lock-based designs. 17,18 For each thread evaluating a call C i , the answers are then stored in an answer trie structure private to the thread.…”
Section: Multithreaded Tablingmentioning
confidence: 99%
See 1 more Smart Citation
“…One such feature is the ISO Prolog multithreading standardization proposal [36], which currently is implemented in several Prolog systems, including Ciao, SWI Prolog, XSB Prolog and YAP Prolog, providing a highly portable solution given the number of operating systems supported by these systems. Arguably, one of the features that promises to have a significant impact is the combination of multithreading with tabling [37,38], as Prolog users will be able to exploit the combination of a higher procedural control with higher declarative semantics. Future work plans include the extension of YAPTBE to support the execution and output analysis of standard and tabled multithreaded Prolog runs.…”
Section: Further Workmentioning
confidence: 99%
“…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%