Programming expert systems in OPS5: an introduction to rule-based programming
Programming expert systems in OPS5: an introduction to rule-based programming
An abstract machine for restricted AND-parallel execution of logic programs
Proceedings on Third international conference on logic programming
Efficient management of backtracking in AND-parallelism
Proceedings on Third international conference on logic programming
Constraint satisfaction in logic programming
Constraint satisfaction in logic programming
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
Supercompilers for parallel and vector computers
Supercompilers for parallel and vector computers
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
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
Global flow analysis as a practical compilation tool
Journal of Logic Programming
Implementations of distributed Prolog
Implementations of distributed Prolog
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
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
Search and imperative programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The SBA: exploiting orthogonality in AND-OR parallel systems
ILPS '97 Proceedings of the 1997 international symposium on Logic programming
Multiprocessor Execution of Logic Programs
Multiprocessor Execution of Logic Programs
Concurrent PROLOG: Collected Papers
Concurrent PROLOG: Collected Papers
Parallel symbolic computation in ACE
Annals of Mathematics and Artificial Intelligence
Machine Independent AND and OR Parallel Execution of Logic Programs: Part I-The Binding Environment
IEEE Transactions on Parallel and Distributed Systems
Optimization Schemas for Parallel Implementation of Nondeterministic Languages and Systems
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
&ACE: a high-performance parallel Prolog system
IPPS '95 Proceedings of the 9th International Symposium on Parallel Processing
Nested Parallel Call Optimization
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
Improving the Execution of Dependent And-Parallel Prolog DDAS
PARLE '94 Proceedings of the 6th International PARLE Conference on Parallel Architectures and Languages Europe
An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel
Concurrent constraint programming languages
Concurrent constraint programming languages
A segment-swapping approach for executing trapped computations
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Hi-index | 0.00 |
In this paper, we present an implementation model which efficiently supports backtracking in an independent and-parallel nondeterministic system. The problem is tackled in the context of logic programming, although the solution proposed is sufficiently general to be easily extended to different nondeterministic systems, such as constraint programming systems. The complexity of the problem is demonstrated by the fact that most existing and-parallel systems either do not support backtracking over and-parallel calls or simply avoid analyzing the performance of their systems in the presence of nondeterministic benchmarks. The implementation model we present is an extension of the backtracking scheme developed by Hermenegildo and Nasr [31] and relies on a novel memory organization scheme and on the use of various optimizations to reduce communication and overhead. The solution developed has been implemented in the ACE Parallel Prolog system. The performance of the system is analyzed on a variety of benchmarks. The results obtained are remarkable: Speedups achieved during forward execution are not lost in heavy backtracking activities and, frequently, super-linear speedups are obtained thanks to a semi-intelligent backtracking scheme.