Towards Multi-Threaded Local Tabling Using a Common Table Space
Towards Multi-Threaded Local Tabling Using a Common Table Space
dc.contributor.author | Miguel Gonçalves Areias | en |
dc.contributor.author | Ricardo Rocha | en |
dc.date.accessioned | 2017-11-16T14:22:01Z | |
dc.date.available | 2017-11-16T14:22:01Z | |
dc.date.issued | 2012 | en |
dc.description.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 Prolog system combining multi-threading with tabling. In XSB, tables may be either private or shared between threads. While thread-private tables are easier to implement, shared tables have all the associated issues of locking, synchronization and potential deadlocks. In this paper, we propose an alternative view to XSB's approach. In our proposal, each thread views its tables as private but, at the engine level, we use a common table space where tables are shared among all threads. | en |
dc.identifier.uri | http://repositorio.inesctec.pt/handle/123456789/2967 | |
dc.identifier.uri | http://dx.doi.org/10.1017/S1471068412000117 | en |
dc.language | eng | en |
dc.relation | 5128 | en |
dc.relation | 5509 | en |
dc.rights | info:eu-repo/semantics/openAccess | en |
dc.title | Towards Multi-Threaded Local Tabling Using a Common Table Space | en |
dc.type | article | en |
dc.type | Publication | en |