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
Prolog and its performance: exploiting independent and-parallelism
Logic programming
Task granularity analysis in logic programs
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
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
The Muse Or-parallel Prolog model and its performance
Proceedings of the 1990 North American conference on Logic programming
Independence in constraint logic programs
ILPS '93 Proceedings of the 1993 international symposium on Logic programming
ACE: and/or-parallel copying-based execution of logic programs
Proceedings of the eleventh international conference on Logic programming
Effectiveness of global analysis in strict independence-based automatic parallelization
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
Efficient Management of Backtracking in AND-Parallelism
Proceedings of the Third International Conference on Logic Programming
An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs
Proceedings of the Third International Conference on Logic Programming
Nested Parallel Call Optimization
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
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
Annotation Algorithms for Unrestricted Independent And-Parallelism in Logic Programs
Logic-Based Program Synthesis and Transformation
Non-strict independence-based program parallelization using sharing and freeness information
Theoretical Computer Science
Relating data-parallelism and (and-) parallelism in logic programs
Computer Languages
Hi-index | 0.00 |
We present the design and implementation of the and-parallel component of ACE. ACE is a computational model for the full Prolog language that simultaneously exploits both or-parallelism and independent and-parallelism. A high-performance implementation of the ACE model has been realized and its performance reported in this paper. We discuss how some of the standard problems which appear when implementing and-parallel systems are solved in ACE. We then propose a number of optimizations aimed at reducing the overheads and the increased memory consumption which occur in such systems when using previously proposed solutions. Finally, we present results from an implementation of ACE which includes the optimizations proposed. The results show that ACE exploits and-parallelism with high efficiency and high speedups. Furthermore, they also show that the proposed optimizations, which are applicable to many other and-parallel systems, significantly decrease memory consumption and increase speedups and absolute performance both in forward execution and during backtracking.