Synthèse des outils de parallélisation lisation Matthieu PérotinP LI Tours 1
Plan (1/2) Introduction Pourquoi? Rappels architecturaux Paralléliser liser Modèles de parallélisation lisation Algorithmes parallèles les Évaluation de la qualité 2
Plan (2/2) Exemple avancé Procédures par Séparation S et Évaluation Conclusion 3
Introduction Pourquoi Paralléliser liser? Gagner du temps La modélisation parallèle le est parfois évidente Comment paralléliser liser? Question non triviale Propre à chaque architecture Propre à chaque problème 4
Introduction Rappels architecturaux Flynn (1972) propose une classification basée e sur: Les capacités s des machines à exécuter plusieurs instructions en parallèle le Les capacités à lire plusieurs sources d informationsd simultanément ment 5
Introduction 4 catégories: Single Instruction Single Data Unité de Commande Processeur U.A.L Mémoire Bus d interconnexion 6
Introduction Multiple Instructions Single Data Processeur Unité cde 3 U.A.L 3 Unité cde 2 U.A.L 2 Unité cde 1 U.A.L 1 Mémoire Bus d interconnexion 7
Introduction Single Instruction Multiple Data Processeur Unité de Commande U.A.L U.A.L U.A.L Mémoire Bus d interconnexion 8
Introduction Multiple Instruction Multiple Data Processeur 1 Processeur n Unité de Commande U.A.L Unité de Commande U.A.L Mémoire Bus d interconnexion 9
Introduction Classification étendue par Johnson (1988) Tient compte des types d accd accès s mémoirem moire Uniform Memory Access (UMA) Processeur 1 Processeur n Unité de Commande U.A.L Unité de Commande U.A.L Mémoire Bus d interconnexion 10
Introduction Non Uniform Memory Access (NUMA) Processeur n Processeur n Unité de Commande U.A.L Mem Unité de Commande U.A.L Mem Bus d interconnexion Bus d interconnexion Bus d interconnexion 11
Introduction No Remote Memory Access (NORMA) Processeur n Processeur n Unité de Commande U.A.L Mem Unité de Commande U.A.L Mem Bus d interconnexion Bus d interconnexion 12
Introduction Il est important de tenir compte de l architecturel matérielle de l ordinateur l qui va exécuter le code En particulier cette architecture détermine d le grain de l applicationl Le grain est la taille des unités s de calcul On peut le définir d comme le rapport des temps de communication sur le temps d exd exécution 13
Intoduction Les architectures MIMD/NORMA sont peu adaptées aux applications à grain fin Une architecture MIMD/UMA l est l beaucoup plus 14
Plan Introduction Pourquoi? Rappels architecturaux Paralléliser liser Modèles de parallélisation lisation Algorithmes parallèles les Évaluation de la qualité 15
Paralléliser liser Démarche d éd étude: Quels sont les modèles existants? Qu est-ce qu un un algorithme parallèle le? Comment évaluer sa qualité? 16
Paralléliser liser Modèles Modèles de parallélisme lisme Un modèle de parallélisme lisme est une description abstraite d une d machine parallèle. le. Deux grands modèles Mémoire partagée Réseau d interconnexiond 17
Paralléliser liser - Modèles Mémoire partagée Les processeurs accèdent tous de manière identique à une zone de mémoire m moire unique P 1 P 2 Unité d Accès Mémoire Mémoire partagée P n 18
Parallélisme lisme - Modèles Dans ce modèle Les processeurs utilisent la mémoire m moire pour communiquer les uns avec les autres Un mécanisme m d exclusion d mutuelle est mis en place Plusieurs processeurs peuvent lire la même m me adresse Un seul peut y écrire à un moment donné 19
Parallélisme lisme - Modèle Mémoire partagée Existence physique Systèmes SMP Systèmes UMA Existence logique SSI Attention: ceci ne remet pas en cause la classification matérielle! 20
Paralléliser liser - Modèles Réseau Les processeurs disposent chacun d une d mémoirem moire qui leur est propre, mais sont reliés s par un réseaur Mémoire Mémoire Mémoire P 1 P 2 P n R É S E A U 21
Parallélisation lisation - Modèles Dans ce modèle Les processeurs communiquent par échange de message Mécanisme d exclusion d mutuelle (ou pas) au niveau de l accl accès s réseaur 22
Paralléliser liser - Modèles Réseau d interconnexiond Existence physique Salle de TP Existence logique MPI, PVM 23
Parallélisation lisation - Algorithmes Qu est-ce qu un un algorithme parallèle le? «Un algorithme parallèle le est une méthode m de résolution d un d problème dans laquelle le problème est découpd coupé en sous problèmes de taille inférieure qui sont résolus r de façon simultanée» [Akl00] Attention : la simultanéit ité est ici un concept logique Ex: application multi-threadée s exécutant sur un unique processeur 24
Paralléliser liser - Algorithmes Formalisme Graphique: Diagramme de Gantt M 1 P 1 P 2 P 3 P 2 t M 2 P 2 M 1 P 1 P 3 t 25
Paralléliser liser - Algorithmes Formalisme Graphique: diagramme de Gantt M 2 P 2 M 1 P 1 P 3 P 2 M 2 P 4 M 1 P 1 P 3 26
Paralléliser liser - Algorithmes Formalisme Graphique : diagramme de précédence P 2 P 4 P 1 P 3 P 5 P 6 27
Parallélisme lisme - Algorithmes Formalisme théorique On suppose disposer de nouvelles primitives en pseudo code Démarrer(tache(arguments)) Lance la tâche t en parallèle, le, de manière non bloquante Envoyer(P, message) et Recevoir(P, message) Pour échanger des messages avec le processeur P L implémentation mentation effective de ces primitives dépendd du modèle et de l architecturel 28
Paralléliser liser - Algorithmes Exemple On doit effectuer un mailing 1000 courriers à envoyer Plier une feuille Mettre dans une enveloppe Adresser Timbrer 29
Paralléliser liser - Algorithmes Première version, séquentielles Tant que les 1000 enveloppes ne sont pas faites Traiter l enveloppel M 1 P 1 30
Paralléliser liser - Algorithmes Deuxième version, parallèle le On invite 4 amis à participer, chacun fait 200 enveloppes Pourquoi notre algorithme parallèle le n est-il n pas optimal? 31
Paralléliser liser - Algorithmes P 11 M 1 P 11 P 12 P 13 1 P 14 P 15 t M 2 P 12 M 3 P 13 M 4 P 14 M 5 P 15 t 32
Paralléliser liser - Algorithmes Une nouvelle version de l algorithme l serait Tant que 1000 enveloppes n ont n pas été faites, faire des enveloppes Induit un coût t de synchronisation supplémentaire mentaire P e P e P e P e P e P e P e P e P e P e P e P e P e P e P e P e P e P e P e PP e e 33
Paralléliser liser - Algorithmes On peut aussi décider d que chacun a une tâchet bien définied L un timbre, l autre l écrit les adresses Sans se préoccuper des autres P I Un stock apparaît en entrée Pour chaque enveloppe traitée, 3 arrivent A T 34
Paralléliser liser - Algorithmes Sur cet exemple simple, nous n avons n pas réfléchi P E E E E E A I T 35
Paralléliser liser - Algorithme Nous allons faire les opérations dans un autre ordre PA PI AI T Plus de stock et la date de fin reste inchangée 36
Paralléliser liser - Algorithmes Autre possibilité,, je m autorise m à avoir du stock A P I T Date de fin réduiter 37
Paralléliser liser - Qualité Disposer de critères res d éd évaluation est indispensable 3 principaux critères res Le temps d exd exécution total (Makespan( Makespan, C max Le nombre de processeurs Le coût max ) 38
Parallélisme lisme - Qualité Temps total d exd exécution Critère re «intuitif» : moins un algorithme met de temps à s exécuter, meilleur est cet algorithme Dépend généralement g de la taille des données, t(n) Problème : évaluer le temps d exd exécution d und algorithme est un problème ouvert 39
Parallélisation lisation - Qualité Nombre de processeurs p(n) Pour des raisons économiques, il est important de prendre en compte le nombre de processeurs que nécessite un algorithme Quand le nombre de processeurs augmente, le C max diminue (en général) g 40
Parallélisation lisation - Qualité Plusieurs coûts possibles Coût t des communications Coût t de stockage (espace mémoire) m moire) Coût t d inactivitd inactivité des machines 41
Parallélisation lisation - Qualité Les critères res d évaluation sont souvent contradictoires Nous sommes bel et bien face à des problèmes d optimisation multi-critères res L intervention d un d décideur d est essentielle On peut proposer un outil d aide d à la décision, d mais pas un outil de décision d automatique 42
Plan Exemple avancé Procédures par Séparation S et Évaluation Conclusion 43
Les PSE Principe en exemple Le problème du voyageur de commerce (PVC) 3 2 c 12 c 23 c c 24 25 c 35 1 c 13 {1,5,4,2,3} c 15 c 34 c 14 4 c 45 5 44
Les PSE Le PVC est un problème NP-Difficile Pas d autre d choix que d essayer d toutes les possibilités si l on l veut trouver la solution optimale (n-1)! possibilités 45
Les PSE Construction de notre PSE 1 {1} {1,2} 2 {1,3} 3 {1,4} 4 {1,5} 5 c 12 c 13 c 14 c 15 {1,2,3} 6 {1,2,4} 7 c 12 + c 23 c 12 + c 24 n {1,2,3,5,4} C n Si C < c n 15 il n est n pas nécessairen d explorer les solutions qui découlent du nœud n 5 46
Les PSE En fait une PSE permet une énumération implicite, et pas trop bêteb On n explore n que les solutions à même me de donner une solution meilleure que celles que l on connaît t déjàd Deux règles r de coupe Tests de borne inférieure Tests de dominance 47
Les PSE Exemple de tests de dominance Soit les deux solutions partielles {1,2,3,4} de coût t c 12 {1,3,2,4} de coût t c 13 12 +c 23 +c 34 13 +c 32 +c 24 34 = z 1 24 = z 2 Si z 1 = z 2 alors on dit que z 1 domine z 2 On explorera qu un un des deux sous arbres au départd des noeuds 48
Paralléliser liser une PSE L arbre d une d PSE peut être vu comme un diagramme de précédence Le parallélisme lisme apparaît t donc de manière limpide 49
Paralléliser liser une PSE Par exemple 1 {1} {1,2} 2 {1,3} 3 {1,4} 4 {1,5} 5 c 12 c 13 c 14 c 15 6 {1,2,4} 7 c 12 + c 24 n {1,2,3,5,4} C n 50
Paralléliser liser une PSE Paralléliser liser une PSE est un problème intéressant à plus d un d titre Les PSE sont utiles Des phénom nomènes nes dignes d intd intérêt t apparaissent Anomalie d accd accélération Anomalie de décélérationd 51
Paralléliser liser une PSE Anomalie de décélérationd 1 2 3 4 O n m 52
Paralléliser liser une PSE Anomalie d accd accélération 1 2 3 4 O n m 53
Paralléliser liser une PSE Certains critères res existent pour éviter les anomalies de détérioration, d et favoriser celles d accélération 54
Conclusion Paralléliser liser une application est une opération compliquée Pas de recette magique Il est nécessaire n de bien réfléchir Sur quelle architecture matérielle vais-je exécuter mon application? Quels sont mes critères res d éd évaluation? Ma solution logicielle est-elle réalisable r? 55
Conclusion Il existe des outils théoriques qui permettent une modélisation fine Théorie de l ordonnancement l mono et multi critères res Recherche opérationnelle Algorithmique Plus de processeurs n implique n pas nécessairement plus de vitesse 56