54
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

Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

Embed Size (px)

Citation preview

Page 1: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

Parallélisation des métaheuristiquesSéminaire LOSI – 7 mai 2010

P. Lacomme, C. Prodhon(Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins,

Prodhon)

Université de Clermont-Ferrand II, LIMOS, FranceUniversité de Technologie de Troyes, LOSI, France

Page 2: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

2

But de l’exposé

Réflexion et travaux en cours (Troyes/Clermont) depuis 6 mois

Première étape pour la parallélisation

Etat d’avancement de nos réflexions

Page 3: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

3

Parallélisation de métaheuristiques NVIDIA - CUDA Threads Choix

Mise en oeuvre Implémentation parallèle d’un

GRASPxELS HVRP Expérimentations numériques

Sommaire

Page 4: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

4

Métaheuristiques parallèles

Page 5: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

5

Quelques publicationsParallel GRASP with path-relinking for job shop scheduling R.M. Aiex, S. Binato, and M.G.C. ResendeParallel Computing, 29:393-430, 2003.

Uma investigação experimental da distribuição de probabilidade de tempo de soluçãoem heurísticas GRASP e sua aplicação na análise de implementações paralelas R.M. AiexPhD thesis, Department of Computer Science, Catholic University of Rio de Janeiro, Rio deJaneiro, Brazil, 2002.

Parallelization strategies for the metaheuristic GRASP A.C.F. AlvimMaster's thesis, Department of Computer Science, Catholic University of Rio de Janeiro, Rio deJaneiro, RJ 22453-900 Brazil, April 1998.

Load balancing in the parallelization of the metaheuristic GRASP A.C.F. Alvim and C.C. RibeiroTechnical report, Department of Computer Science, Catholic University of Rio de Janeiro, Rio de Janeiro,

RJ22453-900 Brazil, 1998.

Parallel strategies for GRASP with path-relinking R.M. Aiex and M.G.C. ResendeTechnical report, Internet and Network Systems Research Center, AT&T Labs Research, Florham Park, NJ,

2003.

Page 6: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

6

Commentaires

Tabou parallèle Grasp parallèle etc…

Aucune métaheuristique parallèle n’est la meilleure méthode publiée

Architecture requise complexe, onéreuse, difficile d’accès.

Page 7: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

7

Choix Techniques

Page 8: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

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

Page 9: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

9

Approches possibles (2/5)

Page 10: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

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 CUDApour la programmation sur GPGPU », Projet 3ième annéeISIMAhttp://fc.isima.fr/~phan/ProjetZZ3/TutoCuda.pdf

Page 11: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

11

Approches possibles (4/5)

Threads ? QT notion de threads Borland C++, Visual C++, Delphi

notion de threads

Un thread identifiant PUID sous Windows

Page 12: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

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

Page 13: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

13

Mise en oeuvre

Page 14: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

14

Exemple (1/3)

Un type pointeur pour passer des

informationsà un thread

Le thread est uneprocédure !

Page 15: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

15

Exemple (2/2)

Page 16: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

16

Exemple (2/3)

Page 17: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

17

Exemple (3/3)

Page 18: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

18

Définition du temps de calcul

Temps utilisateur <> temps de calcul

Temps utilisateur !

Page 19: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

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

Page 20: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

20

Mesurer le CPU Time (2/3)

Page 21: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

21

Mesurer le CPU Time (3/3)

Page 22: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

22

Mesurer le CPU Time

Voir manuel des bonnes pratiques !

Page 23: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

23

Implémentation parallèle d’un GRASPxELS

Page 24: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

24

Schéma classique d’optimisation

Determine a QDRS

A quasi-direct representation of solution (QDRS)

A solution S.

Improved solution S’fA quasi-direct

representation of solution (QDRS)

Heuristics dedicated to the

problem

A solution S.

f

A quasi-direct representation of solution (QDRS)

Initial set of QDRS

Initialization of the framework

Diversification Process

Local Search(LS)

f

Improvement of solution Framework iterations

Page 25: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

25

Tournées de véhicules : deux espaces de recherche

Split

Concat

metaheuristic search space A routing solution

Page 26: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

26

Proposition de parallèlisation

Solution

Random Sampling

Evolutionary Local Search

np GRASP iterations

Greedy randomized heuristic

Local Search

Solution S

Divide and conquert

Solution Solution Solution

Mutation

Local Search

Solution

Mutation

Local Search

Solution

Mutation

Local Search

Solution

ni ELS iterations

nc children-solutions

S replaced by best child in case of improvement

Selection

n ELS en parallèle

Synchronisation des n ELS

Redémarrage avec la meilleure sol. Commune aux n ELS

Page 27: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

27

ExempleS0 : 10 324

Best sur 10 : 10 075

Best sur 10 : 9 633

Best sur 10 : 9 607

Best sur 10 : 9 545

Best sur 10 : 9 546

Best sur 10 : 9 884

Best sur 10 : 9 606

Best sur 10 : 9 536

Best sur 10 : 9 630

Best sur 10 : 9 636

Best sur 10 : 9 764

Best sur 10 : 9 696

Best sur 10 : 9 687

Best sur 10 : 9 618

Best sur 10 : 9 608

Best sur 10 : 9 759

Best sur 10 : 9 592

Best sur 10 : 9 592

Best sur 10 : 9 393

Best sur 10 : 9 287

Processeur 1 Processeur 2 Processeur 3 Processeur 4

Pour chaque processeur, on garde les 10 meilleurs

Les 4 meilleures solutions : 9287 (processeur 4), 9330 (P4), 9336 (P4), ??? (P??)

Best sur 10 : 9 881

Best sur 10 : 9 515

Best sur 10 : 9 390

Best sur 10 : 9 389

Best sur 10 : 9 386

Processeur 1Depart depuis:

9287Depart depuis:

9330

Best sur 10 : 9 881

Best sur 10 : 9 515

Best sur 10 : 9 390

Best sur 10 : 9 389

Best sur 10 : 9 386

Etc... Etc...

Depart depuis: 9336

Page 28: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

28

Tests Numériques VFMP … HVRP

Page 29: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

29

HVRP (1/3)

VRP + flotte hétérogène de véhicules Un dépôt : nœud 0 n nœuds (clients)

dj demande du nœud j

Cij coût du nœud i à j

Flotte de K types de véhicules Un type de véhicules nk véhicules Un type de véhicules Qk capacité des véhicules

Page 30: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

30

Résultats publiés – HVRP

Page 31: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

31

Nouvelles instances

Page 32: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

32

Création

Géocodeur crée par Viannez Bajart et Christophe Charles – ISIMA – F2 3ième année

Utilise Google Api

Java + JavaScript

Page 33: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

33

Présentation (1/5)

http://www.isima.fr/~lacomme/students.html

Page 34: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

34

Présentation (2/5)

96 départements métropolitains

20 à 300 nœuds Distances non euclidiennes 8 types de véhicules

4 paquets d’instances < 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

Page 35: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

35

Présentation (3/5)

Page 36: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

36

Présentation (4/5)

Page 37: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

37

Présentation (5/5)

Page 38: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

38

L’auvergne….

Page 39: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

39

L’Aube…

Page 40: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

40

Nightmare instances

Page 41: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

41

GRASPxELS solutions (2/2)

Solutions de 5 à 35 trips

Page 42: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

42

Machine de test

Page 43: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

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)

Page 44: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

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

Page 45: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

45

Résultats numériques

Page 46: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

46

Petites instances (1/3)

Page 47: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

47

Petites instances (2/3)

Comparative study between total time and best time

0

200

400

600

800

1000

1200

1400

1600

1800

2000

1P 2P 4P 8P 16P 32P

Best time

Total time

Page 48: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

48

Petites instances (3/3)

% of best solutions

0

10

20

30

40

50

60

70

80

90

100

1P 2P 4P 8P 16P 32P

Page 49: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

49

Instances de taille moyenne (1/2)

Comparative study between the total time and the best time

0

200

400

600

800

1000

1200

1400

1600

1800

2000

1P 2P 4P 8P 16P 32P

Page 50: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

50

Instances de taille moyenne (2/2)

% of best solutions

0,0

10,0

20,0

30,0

40,0

50,0

60,0

70,0

80,0

90,0

100,0

1P 2P 4P 8P 16P 32P

Page 51: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

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

Page 52: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

52

Conclusion

Page 53: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

53

Conclusion (1/2)

« Nos »premiers pas en méthode parallèle

Attention aux pièges

Intérêt démontré

Page 54: Parallélisation des métaheuristiques Séminaire LOSI – 7 mai 2010 P. Lacomme, C. Prodhon (Equipe Clermont: Duhamel, Lacomme, Equipe UTT: Prins, Prodhon)

54

Conclusion (2/2)

Alternative crédible à Cuda

Fort potentiel généralisation des architectures multi-cœurs

Demande une grosse expertise