Mixing Static and Dynamic Partitioning to Parallelize a Constraint Programming Solver

Abstract : This paper presents an external parallelization of Constraint Programming (CP) search tree mixing both static and dynamic partitioning. The principle of the parallelization is to partition the CP search tree into a set of sub-trees, then assign each sub-tree to one computing core in order to perform a local search using a sequential CP solver. In this context, static partitioning consists of decomposing the CP variables domains in order to split the CP search tree into a set of disjoint sub-trees to assign them to the cores. This strategy performs well without adding an extra cost to the parallel search, but the problem is the load imbalance between computing cores. On the other hand, dynamic partitioning is based on preservation of the search state to generate, dynamically or on demand, the sub-trees that are assigned to the cores. This strategy offers good load balancing between the different computing cores, but computing overcosts appear due to the initialisation of the search when a sub-tree is migrated from one core to another. In this paper, we propose a new partitioning strategy that mixes the static and dynamic partitioning and enjoys the benefits of each strategy. This mixed partitioning is designed to run on shared and distributed memory architectures. The performances obtained are illustrated by solving the CP problems modelled using the FlatZinc format and solved using the Google OR-Tools solver on top of the parallel Bobpp framework.
Type de document :
Article dans une revue
International Journal of Parallel Programming, Springer Verlag, 2016, 44 (3), pp.486-505. <10.1007/s10766-015-0356-7>
Liste complète des métadonnées


https://hal.archives-ouvertes.fr/hal-01344092
Contributeur : Jean-Charles Regin <>
Soumis le : samedi 16 juillet 2016 - 12:03:47
Dernière modification le : samedi 18 février 2017 - 01:20:37

Identifiants

Collections

Citation

Tarek Menouer, Mohamed Rezgui, Bertrand Le Cun, Jean-Charles Régin. Mixing Static and Dynamic Partitioning to Parallelize a Constraint Programming Solver. International Journal of Parallel Programming, Springer Verlag, 2016, 44 (3), pp.486-505. <10.1007/s10766-015-0356-7>. <hal-01344092>

Partager

Métriques

Consultations de la notice

55