The Aurora or-parallel Prolog system
New Generation Computing - Selected papers on parallel logic programming from the International Conference on Fifth Generation Computer Systems, 1988
Warren's abstract machine: a tutorial reconstruction
Warren's abstract machine: a tutorial reconstruction
The Muse Or-parallel Prolog model and its performance
Proceedings of the 1990 North American conference on Logic programming
Communications of the ACM
An abstract machine for tabled execution of fixed-order stratified logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
CHAT: the copy-hybrid approach to tabling
Future Generation Computer Systems
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
Backtracking in Independent And-Parallel Implementations of Logic Programming Languages
IEEE Transactions on Parallel and Distributed Systems
&ACE: a high-performance parallel Prolog system
IPPS '95 Proceedings of the 9th International Symposium on Parallel Processing
A Novel Implementation of the Extended Andorra Model
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
Flexible Scheduling for Non-Deterministic, And-parallel Execution of Logic Programs
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing-Volume II
An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Annotation Algorithms for Unrestricted Independent And-Parallelism in Logic Programs
Logic-Based Program Synthesis and Transformation
A High-Level Implementation of Non-deterministic, Unrestricted, Independent And-Parallelism
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
Automatic unrestricted independent and-parallelism in declarative multiparadigm languages
Automatic unrestricted independent and-parallelism in declarative multiparadigm languages
High-level multi-threading programming in logtalk
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
Swapping evaluation: A memory-scalable solution for answer-on-demand tabling*
Theory and Practice of Logic Programming
An overview of ciao and its design philosophy
Theory and Practice of Logic Programming - Prolog Systems
Hi-index | 0.00 |
We consider the problem of supporting goal-level, independent and-parallelism (IAP) in the presence of non-determinism. IAP is exploited when two or more goals which will not interfere at run time are scheduled for simultaneous execution. Backtracking over non-deterministic parallel goals runs into the well-known trapped goal and garbage slot problems. The proposed solutions for these problems generally require complex low-level machinery which makes systems difficult to maintain and extend, and in some cases can even affect sequential execution performance. In this paper we propose a novel solution to the problem of trapped nondeterministic goals and garbage slots which is based on a single stack reordering operation and offers several advantages over previous proposals. While the implementation of this operation itself is not simple, in return it does not impose constraints on the scheduler. As a result, the scheduler and the rest of the run-time machinery can safely ignore the trapped goal and garbage slot problems and their implementation is greatly simplified. Also, standard sequential execution remains unaffected. In addition to describing the solution we report on an implementation and provide performance results. We also suggest other possible applications of the proposed approach beyond parallel execution.