OR-Parallel execution of prolog on a multi-sequential machine
International Journal of Parallel Programming
The muse approach to Or-parallel Prolog
International Journal of Parallel Programming
Andorra I: a parallel Prolog system that transparently exploits both And-and or-parallelism
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Full Prolog and scheduling or-parallelism in muse
International Journal of Parallel Programming
Advanced programming in the UNIX environment
Advanced programming in the UNIX environment
The SBA: exploiting orthogonality in AND-OR parallel systems
ILPS '97 Proceedings of the 1997 international symposium on Logic programming
Stack-splitting: or-/and-parallelism on distributed memory machines
Proceedings of the 1999 international conference on Logic programming
Concurrency in Prolog using threads and a shared database
Proceedings of the 1999 international conference on Logic programming
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
Memory Performance of Prolong Architectures
Memory Performance of Prolong Architectures
YapOr: an Or-Parallel Prolog System Based on Environment Copying
EPIA '99 Proceedings of the 9th Portuguese Conference on Artificial Intelligence: Progress in Artificial Intelligence
COWL: Copy-On-Write for Logic Programs
IPPS '99/SPDP '99 Proceedings of the 13th International Symposium on Parallel Processing and the 10th Symposium on Parallel and Distributed Processing
Novel Models for Or-Parallel Logic Programs: A Performance Analysis
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
Journal of Parallel and Distributed Computing
High Level Thread-Based Competitive Or-Parallelism in Logtalk
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
Parallel ILP for distributed-memory architectures
Machine Learning
High-level multi-threading programming in logtalk
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
A simple and efficient implementation of concurrent local tabling
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Or-parallel prolog execution on multicores based on stack splitting
DAMP '12 Proceedings of the 7th workshop on Declarative aspects and applications of multicore programming
Theory and Practice of Logic Programming - Prolog Systems
Hi-index | 0.00 |
One of the main advantages of Logic Programming (LP) is that it provides an excellent framework for the parallel execution of programs. In this work we investigate novel techniques to efficiently exploit parallelism from real-world applications in low cost multi-core architectures. To achieve these goals, we revive and redesign the YapOr system to exploit or-parallelism based on a multi-threaded implementation. Our new approach takes full advantage of the state-of-the-art fast and optimized YAP Prolog engine and shares the underlying execution environment, scheduler and most of the data structures used to support YapOr's model. Initial experiments with our new approach consistently achieve almost linear speedups for most of the applications, proving itself as a good alternative for exploiting implicit parallelism in the currently available low cost multi-core architectures.