Coordination and Concurrency in Multi-engine Prolog
International audience We discuss the impact of the separation of logic engines (independent logic processing units) and multi-threading on the design of coordination mechanisms for a Prolog based agent infrastructure.We advocate a combination of coroutining constructs with focus on expressiveness a...
Main Author: | |
---|---|
Other Authors: | , , , , |
Format: | Conference Object |
Language: | English |
Published: |
HAL CCSD
2011
|
Subjects: | |
Online Access: | https://hal.inria.fr/hal-01582990 https://hal.inria.fr/hal-01582990/document https://hal.inria.fr/hal-01582990/file/978-3-642-21464-6_11_Chapter.pdf https://doi.org/10.1007/978-3-642-21464-6_11 |
Summary: | International audience We discuss the impact of the separation of logic engines (independent logic processing units) and multi-threading on the design of coordination mechanisms for a Prolog based agent infrastructure.We advocate a combination of coroutining constructs with focus on expressiveness and a simplified, multi-threading API that ensures optimal use available parallelism.In this context, native multi-threading is made available to the application programmer as a set of high-level primitives with a declarative flavor while cooperative constructs provide efficient and predictable coordination mechanisms. As illustrations of our techniques, a parallel fold operation as well as cooperative implementations of Linda blackboards and publish/subscribe are described. |
---|