Partitionnement Déterministe pour Résoudre les Problèmes de Programmation Par Contraintes en utilisant le Framework Parallèle Bobpp - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2014

Partitionnement Déterministe pour Résoudre les Problèmes de Programmation Par Contraintes en utilisant le Framework Parallèle Bobpp

Résumé

This paper presents a deterministic parallelization to explore a Constraint Programming search space. This work is an answer to an industrial project named PAJERO, which is in need of a parallel constraint solver which always responds with the same solution whether using sequential or parallel machines. It is well known that parallel tree search changes the order in which the exploration of solution space is done. In the context where the first solution found is returned, using a different number of cores may change the returned solution. In the literature, several non deterministic strategies have been proposed to parallelize the exploration of Constraint Programming search space. Most of them are based on the Work Stealing technique used to partition the Constraint Programming search space on demand and during the execution of the search algorithm. Our study focuses on the determinism of the parallel search versus the sequential one. We consider that the sequential search algorithm is deterministic, then propose an elegant solution introducing a total order on the nodes in which the parallel algorithm always gives the same solution as the sequential one regardless of the number of cores used. To evaluate this deterministic strategy, we ran tests using the Google OR-Tools Constraint Programming solver on top of our parallel Bobpp framework. The performances are illustrated by solving Constraint Programming problems modeled in FlatZinc format.
Cet article présente une stratégie de partitionnement déterministe pour paralléliser le parcours des espaces de recherche, dans le but de résoudre les problèmes de Programmation Par Contraintes (PPC). Ce travail est réalisé dans le cadre d'un projet industriel nommé PAJERO, dont le but est de proposer un solveur de PPC parallèle qui doit répondre toujours la même solution en utilisant le mode séquentiel ou parallèle. Il est clair que l'exploration parallèle des espaces de recherche modifie l'ordre dans lequel les nœuds solutions sont visités. Dans le contexte où la première solution trouvée est retournée à l'utilisateur, l'utilisation de plusieurs cœurs de calcul peut modifier la solution retournée. Dans la littérature, plusieurs stratégies non déterministes ont été proposées pour paralléliser l'exploration des espaces de recherche. La plupart de ces stratégies sont basées sur la technique de vol de travail (Work Stealing). Celle-ci est utilisée pour partitionner dynamiquement l'espace de recherche en sous-espaces, puis à affecter chaque sous-espace à un cœur de calcul. Notre étude consiste à rendre l'algorithme de recherche parallèle déterministe par rapport à l'algorithme séquentiel. Nous considérons que l'algorithme de recherche séquentielle est déterministe. La solution proposée est simple et élégante. Elle consiste à introduire un ordre total sur les nœuds, dans le but de retourner toujours la même solution que la première solution retournée en séquentiel, quel que soit le nombre de cœurs utilisés. Pour évaluer cette stratégie de partitionnement déterministe, nous avons effectué des expériences en utilisant un solveur de PPC nommé Google OR-Tools au-dessus de notre framework parallèle Bobpp. Les performances sont illustrées par la résolution des problèmes de PPC modélisés en utilisant le format FlatZinc.
Fichier principal
Vignette du fichier
Determinisme.pdf (467.86 Ko) Télécharger le fichier
Compas14.pdf (1.2 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Format : Autre

Dates et versions

hal-01003040 , version 1 (11-06-2014)

Identifiants

Citer

Tarek Menouer, Bertrand Le Cun. Partitionnement Déterministe pour Résoudre les Problèmes de Programmation Par Contraintes en utilisant le Framework Parallèle Bobpp. ComPAS 2014 : conférence en parallélisme, architecture et systèmes, Apr 2014, Neuchâtel, Suisse. ⟨hal-01003040⟩

Collections

CNRS UVSQ
79 Consultations
238 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More