210 likes | 357 Views
Défi en Optimisation Combinatoire sur Grilles de Calcul Résolution du Flow-Shop. M. Mezmaz , N. Melab & E-G. Talbi. L aboratoire d’ I nformatique F ondamentale de L ille {mezmaz,melab,talbi}@lifl.fr École Grid’5000, Grenoble, le 10 Mars 2006. Problématique.
E N D
Défi en Optimisation Combinatoire sur Grilles de CalculRésolution du Flow-Shop M. Mezmaz, N. Melab & E-G. Talbi Laboratoire d’Informatique Fondamentale de Lille {mezmaz,melab,talbi}@lifl.fr École Grid’5000, Grenoble, le 10 Mars 2006
Problématique • Télécommunications, bio-informatique, transport, etc. • Nature combinatoire • Problème d’optimisation combinatoire • Existence d’un nombre exponentiel de solutions • Chaque solution a un coût • Trouver une ou plusieurssolution(s) de coût optimal • Problèmes NP-difficiles • Utilisation indispensable du parallélisme à grande échelle sur grilles de calcul
Objectif • S’attaquer au Flow-Shop, un défi relevé dans le projet Dolphin • Large éventail d’applications • Ce problème est très étudié • L’utilisation du Branch & Bound (B&B) • Problème NP-difficile [D.S.Jhonson et R.Sethi, 1976] • Le recours à une grille de calcul, pour le résoudre, est amplement justifiée • La grille et le B&B, sont donc les deux approches utilisées pour s’attaquer à ce problème
Plan • Branch & Bound • Parallélisation du B&B sur Grilles • Approche Parallèle Gridifiée Proposée • Résolution du Flow-Shop • Conclusions & Perspectives
Heuristiques Méthodes exacts Heuristiquesspécifiques Méta-heuristiques Méthodes Arborescentes Non Arborescentes Branch & Bound Branch & Cut Branch & Prise 3 1 4 4 2 Branch & Bound • Méthodes exactes • Deux sous-catégories • Méthodes arborescentes • Construction et exploration d’un arbre • Le nœud racine est le problème originale • Les autres nœuds sont des sous-problèmes • B&B, B&C, B&P, etc. • Branch & Bound • Opérateurs de Division, Borne, Élagage, et Sélection
Processus B&B Processus B&B Processus B&B Processus B&B Parallèlisation du B&B sur Grilles • Modèles Parallèles du B&B • Multi-paramétrique parallèle • Exploration parallèle arborescente • Évaluation parallèle des bornes • & Évaluation parallèle d’une borne • Exploration Parallèle Arborescente • De loin le plus étudié et le plus utilisé • Plusieurs processus B&Bs explore simultanément le même arbre • Equilibrage de charge Ils s’échangent du travail • Souvent le travail échangé est un ensemble de nœuds
Parallèlisation du B&B sur GrillesProblématiques • Exploration Parallèle Arborescente • Arbre à explorer est irrégulier • Équilibrage de charge est plus difficile • Grilles • Un grand nombre de machines impliquées dans le calcul • Machines hétérogènes, volatiles, et non forcement dédiée • Communications assez coûteuses • Possibilité d’existence de pare-feux
Approche Parallèle Gridifiée ProposéeObjectifs Répondre à ces problématiques • Minimisation des coûts des communications • Proposition d’un mécanisme de tolérance aux pannes à faible coût • Supporter le passage à l’échelle • Détection implicite de la fin des traitements • Équilibrer la charge • Opérer un vol de cycles sur les machines hôtes • & Contourner les pare-feux avec un minimum de contraintes
[0,6[ 6 [0,2[ [4,6[ 2 5 3 2 0 0 4 0 4 1 [2,4[ 2 1 [1,2[ [0,1[ [4,5[ [5,6[ [2,3[ [3,4[ Approche Parallèle Gridifiée ProposéePrincipe • Exploration Parallèle Arborescente • Stratégie de parcours d’arbre de type profondeur d’abord • Fermier Travailleurs • Processus Coordinateur (Fermier) • Processus B&Bs (Travailleurs) • Nœuds • numéro(N) • poids(N) • intervalle(N)=[numéro(N),numéro(N)+poids(N)[ • Travail échangé • N’est pas un ensemble de nœuds, mais un intervalle de nœuds • Exemples de travail: exploration les nœuds [0,5[
Approche Parallèle Grille Proposée Processus B&B (1) • Processus B&B • [A,B[: Intervalle en cours d’exploration • N: Ensemble minimal de nœuds permettant d’explorer [A,B[ • [A,B[N • N ={N/intervalle(N) [A,B[et intervalle(père(N)) [A,B[} • A=min{numéro(N)/ N N} • B=max{numéro(N)+poids(N)/N N} • [A,B[ Communications • N Exploration de l’arbre du B&B
Approche Parallèle Grille Proposée Processus B&B (2) • Au départ, • Récupérer du coordinateur un [A,B[à explorer • [A,B[ N • Explorer cet ensemble • Régulièrement, • En prévision d’une panne, informer le coordinateur son [A,B[ actuel • A la fin de l’exploration d’un [A,B[, • Récupérer du coordinateur un nouveau intervalleà explorer
Approche Parallèle Grille Proposée Processus Coordinateur(1) • Processus Coordinateur • I: Ensemble des intervalles en cours d’exploration • Initialement • I= {intervalle(Racine)} • Un processus B&B P demande un intervalle • Sélectionner un certain intervalle [A,B[ de I • Le découper en deux intervalles [A,C[ et [C,B[ • Actualiser I • remplacer, dans I, [A,B[par [A,C[ • Ajouter [C,B[ à I • Accorder [C,B[ à P
Approche Parallèle Grille Proposée Processus Coordinateur(2) • Existence de deux copies d’un même intervalle • [A,B[: intervalle en cours d’exploration par un processus P • [A’,B’[: la copie de [A,B[ dans I (processus coordinateur) • Exploration Processus P incrémente A • Découpages Processus coordinateur décrémente B’ • Actualisation et sauvegarde d’un intervalle [A,B[ [A,B[^[A’,B’[[max(A,A’),min(B,B’)[ • Tolérance aux pannes du fermier • sauvegarder régulièrement I dans un fichier • Initialiser I par ce fichier en cas de panne • Fin des traitements • I={ }
M1 M2 M3 Problème du Flow-ShopDéfinition • Ordonnancer N travaux sur M machines • Une machine traite un travail à la fois • Sur toutes les machines, l’ordre de passage des travaux est le même • Objectif • Minimiser le temps total de traitement (Minimiser le Cmax) • Exemple (Flow-Shop de 7 travaux et 3 machines)
Problème du Flow-ShopInstances • Instances d’ E.Talliard • Instances de référence pour le Flow-Shop • EJOR 64, 1993 • http://ina2.eivd.ch/Collaborateurs/etd/default.htm • Ta056 • 6ème instance, 50 travaux et 20 machines • Meilleure solution connue de Ta056 • Cmax = 3681 • Ruiz & Stutzle, 2004, méthode heuristique
Grille de 1889 processeurs Univ. Lille1(468) =~1/4 Grid’5000(1421)=~3/4 ClusteRs non Utilisés (496) IEEA-FIL(157) Lille(108) Polytech-Lille (128) IUT-Lille(183) Orsay(432) Nancy (96) Rennes(128+129+200+64) Lyon(108) Bordeaux(94) Grenoble (208+20) Toulouse(116) Sophia Antipolis (214)
Résolution de TA056 • Solution optimale de Ta056 • Cmax = 3679 • Mezmaz, Melab & Talbi, 4 décembre 2005 • Résolution en deux fois • Première Résolution • Borne initiale: 3681 • Durée: ~1 mois et 3 semaines • Pic: 1245 processeurs • Deuxième Résolution • Récupérer davantage de statistiques • Borne initiale: 3680 • Durée: ~25 jours et 46 minutes • Pic: 1195 processeurs • 6,50874 e+12 nœuds explorés (0,39 % redondants)
Deuxième Résolution 1 195 Nbr. De proc. utilisés 97 % CPU des Trav. 1,7 % CPU du Ferm. Bordeaux(88) Lille(98) Orsay(360) Rennes(456) Sophia(190) Toulouse(112) Univ.(304) 328 22 ans 185 jours 16h 25 jours 46 minutes 05 jan. 2006 18h50 11 déc. 2005 18h03 11 802 proc. ont rejoint le calcul 129 958 allocations de travaux effectuées & 4 094 176 opérations de sauvegarde faites par les travailleurs
Conclusions • Proposition d’ une Approche Parallèle Gridifiée du B&B • Résolution du Flow-Shop?Atteint • Minimisation des coûts des communications? • Une communication= Un intervalle : A une taille de deux entiers • Mécanisme de tolérance aux pannes à faible coût? • Travailleur: Communication d’un intervalle (4 094 176 sauvegardes) • Fermier: Sauvegarde de l’ensemble des intervalles I dans un fichier • Passage à l’échelle?(En moy. 1,7% CPU fermier) • Équilibrage de charge?(En moy. 97% CPU travailleurs) • Vol de cycles? • Processus B&B en veille, si utilisateur se connecte sur leur machine • & Nombre de contraintesminimal sur les pare-feux ? • La seule contrainte imposée est que le fermier doit être visible
Perspectives • Étude théorique comparative de complexité • Approche proposée versus Autres approches de la littérature • Réalisation d’une interface Web pour le suivi d’une résolution • Projet 1ère Année Master Informatique, Lille • & Résolution Q3AP (QAP 3D) • Projet CHOC (CHallenge en Optimisation Combinatoire) de l’ANR «Calcul Intensif et Grilles de Calcul»