RenPar17 - PowerPoint PPT Presentation

1 / 85
About This Presentation
Title:

RenPar17

Description:

PRiSM-CNRS. INPG Grenoble, France Univ.de Versailles,France. cung_at_gilco. ... Architecture, fonctionnalit et interface de programmation. Parall lisme dans Bob ... – PowerPoint PPT presentation

Number of Views:323
Avg rating:3.0/5.0
Slides: 86
Provided by: mariele5
Category:
Tags: renpar17 | cnrs

less

Transcript and Presenter's Notes

Title: RenPar17


1
RenPar17
3-6 Octobre 2006 Perpignan
Expérimentation dun Nouveau Solveur Parallèle
pour les Problèmes dOptimisation Combinatoire
NP-difficiles Abdelaziz Djerrah Van
Dat Cung Bertrand Le Cun Catherine
RoucairolLab. GILCO
Lab.
PRiSM-CNRS INPG Grenoble, France
Univ.de
Versailles,France cung_at_gilco.inpg.fr
prénom.nom_at_prism.uvsq.fr
 
2
Plan de la Présentation
  • Problèmes dOptimisation Combinatoire (POCs)
  • Exemples dapplications
  • MĂ©thodes de rĂ©solution
  • Outils de rĂ©solutions (solveurs et bibliothèques)
  • La bibliothèque Bob
  • Architecture, fonctionnalitĂ© et interface de
    programmation
  • ParallĂ©lisme dans Bob
  • Exemples dapplications en OC avec Bob
  • Conclusion et Perspectives

3
Applications concernées
  • Problèmes dOptimisation Combinatoire (POCs)
  • F fonction Ă©conomique/objectif
  • X domaine de solutions
  • But trouver x tq F(x)Min / Max F(x)/ x e X
  • Exemples de de POCs
  • Sac Ă  dos (Knapsack problem)
  • Voyageur de commerce (PVC/TSP)
  • Affectation quadratique (QAP)
  • Ordonnancement Flow-Shop
  • Points commun des POCs
  • Très importants, modĂ©lisent plusieurs
    applications réelles
  • Faciles Ă  dĂ©finir
  • Très difficiles Ă  rĂ©soudre NP-complets

4
Sac Ă  Dos (KP)
  • un sac Ă  capacitĂ© limitĂ© W
  • n objets (Wi poids, Pi valeur ) de lobjet i
  • But  quel objets prendre pour maximiser la
    valeur
  • du sac sans dĂ©passer W 
  • Domaines dapplication
  • Cryptographie
  • aide Ă  la spĂ©culation boursière pour maximiser
    les
  • retours d'un capital Ă  placer sur des actions
  • chargement de bateau ou davion  tous les
    bagages Ă 
  • destination doivent ĂŞtre amenĂ©s, sans ĂŞtre en
    surcharge 
  • dĂ©coupe de matĂ©riaux pour minimiser les chutes
    lors de
  • la dĂ©coupe de sections de longueurs diverses
    dans des barres en fer.
  • Plusieurs variantes 01KP, LKP (continue),
    UKP(exemplaires de i), BKP (borné), d-KP
    (multidimensionnel), MOKP(multi-objectifs), QKP
    (quadratique), MCKP (choix multiples), MKP
    (multiple)

5
Voyageur de Commerce (PVC/TSP)
  • n villes
  • Dik distance entre les villes i et k
  • But  trouver un cycle hamĂ©ltonien pour visiter
  • toutes les villes une et une seule fois et
    revenir
  • Ă  la ville de dĂ©part .
  • Domaines dapplication
  • Transport (ramassage scolaire, ordures,
    personnel)
  • Logistique (livraison, enlèvement de
    marchandises)
  • Industrie (bras dun robot pour percer les trous
    dun
  • circuit Ă©lectronique).

6
Affectation Quadratique (QAP)
  • n usines et n sites
  • Fik (flux entre usines) et Djl distance entre
    sites
  • But  affecter les usines aux sites pour
  • minimiser les coĂ»ts dinteraction 
  • Domaines dapplication
  • VLSI, cockpits davion,
  • services hospitaliers, parcs forestiers
  • clavier ergonomique, turbines hydrauliques
  • Imagerie, sport, calcul parallèle, ordonnancement
  • etc

7
Méthodes de résolution
Borne supérieure
Borne inférieure
Bsup
Binf
F
Méthodes approchéesBsupf(x0)
MĂ©thodes exactes
  • EnumĂ©ration implicite
  • (Branch-and-X, PDyn, A, DC, )
  • Solveurs
  • PL(CPLEX, XPRESS-MP, ),PNL
  • PPC Programmation par contraintes
  • Heuristiques spĂ©cifiques
  • Metaheuristiques

--Optimales, Rapides
Optimales, --Complexes
8
Méthodes de résolution
Méthodes Approchées
MĂ©thodes Exactes
Heuristiques
A, DC
MĂ©taheuristiques
Programmation dynamique
Branch-and-X
  • ApprochĂ©es faciles Ă  implĂ©menter, rapides,
  • -- sans garantie de la solution
    trouvée.
  • Exactes garantissent loptimalitĂ© de la
    (les) solution(s),
  • -- complexes, temps de rĂ©solution exponentiel.

9
Besoin dune bibliothèque. Pourquoi?
  • Optimisation
  • RĂ©duire les coĂ»ts de dĂ©veloppement de nouvelles
    applications
  • Concentrer les efforts sur les parties
    application
  • DĂ©veloppement dapplications portables
  • ParallĂ©lisme
  • plus vite, plus grand
  • rĂ©duction temps de calcul
  • augmentation de la taille des applications
  • meilleur, plus robuste
  • amĂ©lioration de la qualitĂ© de la solution
  • facilitĂ© de fixation des paramètres

10
PVC
Applegate, Bixby, ChvatalCook 1998-2001, Rutgers
University
  • Branch-and-Cut (parcours parallèle pool de
    coupes géré en //, maître-esclaves)
  • usa13509 48 machines (AlphaServer 4100,
    UltraSparc, PII et Pros.)
  • - d15112 110 machines
  • (Alpha 21264 500-667, 21164 400,
    Athlon 800, PIII 450-1G)
  • Runtime support POSIX threads NFS sockets
    (Concorde)
  • http//www.math.princeton.edu/tsp/index.html

11
QAP
Anstreicher, Brixius, GouxLinderoth, 2000, Univ.
Iowa et Argone National Lab
Branch-and-Bound (parcours arborescent parallèle,
maître-esclaves, tolérant aux fautes),
Relaxation Convexe Quadratique. 2510 machines
(MPP inclus) Runtime support MW Condor PVM
(projet Globus) http//www-unix.mcs.anl.gov/metane
os/
12
Librairies pour Branch-and-X //
  • Commercial softwares
  • CPLEX (iLog)
  • XPRESS-MP (Dash Associates)
  • FORTMP (NAG Ltd.)
  • ABACUS ? (Univ. of Köln)
  • Branch-and-Bound
  • BOB (Univ. of Versailles)
  • MetaNEOS / FATCOP
  • (Argonne NL Univ. of Wisconsin)
  • PUBB (Univ. of Tokyo)
  • PPBB-Lib (Univ. of Paderborn)
  • ZRAM (Eth ZĂĽrich)
  • Mallba(Spain)
  • Branch-and-X
  • BOB (Bobo -) )
  • COIN (IBM)
  • PARINO (Georgia Tech.)
  • PICO (Sandia Lab. Rutgers Univ.)
  • Symphony (Rice Univ.)
  • Quelques limitations
  • non maintenues
  • spĂ©cifiques Ă  1 classe de problème (IP, MIP
  • 1 mĂ©thode de rĂ©solution
  • machine dĂ©pendante code non portable
  • machines // avec nombre limitĂ© de CPUs

13
Plan de la Présentation
  • Problèmes dOptimisation Combinatoire (POCs)
  • Exemples dapplications
  • MĂ©thodes de rĂ©solution
  • Outils de rĂ©solutions (solveurs et bibliothèques)
  • La bibliothèque Bob
  • Architecture, fonctionnalitĂ© et interface de
    programmation
  • ParallĂ©lisme dans Bob
  • Exemples dapplications en OC avec Bob
  • Conclusion et Perspectives

14
Bibliothèque daide au développement BOB/BOB
www.prism.uvsq.fr/ blec/Research/BOBO
  • BoB crĂ©Ă© en 1994 pour capitaliser le savoir-
    faire en BX//
  • BOB Langage OrientĂ© objet C, types
    paramétrés (template), réentrance
  • CaractĂ©ristiques
  • Choix des algorithmes de rĂ©solution
    (implantées)
  • Divide-and-Conquer, Branch-and-Bound,
    Programmation dynamique, A
  • Une API unique pour les applications
  • Un seul programme pour une exĂ©cution sĂ©quentielle
    ou //
  • Architecture
  • Classes de base
  • Structures de donnĂ©es
  • Nuds
  • StratĂ©gies de parcours
  • Algorithmes de rĂ©solution
  • Applications

APPLICATION XX
Algo
BobXXInfoAlgo
BobXXNode
BobSDCAlgo
BobBBAlgo
BobCDCAlgo
BobSchedAlgo
BobSchedNode
BobAlgo
BobNode
BobInfoAlgo
BobGDS
15
Fonctionnalités
  • MĂ©thodes communes aux algorithmes virtuelles
  • Initialisation du root (GetROOT()) et solution
    initiale (GetSol())
  • Initialisation de linfo lecture des donnĂ©es et
    options (Init())
  • OpĂ©rateur de gĂ©nĂ©ration de sous-problèmes
    (GenChildoperator())
  • GĂ©nĂ©ricitĂ© de la procĂ©dure

Gestionnaire du pool
Opérateur de génération
16
Parallélisme ATHAPASCAN / KAAPI Apache
(ID-IMAG), 96
  • Open Source, OrientĂ© objet (C)
  • Objectif faciliter la mise au point de
    programmes parallèles portables
  • mĂ©moire virtuellement partagĂ©e VSM (Virtual
    Shared Memory)
  • Grain de donnĂ©e objet partagĂ© Sharedlt
    user_type gt x
  • Grain de calcul tâche (appel de procĂ©dure)
    Fork ltfoogt()(args )
  • Ordonnancement, communications, synchronisations
    gérées par Kaapi
  • Ordonnancement dynamique Work Stealing (receiver
    initiative)

17
Documentation Bob
  • Lien http//wwwex.prism.uvsq.fr/users/blec/Resear
    ch/BOBO/
  • Exemples de bases
  • Affectation quadratique (QAP)
  • Voyageur de Commerce (PVC/TSP)
  • Reines
  • Sac Ă  Dos (Knapsack)

18
Plan de la Présentation
  • Problèmes dOptimisation Combinatoire (POCs)
  • Exemples dapplications
  • MĂ©thodes de rĂ©solution
  • Outils de rĂ©solutions (solveurs et bibliothèques)
  • La bibliothèque Bob
  • Architecture, fonctionnalitĂ© et interface de
    programmation
  • ParallĂ©lisme dans Bob
  • Exemple dapplication en OC avec Bob
  • Conclusion et Perspectives

19
Application QAP avec Bob
  • Projets DOC-G e-Toile
  • 5000 lignes de code
  • 2 code Bob
  • Version sĂ©quentielle AZQAP
  • Algorithme Branch-and-Bound BobBBAlgo
  • BobQAPInfoAlgo Size, matrices F et D, sym, UB
  • BobQAPNode Size, costtab, sol, ..
  • Version parallèle AZQAP
  • Version sĂ©quentielle 2 opĂ©rateurs demballage
    et déballage

20
MĂ©thodes exactes BX
  • Progrès spectaculaire depuis dĂ©but des annĂ©es 90
  • Augmentation de la puissance des processeurs
  • AmĂ©lioration des bornes infĂ©rieures
  • Continue (simplexe, PL), relaxation
    lagrangienne,(Bound)
  • GĂ©nĂ©ration de colonnes (Price)
  • Approche polyĂ©drale (Cut), Lift and project
  • autres relaxations Programmation quadratique,
    Programmation semi définie positive SDP
  • programmation par contraintes PPC (Infer)
  • ? tendance Ă  la sophistication, calcul plus
    long,mais candidat potentiel Ă  la
    parallélisation
  • DĂ©tection de symĂ©tries et de dominances
  • ParallĂ©lisme massif dans les parcours
    arborescents
  • Arbre critique de taille Ă©norme
  • Nugent 24 48 455 496 sommets dans 3488,3490
  • Nugent 30 12.10 9 sommets pour 677 valeurs

21
Algorithme Branch-and-Bound
Procédure BB ? minimisation, récupérer borne
supbsup f(x0) ?créer une nouvelle file de
priorité h contenant x0 h makeheap(x0) Tant
que h nest pas vide ? choisir le meilleur
sommet Ă  explorer X deletemin(h) ?
Pour chaque sommet fils y de x (opérateur
de génération) ? mise à jour et
Ă©lagage Si y est une solution de
réalisable, meilleure que la borne
sup actuelle, Bsup f(y)
Deletegreater(bsup,h)
? insertion nouveau sommet
Si y nest pas une solution
et v(y)ltbsup, Insert(y,h)
Finpour Fin tant que
  • ?Principe SĂ©paration et Evaluation
  • ? ElĂ©ments de base
  • Bornes infĂ©rieure
  • Valeur de la meilleure solution connue
  • OpĂ©rateur de gĂ©nĂ©ration
  • Fonction dĂ©valuation v
  • StratĂ©gie de parcours
  • ? Conditions dĂ©lagage
  • v(sommet)? f(x0)
  • ? Condition darrĂŞt
  • Toutes les branches explorĂ©es

Solution Optimale
22
Différentes stratégies de parcours arborescent en
//
  • GranularitĂ© dune tâche affectĂ©e Ă  un processeur
    Nombre de sommets explorés entre deux
    communications
  • ContrĂ´le de la recherche
  • Gestion des nuds
  • StratĂ©gie centralisĂ©e (un pool central)/DistribuĂ©e
    (plusieurs pools)
  • Ordonnancement
  • Information complète (prioritĂ©s,bsup)/
    incomplète
  • RĂ´le des processeurs
  • ContrĂ´le centralisĂ© MaĂ®tre/esclaves
  • DistribuĂ©, collĂ©gial
  • Plusieurs niveaux
  • Equilibrage de charge stratĂ©gies Ă©quivalentes

23
Tendance actuelle
  • Utilisation de processeurs ou machines
    élémentaires commerciales puissantes PCs,
    serveur
  • Machines faites Ă  façon par agglomĂ©ration
    (cluster) de processeurs via des réseaux locaux
    rapides Ă  faible latence (Quadrix,
    Myrinet,Infiniband, GigabitEthernet)
  • Nud PCs, serveurs (quadriprocesseurs, 8 Ă  128
    proc.), mémoire partagée
  • Nombre de nuds variable 1 Teraflop/Gigaflop 10
    12 /10 9 opérations flottantes par seconde
  • 50 Teraflops crĂŞte 10 000 x 5 Gigaflops/proc
  • 125 (16 x
    5 Gigaflops/proc)

24
2 Mesures de Performances
  • AccĂ©lĂ©ration ou Speedup
  • rapiditĂ©
  • T1temps avec 1 processeur
  • Tptemps avec p processeurs
  • SpT1/Tp
  • T1 temps pour algo sĂ©quentiel le plus rapide
    (absolu) ou algo parallèle avec 1 processeur
    (relatif)
  • EfficacitĂ©
  • Taux dactivitĂ© des p processeurs
  • Ep Sp/p

Speedup linéaire Spp, Ep1 Speedup
superlinéaire (nondeterministic search cache
uses) Spgtp, Epgt1 Speedup défavorable Spltltp,
Epltlt1
25
Parcours séquentiel et //
Consistance avec le parcours SĂ©quentielrespecter
le plus possible lordre du parcours
séquentiel B. Mans and C. Roucairol,
Performances of Parallel Branch and Bound
Algorithms with Best-First Search DAM Discrete
Applied Mathematics, 66(1), pp. 57-76, 1996.
26
Deuxième succès Affectation quadratique(QAP)
  • Problème daffectation quadratique Ă  30 villes et
    30 sites Nugent30
  • rĂ©solu exactement par Anstreicher, Brixius,
    GouxLinderoth, 2000,
  • Univ. Iowa et Argone National Lab.

Applications VLSI, cockpits davion, services
hospitaliers, clavier ergonomique ...
14,5,28,24,1,3,16,15,10,9,21,2,4,29,25,22,13,26,17
,30,6,20,19,8,18,7,27,12,11,23 6124 Annoncé
dans la presse Chicago Tribune, Chicago Sun
Times,HPCWire,WCNA Access magazine Infoscience,
Le Monde, Transfert,..
27
Parcours // point de vue algorithmique et
modèle de programmation
6
28
Début du millénaire deux succès médiatisés
  • Voyageur de commerce
  • VdC symĂ©trique Ă  13509 et 15112 A. Rohe villes
    résolues exactement
  • par Applegate, Bixby, ChvatalCook 1998-2001

29
Retour sur deux succès Challenges TSP et QAP
9 539 sommets RĂ©seau de 48 stations SĂ©q DEC
Alpha server 400Mhz 10 ans
Traveling Salesman Size gt Usa 13 509
11 892 208 412 sommets Grille sur un réseau 2510
machines PC,Sun et SGI O2000 2 lab nat. (Arg.
lab.,NCSA) 5 universités américaines (Wisconsin,Ge
orgia tech., New mexico, Colombia, North
western) IFN réseau italien MW Arg.Lab,Condor
Univ.Wisconsin,PVM 7 jours SĂ©q HPC3000 7 ans
Quadratic Assignment Size gt Nug30
30
Plan
  • Les applications concernĂ©es
  • Problèmes difficiles
  • Les machines
  • Tendances actuelles
  • ParallĂ©lisation des MĂ©thodes exactes
  • BX
  • ParallĂ©lisation des MĂ©thodes approchĂ©es
  • Metaheuristiques
  • Grilles de calcul?

31
(No Transcript)
32
Parcours séquentiel
Binf2
FMin f(x)/xeX
Sommet critique V(S)lt f Sommet éliminé V(S)gt
Bsup Sommet indécidable V(S) f Sommet terminal
V(S) f solution réalisable S
4
5
7
V(S) Ă©valuation dun sommet S
9
10
Enveloppe de larborescence critique
13
15
18
V(S)lt f
F20
25
V(S) f
28
Bsup 30
33
Parcours //
34
Caractéristiques des méthodes de résolution dOC
  • Des applications irrĂ©gulières
  • IrrĂ©gularitĂ© CAPA 1995, STRATAGEM
    1996Parallélisme et applications irrégulières,
    G.Authié, J.M.Garcia, A.Ferreira, J.M.Geib,
    J.L.Roch et G.Villard, J.Roman, C.Roucairol,
    B.Virot, Hermès, 1995.
  • Graphe de dĂ©pendance imprĂ©visibleaucune partie
    du graphe de dépendance peut être défini à la
    compilation ou avant lexécution (recherche
    arborescente BB, exploration dun espace de
    solutions)
  • Partitionnement, regroupement Affectation
    Ordonnancement dynamique à lexécution
  • (Equilibrage partage de tâches)
  • GranularitĂ©
  • MĂ©thode arborescente moyenne Ă  forte
  • MĂ©thode approchĂ©e faible

35
Convaincre la communauté RO?
  • Combattre lexplosion combinatoire
  • Mise Ă  disposition rĂ©cente de librairies
    permettant un développement plus facile
  • Problèmes rencontrĂ©s Partitionnement, Allocation
    et Ordonnancement dynamique, Problèmes
    difficiles de RO
  • Un cluster de 8 PCs 1 Serveur pour 15K 1
    teraflops 10 12 opérations flottantes par
    seconde? 2,5 M d
  • 1 machine n, T2n
  • 1024 x plus vite n n10
  • Trop difficile
  • mieux vaut consacrer du temps Ă  la recherche de
    meilleures bornes,
  • Demande des connaissances poussĂ©es plus en
    Programmation parallèle quen RO
  • Machines parallèles trop chères, difficiles
    daccès

36
Conception dune méthode de résolution parallèle
? partition en tâches ?communication graphe de
dépendance entre tâches ? Regroupement ?
Allocation Affectation ordonnancement
37
Discrete Optimization Challenges on GRIDDĂ©fis
en Optimisation Combinatoire sur Grille de
machines
Un projet de 3 ans
www.prism.uvsq.fr/DOC-G/
PARADISEO OPAC
BOB/BOB OPALE
Athapascan P3 O2
38
Borne inférieure RLT niveau-1
Adams Sherali 1986 Resende, Ramakrishnan
Drezner 1995
Soient yijklxijxkl et CijklFikDjl , le PL
relaxé au niveau 1
Contraintes daffectation linéaire
paires complémentaires
n2(n-1)2/2 variables yijkl, n2 variables xij,
2n2(n-1)2n contraintes n30, 379 350 variables
et 52 260 contraintes.
39
Procédure duale de Peter Hahn Fondé sur Méthode
Hongroise O(n3) décomposition Lagrangienne itérée
Borne inférieure Super leader
Cijkl
cij
Dijklpq
40
IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
41
IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
42
IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
43
IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
44
IMACS05
Lowe Bound
linear cost quadratic cost nul costs
Example N4
45
Résultats expérimentaux
Pareo2005
  • BOB/Athapascan
  • BB parallèle
  • branchement Polytomique
  • Tests pour Ă©liminer les affectations
    symétriques

usine i
sites
46
Sequential results (Level_1 RLT)
Pareo2005
On Pentium Xeon (2.4 Ghz, 2Go RAM, gcc-3.3)
47
RĂ©sultats sur des exemples de taille petite Ă 
moyenneCung, Guignard-Spielberg, Hahn, Mautor
RoucairolThèse en cours Abdelaziz Djerrah
  • BOB Charm/Converse (charm.cs.uiuc.edu)
  • Branchement simple (pas de look-ahead)
    détection des symétries
  • RLT niveau-1 pour borne inf

48
Parallel Results on a small Cluster
5 nodes Xeon bi-proc, 2.4Ghz, 2 Gbytes RAM
49
RĂ©sultats sur taille moyenneA.Djerrah,
VDCung,TMautor,CRoucairol 2003
  • Instance Nugent 18
  • Machines
  • 7 bi-Xeons 2.4GHz, 512 Ko, 2Go (cocteau,
    prism)
  • SpeedUp12.79
  • EfficacitĂ©92

50
RĂ©sultats Niveau1_RLT (1)
Scaling100
Diff 5
51
RĂ©sultats sur des tailles plus grandes
  • Grappe de PCs, I-Cluster 2
  • 100 PCs 733Mhz 256 Mbytes, Linux, Univ.Grenoble,
    cluster.imag.fr
  • Nombre de sommets
  • Temps en secondes

10mn
52
RĂ©sultats sur des tailles plus grandes
  • I-Cluster 2
  • Temps en secondes
  • ngt30 taille mĂ©moire limitĂ©ede chaque PC Ă 
    256Mo

53
? Parallélisation de metaheuristiques
54
Pourquoi paralléliser les metaheuristiques?
  • plus vite, plus grand
  • meilleur, plus robuste
  • amĂ©lioration de la qualitĂ© de la solution
  • facilite fixation des paramètres

55
Recherche locale
  • Graphe des voisinages
  • sommets solutions
  • arcs connectant les solutions du voisinage
  • Recherche locale ItĂ©ration basique
  • Ă  partir d'un sommet ou solution initiale,
    répéter jusquà un certain critère d arrêt
  • Ă©valuer les solutions dans le voisinage de la
    solution courante,
  • Ă©valuer leur coĂ»t,
  • effectuer un mouvement vers un des voisins (règle
    de pivotage) qui devient la solution courante.
  • Marche chemin reliant les solutions visitĂ©es
    durant la recherche dans le graphe des
    voisinages
  • Metaheuristique marche dans le graphe des
    voisinages pour Ă©chapper aux minima locaux

56
Deux types de parallélisation
  • parallèlisation interne - une seule marche
  • recherche du meilleur voisin effectuĂ©e de manière
    concurrente
  • soit par parallĂ©lisation du calcul du coĂ»t
    (fonction complexe)
  • soit par dĂ©composition du voisinage (ou du
    problème) sur différents processus
  • parallèlisation externe - plusieurs marches
  • indĂ©pendantes
  • exploration en // Ă  partir de plusieurs sommets ?
    du graphe des voisinages
  • partition du problème en sous problèmes (en
    fixant certaines variables), exploration des sous
    problèmes en parallèle
  • coopĂ©ratives

57
Une seule marche
  • recherche du meilleur voisin effectuĂ©e de manière
    concurrente
  • par parallĂ©lisation du calcul du coĂ»t (fonction
    complexe)
  • Temps rĂ©duit, pas de modification de la marche
    séquentielle
  • par dĂ©composition du voisinage (ou du problème)
    sur différents processus
  • Plus grande portion du voisinage Ă©tudiĂ©e,
    possibilité de trouver de meilleures solutions

58
Une seule marche
  • frĂ©quentes synchronisations
  • conserve propriètĂ©s de convergence RS recuit
    Simulé
  • technique frĂ©quente pour RS recuit SimulĂ© ou AG
    algorithmes génétiques
  • Grain fin Ă  moyen
  • Problème de tournĂ©es VRP
  • partition des clients en sous ensembles
  • en //, construction par metaheuristique de
    différentes routes sur chaque sous ensemble
  • Synchronisation combinaison des routes pour
    obtenir une solution complète du VRP améliorée
    par recherche Tabou TS

59
Plusieurs marches Indépendantes
  • exploration en // de plusieurs marches
  • partant de sommets diffĂ©rents dans le graphe des
    voisinages
  • intersection en 1 sommet ou plus
  • exĂ©cution successive de p marches en sĂ©quentiel
  • exploration en // de sous graphes du graphe des
    voisinages obtenus par décomposition du
    problème

60
Plusieurs marches Indépendantes
  • PLUS facile Ă  implanter, bonnes accĂ©lĂ©rations
    pour certains problèmes (cf théorème), utile pour
    la fixation de paramètres MOINS stratégie un
    peu pauvre du point de vue de linformation
    échangée, manque de coopération entre les
    différentes marches, peut générer des problèmes
    déquilibrage ou de travail redondant

En //
61
Complexité des metaheuristiques parallèles
  • Indices de performances d un algorithme
    parallèle
  • speed-up absolu/relatif, efficacitĂ©, anomalie
  • Speed up pour un algorithme de recherche locale
    parallèle
  • pour des instances de mĂŞme taille, rapport entre
    temps moyen pris pour trouver une solution
    dépassant l'optimum global de ? avec un
    algorithme séquentiel, et le temps moyen pour
    trouver une solution dépassant l'optimum global
    de ? avec un algorithme parallèle utilisant p
    processeurs (qualité fixée)

62
Théorème de marches multiples indépendantes
  • si Qp(t)est la probabilitĂ© de ne pas trouver une
    solution excédant l'optimum de ? en t unités de
    temps avec p marches indépendantes, et si Q1(t)
    e -t/l avec l ? R alors Qp(t) Q1(pt)
  • possible d'obtenir un speed-up linĂ©aire avec des
    marches multiples indépendantes si trouver une
    solution optimale (ou sous optimale) en un nombre
    d'unités de temps fixé suit une loi de
    probabilité exponentielle
  • Comportement vĂ©rifiĂ©
  • Affectation Quadratique
  • Recherche Tabou sur, Battiti et Tecchiolli, 92,
    Taillard, 91,
  • Recuit SimulĂ©, Dodd, 90
  • GRASP Aiex et al, 2000
  • arbre de Steiner, Osborne et Gillett 91
  • Min independent set, planarisation graphe

63
Plusieurs marches coopératives
  • les marches Ă©changent et partagent linformation
    obtenue tout au long de leur traversée
  • linformation partagĂ©e
  • solutions d élite, meilleure solution trouvĂ©e,
    liste tabou, taille des populations des ilĂ´ts,
    nombre, etc.
  • Variables globales ou pool en mĂ©moire locale
    d un processeur spécialisé accessible par tous
    les autres
  • stratĂ©gie plus gĂ©nĂ©rale, plus prometteuse mais
    demandant plus deffort Ă  limplantation

64
Plusieurs Marches coopératives
  • But accĂ©lĂ©rer la convergence vers de très bonnes
    solutions et trouver en moins de temps quavec
    des marches indépendantes de meilleures solutions
  • DifficultĂ©s nature de l information Ă  partager
    ou échanger sans engendrer trop de surcoût de
    communication ou de stockage

65
De très nombreux exemples!
  • Tabou, Grasp,VNS, MĂ©thodes Ă©volutionaires,
  • Exemples commentĂ©s dans
  • V.D.Cung, C.Roucairol ImplĂ©mentations parallèles
    des metaheuristiques Résolution de problèmes de
    RO par les Metaheuristiques, eds. Marc Pirlot,
    Jacques Teghem, Traité IC2, série Informatique
    et systèmes dinformation, 2003.
  • V.D. Cung, S. Martins, C.Ribeiro and C. Roucairol
  • Strategies for the Parallel Implementation of
    MetaheuristicsEssays and Surveys in
    Metaheuristics, Guest Editors C.C. Ribeiro and
    P. Hansen, Kluwer Academic Publishers , 263-308,
    2001. www.optimization-online.org/DB_HTML/2001/05
    /321.html
  • Journal of Heuristics, Vol 10, number 3, May
    2004Special issue New advances on parallel
    metaheuristics for complex problems

66
Un exemple Recherche par dispersion pour
lAffectation Quadratique
  • A scatter search based approach for the QAP
    Proc.of IEEE-ICEC97, VDCung, T.Mautor
    P.Michelon, A.Tavares
  • Ensemble de solutions de rĂ©fĂ©rence (dispersĂ©)
  • 2n solutions obtenues par permutation circulaire
    sur une permutation (solution initiale)
  • Combinaison convexe sur 2 Ă  5 solutions dĂ©lite
  • Si solution non rĂ©alisable Heuristique pour
    trouver la plus proche
  • amĂ©lioration recherche tabou
  • Mouvement Ă©change entre 2 usines
  • Mouvement inverse tabou
  • intensification
  • diversification
  • Statut tabou sur solutions dĂ©lite
  • Faible affectations peu utilisĂ©es jusqualors

67
Robustesse des parallélisations
10 exécutions // de Sko56
68
Deux types de parallélisation étudiées
  • Marches indĂ©pendantes
  • Plusieurs marches coopĂ©ratives
  • Diffusion 1 dune bonne solution locale Ă  tous
    les autres
  • InsĂ©rĂ©e si meilleure que la pire de lensemble de
    référence, sinon rejetée
  • Diffusion 2 vers une autre marche alĂ©atoirement
    choisie
  • RĂ©seau de stations de travail type PC connectĂ©es
    par Ethernet 10Mbits /PVM

2500 itérations
69
Deux types de parallélisation étudiées
70
Robustesse
5 exécutions // de tai100a
5 exécutions // de thp150a
3 processeurs, ensemble de référence 2n
71
Parallélisme et metaheuristiques font-ils bon
ménage?
  • NON
  • une metaheuristique demande peu de temps
    d'exécution
  • les gains sont de toute façon faibles pour des
    accélérations pas très intéressantes
  • l'implĂ©mentation d'une metaheuristique est dĂ©jĂ 
    bien complexe, sa parallélisation demande un
    effort supplémentaire
  • OUI
  • importants gains de temps mĂŞme avec une stratĂ©gie
    basique face Ă  des metaheuristiques de plus en
    plus sophistiquées et coûteuses
  • un moyen facile et rapide
  • de rĂ©gler des paramètres d'une mĂ©thode
  • d'amĂ©liorer la qualitĂ© des solutions fournies
    via une diversification naturelle de la
    recherche (plus grande diversité génétique ou
    meilleure exploration de l'espace de recherche)

72
? Et les grilles?
73
Et les grilles?
  • CaractĂ©ristiques
  • Nombre important de machines
  • HĂ©tĂ©rogènes
  • DisponibilitĂ© variable
  • Vaste rĂ©seau dinterconnexion
  • Applications Ă  forte granularitĂ©
  • NĂ©cessitĂ© denvironnements de programmationpermet
    tant
  • TolĂ©rance aux pannes
  • Auto-adaptation des applications Ă 
    lenvironnement
  • Exemples
  • MWCondorPVM
  • MARSPM2

74
Algorithme centralisé modèle Maître-Esclaves
  • Modèle simple Ă  implĂ©menter et efficace si
  • 1PossibilitĂ© de rĂ©gler la granularitĂ© dune
    tâche
  • taille des sous arbres Ă  explorer
  • 2 Peu dĂ©changes entre maĂ®tre et esclaves
  • racine des sous arbres (dĂ©but dune tâche)
  • 3 Peu de synchronisation entre esclaves
  • Borne supĂ©rieure? Globale (fin dune tâche)
  • Chaque esclave explore indĂ©pendamment des autres
    son sous arbre
  • StratĂ©gie dĂ©quilibrage de charge
  • TolĂ©rance aux fautes
  • Ajout ou retrait dun esclave gĂ©rĂ©es au niveau du
    maître
  • Sauvegarde des donnĂ©es du maĂ®tre
  • Beaucoup dexpĂ©riences positives
  • ClausenPerregaard 1994, Mans, MautorRoucairol
    1995,
  • Bruengger, Clausen, MarzettaPerregaard 1996,
  • Dennelin, Le cun,Mautor, MĂ©haut 1996, CungLe cun
    2000,

75
Mais, attention à la généralisation!
  • PrĂ©fĂ©rer un algorithme distribuĂ©
  • si les conditions prĂ©cĂ©dentes ne sont pas
    vérifiées
  • TSP usa13509, Ă©valuation de chaque sommet 33 060
    s gt 9h.
  • Vertex-Cover avec borne par SDP CungRoupin
    1999, évaluation gt1 minute pour problèmes
    (100-250 sommets), très peu de sommets pour pbs
    (10-50).
  • Condition 1 non satisfaite (Ă©quilibrage
    difficile)
  • DifficultĂ© Ă  adapter la granularitĂ© des sous
    arbres explorés
  • Conditions 2 3 non satisfaite (surcoĂ»t de
    communication)
  • applications avec structures globales (CLOSED
    list in A, 2D Guillotine Cutting)
  • programmes parallèles plus mauvais que
    séquentiel!

76
Projet RNTL e-Toile 2001-2003
Universités Industriels CNRS (STIC, UREC,
IBCP), ENSL/LIP, INRIA/RESO, ID-IMAG,
IRISA/Paris, University (UVSQ/PRISM), CEA, CS,
EDF, SUN Utilisateurs CEA, EDF, IBCP, PRISM
77
e-Toile (Juin 2003)
e-Toile 1 grid platform 7 sites 10
grid nodes 200 heteregeneous processors OS
(partners ownership on full time or
vacations basis) 10 Gbps IPV6 network
VTHD 10 Gb/s
ENS-LYON
UREC
RESO
supervision administration
LIP
CERN (Datagrid, Datatag)
poi0 Ă  poi23
78
Expériences sur e-Toile
  • Nug20 (20 usines et 20 sites)
  • Temps
  • 1648secondes, gt4h sur la grappe du CEA composĂ©e
    de 20 AMD MP,1800
  • 499 secondes (8.3mn) sur quatre grappes
    totalisant 84 processeurs
  • 7bi-Xeons 2.4Ghz, 2Go (PRiSM)
  • 10bi-AMD MP 1800, 1Go (CEA)
  • 10bi-Xeons, 2.2Ghz, 2Go (EDF)
  • 15bi-PIII, 1.4Ghz, 1Go (ENS-Lyon)
  • accĂ©lĂ©ration brute Ă T20/T84 3,1

79
Conclusions
  • Les implĂ©mentations parallèles ne devraient pas
    rester le domaine de spécialistes et devraient
    être à la portée de n'importe quel utilisateur
  • La mise en place de librairies daide au
    développement méthodes séquentielles et
    parallèles est nécessaire
  • MĂ©thodes exactes BX//
  • MĂ©thodes approchĂ©es
  • recherche locale EA alg. Évolutionaires,
    hybridation
  • Paradiseo, Univ.Lille, MALLBA 2002, Espagne
  • restreint EA
  • DREAM 2002,ECJ O2, JDEAL 99, DBEAGLE 03

80
  • Parallel Optimization, Crainic T., Roucairol C.,
    Annals of Operations Research 90, Baltzer Science
    publ, 1999.
  • Algorithmes parallèles analyse et conception,
    G.Authié, A.Ferreira, J.L.Roch et G.Villard,
    J.Roman, C.Roucairol, B.Virot, Hermès, 1994.

81
EURO Working group PAREO
  • PAREO 2005 au QuĂ©bec
  • January 17-20 , 2005.
  • Submission deadline
  • Contact
  • pareo2002_at_prism.uvsq.fr
  • www.prism.uvsq.fr/blec/PAREO/

82
Level_1 RLT bound results
Pareo2005
  • Lower bounds
  • Hahn-and-Grant 2000 iterations on SPARC 10
    (75Mhz Super Spare processor)

83
e-Toile experiments
  • e-Toile project
  • French Grid initiative
  • Very high speed network
  • 6 locations, clusters and supercomputers
  • Goals
  • Replaces or changes some parts of the Globus
    System
  • Our experiments
  • Same code Athapascan BOB

84
RĂ©sultats(2)
85
Resolution with Peter Hahns DUAL procedure
(Iterated Lagrangian decomposition) Slightly
worse solutions,but faster than CPLEX.
Nugent 12 1995, CPLEX 3.0, Silicon Graphics
250Mhz, 1.2GB RAM ADP (conjugate gradient based
interior point method) spent 6504 seconds. The
best CPLEX 3.0 methods have not been able to
solve instances for size ngt8 and ADP is reported
to be at least 200 times faster than CPLEX 3.0
barrier.
Write a Comment
User Comments (0)
About PowerShow.com