Optimal static load balancing in distributed computer systems
Journal of the ACM (JACM)
Adaptive load sharing in homogeneous distributed systems
IEEE Transactions on Software Engineering
A comparison of receiver-initiated and sender-initiated adaptive load sharing
Performance Evaluation
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
A method for efficiently executing Horn clause programs using multiple processors
New Generation Computing
Analysis of Or-parallel execution models
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallel logic programming systems
ACM Computing Surveys (CSUR)
Proceedings of the eleventh international conference on Logic programming
PSATO: a distributed propositional prover and its application to quasigroup problems
Journal of Symbolic Computation - Special issue on parallel symbolic computation
Solving satisfiability problems using reconfigurable computing
IEEE Transactions on Very Large Scale Integration (VLSI) Systems - Special issue on low power electronics and design
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
Observations on Using Genetic Algorithms for Dynamic Load-Balancing
IEEE Transactions on Parallel and Distributed Systems
Multiprocessor Execution of Logic Programs
Multiprocessor Execution of Logic Programs
Declarative problem-solving using the DLV system
Logic-based artificial intelligence
Logic programming and knowledge representation-the A-prolog perspective
Artificial Intelligence
Knowledge Representation, Reasoning, and Declarative Problem Solving
Knowledge Representation, Reasoning, and Declarative Problem Solving
Logic programs with stable model semantics as a constraint programming paradigm
Annals of Mathematics and Artificial Intelligence
State of the Art in Parallel Search Techniques for Discrete Optimization Problems
IEEE Transactions on Knowledge and Data Engineering
IEEE Intelligent Systems
Experiments in Parallel Execution of Answer Set Programs
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
A Parallel GRASP for the Steiner Problem in Graphs
IRREGULAR '98 Proceedings of the 5th International Symposium on Solving Irregularly Structured Problems in Parallel
The USA-Advisor: A Case Study in Answer Set Programming
JELIA '02 Proceedings of the European Conference on Logics in Artificial Intelligence
Smodels - An Implementation of the Stable Model and Well-Founded Semantics for Normal LP
LPNMR '97 Proceedings of the 4th International Conference on Logic Programming and Nonmonotonic Reasoning
Search Procedures and Parallelism in Constraint Programming
CP '99 Proceedings of the 5th International Conference on Principles and Practice of Constraint Programming
Acceleration of Satisfiability Algorithms by Reconfigurable Hardware
FPL '98 Proceedings of the 8th International Workshop on Field-Programmable Logic and Applications, From FPGAs to Computing Paradigm
Reconstructing the Evolutionary History of Indo-European Languages Using Answer Set Programming
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Hierarchical Scheduling in Parallel and Cluster Systems
Hierarchical Scheduling in Parallel and Cluster Systems
Transformation-based bottom-up computation of the well-founded model
Theory and Practice of Logic Programming
ASSAT: computing answer sets of a logic program by SAT solvers
Artificial Intelligence - Special issue on nonmonotonic reasoning
Issues in parallel execution of non-monotonic reasoning systems
Parallel Computing
PaMira - A Parallel SAT Solver with Knowledge Sharing
MTV '05 Proceedings of the Sixth International Workshop on Microprocessor Test and Verification
Temporal phylogenetic networks and logic programming
Theory and Practice of Logic Programming
Answer Set Programming Based on Propositional Satisfiability
Journal of Automated Reasoning
GridSAT: a system for solving satisfiability problems using a computational grid
Parallel Computing - Optimization on grids - Optimization for grids
Inferring Phylogenetic Trees Using Answer Set Programming
Journal of Automated Reasoning
Hierarchical Scheduling for Symmetric Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
On Probing and Multi-Threading in PLATYPUS
Proceedings of the 2006 conference on ECAI 2006: 17th European Conference on Artificial Intelligence August 29 -- September 1, 2006, Riva del Garda, Italy
Journal of Logic and Computation
Credulous resolution for answer set programming
AAAI'08 Proceedings of the 23rd national conference on Artificial intelligence - Volume 1
Parallelizing constraint programs transparently
CP'07 Proceedings of the 13th international conference on Principles and practice of constraint programming
PLATYPUS: a platform for distributed answer set solving
LPNMR'05 Proceedings of the 8th international conference on Logic Programming and Nonmonotonic Reasoning
Applying process migration on a BSP-based LU decomposition application
VECPAR'10 Proceedings of the 9th international conference on High performance computing for computational science
Hi-index | 0.00 |
Answer Set Programming (ASP) is a novel logic programming paradigm, that has already had a profound impact in several application domains, especially in the areas of knowledge representation and reasoning. In spite of the development of excellent inference engines for ASP, efficiency and scalability remain challenging aspects that prevent the use of ASP in various real-world domains. Parallelism has been identified as a natural avenue to address these problems. This paper describes the design of a complete ASP parallel engine, derived from the basic design of the Smodels architecture. The paper places emphasis on addressing the problem of the irregular structure of the search trees generated by typical ASP computations (in a Smodels-like computation), which requires the use of dynamic load balancing mechanisms. The paper provides a systematic investigation of alternative strategies for dynamic scheduling and task sharing. These are the two components that more directly affect the efficiency of a parallel engine.