M. Mezmaz, N. Melab & E-G. Talbi Défi en Optimisation Combinatoire sur Grilles de Calcul Ré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 plusieurs solution(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 spécifiques 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 Heuristiques Heuristiques spécifiques Méta-heuristiques Méthodes exacts Non Arborescentes Méthodes Branch & Bound & Cut & Prise 4 2 1 3
Parallèlisation du B&B sur Grilles Processus B&B 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 Grilles Problé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ée Objectifs 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
Approche Parallèle Gridifiée Proposée Principe 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[ [0,1[ [1,2[ [2,3[ [3,4[ [4,5[ [5,6[ 1 2 3 4 5 [0,2[ [4,6[ [0,6[ [2,4[ 6
Approche Parallèle Grille Proposée Processus B&B (1) [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) 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={ }
Problème du Flow-Shop Dé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) M1 M2 M3
Problème du Flow-Shop Instances 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 Bordeaux(94) Toulouse(116) Rennes(128+129+200+64) Orsay(432) Sophia Antipolis (214) Lille(108) IEEA-FIL(157) Polytech-Lille (128) IUT-Lille(183) Grid’5000(1421)=~3/4 Univ. Lille1(468) =~1/4 ClusteRs non Utilisés (496) Lyon(108) Grenoble (208+20) Nancy (96) Grille de 1889 processeurs
Résolution de TA056 Solution optimale de Ta056 Résolution en deux fois 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 22 ans 185 jours 16h 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 contraintes minimal 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»