Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parIlbert Picard Modifié depuis plus de 10 années
1
Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon) Université de Clermont-Ferrand II, LIMOS, France Université de Technologie de Troyes, LOSI, France
2
2 But de lexposé Réflexion et travaux en cours (Troyes/Clermont) depuis 6 mois Première étape pour la parallélisation Etat davancement de nos réflexions
3
3 Parallélisation de métaheuristiques NVIDIA - CUDA Threads Choix Mise en oeuvre Implémentation parallèle dun GRASPxELS HVRP Expérimentations numériques Sommaire
4
4 Métaheuristiques parallèles
5
5 Quelques publications Parallel GRASP with path-relinking for job shop scheduling R.M. Aiex, S. Binato, and M.G.C. Resende Parallel Computing, 29:393-430, 2003. Uma investigação experimental da distribuição de probabilidade de tempo de solução em heurísticas GRASP e sua aplicação na análise de implementações paralelas R.M. Aiex PhD thesis, Department of Computer Science, Catholic University of Rio de Janeiro, Rio de Janeiro, Brazil, 2002. Parallelization strategies for the metaheuristic GRASP A.C.F. Alvim Master's thesis, Department of Computer Science, Catholic University of Rio de Janeiro, Rio de Janeiro, RJ 22453-900 Brazil, April 1998. Load balancing in the parallelization of the metaheuristic GRASP A.C.F. Alvim and C.C. Ribeiro Technical report, Department of Computer Science, Catholic University of Rio de Janeiro, Rio de Janeiro, RJ 22453-900 Brazil, 1998. Parallel strategies for GRASP with path-relinking R.M. Aiex and M.G.C. Resende Technical report, Internet and Network Systems Research Center, AT&T Labs Research, Florham Park, NJ, 2003.
6
6 Commentaires Tabou parallèle Grasp parallèle etc… Aucune métaheuristique parallèle nest la meilleure méthode publiée Architecture requise complexe, onéreuse, difficile daccès.
7
7 Choix Techniques
8
8 Approches possibles (1/5) CUDA Très fort parallélisme Utilise les cartes graphiques NVIDIA Problèmes de mémoire Parallélisation par threads Exploite le processeur central Largement répandu
9
9 Approches possibles (2/5)
10
10 Approches possibles (3/5) Transfert mémoire centrale carte très couteux. Mémoire par thread très limitée Intéressant : faible volume de données inadapté à la RO (exemple : matrice des distances) Raksmey Phan, « Prise en main de la technologie CUDAPrise en main de la technologie CUDA pour la programmation sur GPGPUpour la programmation sur GPGPU », Projet 3 ième année ISIMA http://fc.isima.fr/~phan/ProjetZZ3/TutoCuda.pdf
11
11 Approches possibles (4/5) Threads ? QT notion de threads Borland C++, Visual C++, Delphi notion de threads Un thread identifiant PUID sous Windows
12
12 Approches possibles (5/5) Que faut il savoir sur les threads ? Exploite le multi-cœurs Pas de gestion automatique des ressources en exclusion mutuelles plantage aléatoire débugage très difficile
13
13 Mise en oeuvre
14
14 Exemple (1/3) Un type pointeur pour passer des informations à un thread Le thread est une procédure !
15
15 Exemple (2/2)
16
16 Exemple (2/3)
17
17 Exemple (3/3)
18
18 Définition du temps de calcul Temps utilisateur <> temps de calcul Temps utilisateur !
19
19 Mesurer le CPU Time (1/3) accéder à la liste des processus tournant sous Windows ; trouver dans la liste le processus pour lequel on veut mesurer le CPU Time ; effectuer la mesure
20
20 Mesurer le CPU Time (2/3)
21
21 Mesurer le CPU Time (3/3)
22
22 Mesurer le CPU Time Voir manuel des bonnes pratiques !
23
23 Implémentation parallèle dun GRASPxELS
24
24 Schéma classique doptimisation
25
25 Tournées de véhicules : deux espaces de recherche
26
26 Proposition de parallèlisation n ELS en parallèle Synchronisation des n ELS Redémarrage avec la meilleure sol. Commune aux n ELS
27
27 Exemple
28
28 Tests Numériques VFMP … HVRP
29
29 HVRP (1/3) VRP + flotte hétérogène de véhicules Un dépôt : nœud 0 n nœuds (clients) d j demande du nœud j C ij coût du nœud i à j Flotte de K types de véhicules Un type de véhicules n k véhicules Un type de véhicules Q k capacité des véhicules
30
30 Résultats publiés – HVRP
31
31 Nouvelles instances
32
32 Création Géocodeur crée par Viannez Bajart et Christophe Charles – ISIMA – F2 3 ième année Utilise Google Api Java + JavaScript
33
33 Présentation (1/5) http://www.isima.fr/~lacomme/students.html
34
34 Présentation (2/5) 96 départements métropolitains 20 à 300 nœuds Distances non euclidiennes 8 types de véhicules 4 paquets dinstances < 100 nœuds DLP_HVRP_1 De 100 à 150 nœuds DLP_HVRP_2 De 150 à 200 nœuds DLP_HVRP_3 + de 200 noeuds DLP_HVRP_4
35
35 Présentation (3/5)
36
36 Présentation (4/5)
37
37 Présentation (5/5)
38
38 Lauvergne….
39
39 LAube…
40
40 Nightmare instances
41
41 GRASPxELS solutions (2/2) Solutions de 5 à 35 trips
42
42 Machine de test
43
43 Machine (1/2) Windows Server 2003 serveur HP proliant DL 785 G5 mémoire : 256 Go (PC2-5300 Registered DDR) 8 processeurs AMD Opteron 8356 quadricoeur (2,3 GHz, 75 W ACP)
44
44 Machine (2/2) 4 threads temps de communication nul 8 threads facteur de ralentissement de 2 16 threads facteur de ralentissement de 4 32 threads facteur de ralentissement de 8 BUS
45
45 Résultats numériques
46
46 Petites instances (1/3)
47
47 Petites instances (2/3)
48
48 Petites instances (3/3)
49
49 Instances de taille moyenne (1/2)
50
50 Instances de taille moyenne (2/2)
51
51 Tests - Conclusion Architecture matérielle impact sur les temps de calcul Grand intérêt de la paralélisation Résultats intéressants qualité de résultats + convergence
52
52 Conclusion
53
53 Conclusion (1/2) « Nos »premiers pas en méthode parallèle Attention aux pièges Intérêt démontré
54
54 Conclusion (2/2) Alternative crédible à Cuda Fort potentiel généralisation des architectures multi-cœurs Demande une grosse expertise
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.