Sciweavers

PADL
2010
Springer

A Simple and Efficient Implementation of Concurrent Local Tabling

13 years 6 months ago
A Simple and Efficient Implementation of Concurrent Local Tabling
Newer Prolog implementations commonly offer support for multi-threading, and have also begun to offer support for tabling. However, most implementations do not yet integrate tabling with multithreading, and in particular do not support the sharing of a tabled computation among threads. In this paper we present algorithms to share completed tables among threads based on Concurrent Local SLG evaluation (SLGCL). SLGCL is based on the Local scheduling strategy, and is designed to support applications in which threads concurrently share tabled evaluations Version 3.1 of XSB implements SLGCL in the SLGCLWAM, which fully supports well-founded tabled negation, construction of residual programs, tabled constraints and answer subsumption. The implementation of SLGCL requires additions to a single tabling operation only. As a result, SLGCL should be implementable by any tabling system that uses Local evaluation, whether based on the Chat engine, linear tabling, or call continuation.
Rui Marques, Terrance Swift, José C. Cunha
Added 14 Oct 2010
Updated 14 Oct 2010
Type Conference
Year 2010
Where PADL
Authors Rui Marques, Terrance Swift, José C. Cunha
Comments (0)