Concurrency in Prolog Using Threads and a Shared Database

12 years 12 days ago
Concurrency in Prolog Using Threads and a Shared Database
Concurrency in Logic Programming has received much attention in the past. One problem with many proposals, when applied to Prolog, is that they involve large modifications to the standard implementations, and/or the communication and synchronization facilities provided do not fit as naturally within the language model as we feel is possible. In this paper we propose a new mechanism for implementing synchronization and communication for concurrency, based on atomic accesses to designated facts in the (shared) database. We argue that this model is comparatively easy to implement and harmonizes better than previous proposals within the Prolog control model and standard set of built-ins. We show how in the proposed model it is easy to express classical concurrency algorithms and to subsume other mechanisms such as Linda, variable-based communication, or classical parallelism-oriented primitives. We also report on an implementation of the model and provide performance and resource consum...
Manuel Carro, Manuel V. Hermenegildo
Added 04 Aug 2010
Updated 04 Aug 2010
Type Conference
Year 1999
Where ICLP
Authors Manuel Carro, Manuel V. Hermenegildo
Comments (0)