Parallel Execution Models for Constraint Propagation
暂无分享,去创建一个
Constraint propagation algorithms present inherent parallelism. Each constraint behaves as a concurrent process triggered by changes in the store of variables, updating the store in its turn. There is an inherent sequentiality, as well, since a constraint must be executed only as the consequence of a previous execution of another constraint. We have developed different parallel execution models of constraint propagation for MIMD distributed memory machines. We have adopted the indexical scheme, an adequate approach to achieve consistency for n-ary constraints. The proposed models arise from two techniques, dynamic and static, for scheduling constraint executions (assignment of constraint executions to processing elements). In the static scheduling models the constraint graph is divided into N partitions, which are executed in parallel on N processors. We have investigated an important issue affecting performance, the criterion to establish the graph partition in order to balance the run-time workload. In the dynamic scheduling models, any processor can execute any constraint, improving the workload balance. However, a coordination mechanism is required to ensure a sound order in the execution of constraints. We have designed coordination mechanisms for both centralised and distributed control schemes. Several parallel processing methods for solving Constraint Satisfaction Problems have been proposed. [1] and [3] must be remarked in relation with our work.
[1] Alan K. Mackworth,et al. Parallel and Distributed Finite Constraint Satisfaction: Complexity, Algorithms and Experiments , 1992 .
[2] Laveen N. Kanal. Parallel Processing for Artificial Intelligence , 1994 .
[3] Yves Deville,et al. Analysis of Distributed Arc-Consistency Algorithms , 1997 .