Synthèse des outils de parallélisation. lisation. Matthieu PérotinP LI Tours. Matthieu Pérotin - LI Tours 1

Documents pareils
Parallélisme et Répartition

Initiation au HPC - Généralités

Extrait de uvrez/technique.mspx UREC MMSH (S. ZARDAN) 1

Aspects théoriques et algorithmiques du calcul réparti L agglomération

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Machines virtuelles Cours 1 : Introduction

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Conception des systèmes répartis

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Les nouveaux programmes de l él. école primaire. Projet soumis à consultation

CESI Bases de données

Systèmes et traitement parallèles

L Autorité de régulation des communications électroniques et des postes (ci-après «l Autorité»),

Questionnaire à transmettre aux employés de la commune. Communication interne. I ) Relations interservices.

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

DG-ADAJ: Une plateforme Desktop Grid

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Quantification d incertitude et Tendances en HPC

Les environnements de calcul distribué

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Cours 1 : La compilation

Estimation des charges. «Le travail se dilate jusqu à remplir le temps disponible»

Passage à l échelle d applications java distribuées auto-adaptatives

Algorithmes de recherche

1 questionnaire rempli = 1 reproduction de clé de votre choix, offerte par picard serrures*

Big Data et Graphes : Quelques pistes de recherche


ARBRES BINAIRES DE RECHERCHE

Architecture des ordinateurs

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

Rappel sur les bases de données

Eric Bertrand 08/11/06 Maître de conférence 1

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Introduction à la Programmation Parallèle: MPI

DUT Informatique Module Système S4 C Département Informatique 2009 / Travaux Pratiques n o 5 : Sockets Stream

Architecture des calculateurs

Introduction aux algorithmes répartis

Sujet 4: Programmation stochastique propriétés de fonction de recours

Resolution limit in community detection

Annexe 6. Notions d ordonnancement.

Plan. 1. La planification d un d 2. Méthodes et techniques de planification 3. Conclusion. D. Leclet

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Détection d'intrusions en environnement haute performance

Module 4 Tablettes et lieux de culture, musées, bibliothèques, universités

Circuits RL et RC. Chapitre Inductance

3.00. Catalogue produit

UE 8 Systèmes d information de gestion Le programme

Métriques de performance pour les algorithmes et programmes parallèles

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Programmation parallèle et distribuée

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

Compteurs d Energie Thermique & Systèmes associés

White Paper - Livre Blanc

IRL : Simulation distribuée pour les systèmes embarqués

Cours Informatique 1. Monsieur SADOUNI Salheddine

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

Une Architecture de Bureaux Graphiques Distants Sécurisée et Distribuée

Conception d'une plate-forme collaborative Microsoft SharePoint 2003

INSTALLATION ET CONFIGURATION DE HYPER V3

Descriptif de Kelio Protect

Cours de Master Recherche

Une nouvelle génération de serveur

Rapport d activité. Mathieu Souchaud Juin 2007

CORBA haute performance

Programmation Par Contraintes

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

Chapitre 4 : Exclusion mutuelle

MIS 102 Initiation à l Informatique

Audit 360. Votre Data Center peut-il vraiment répondre à vos objectifs? À quelles conditions? Avec quelles priorités? Pour quels budgets?

À qui s adresse cet ouvrage?

SINEAX V 611 Convertisseur de mesure température, programmable

THÈSE. pour obtenir le grade de. Spécialité : "Informatique : Systèmes et Communications"

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Cours 3 : L'ordinateur

comptable : le pourquoi et le comment

Algorithmique et programmation : les bases (VBA) Corrigé

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Windows serveur 2008 installer hyperv

données en connaissance et en actions?

Architecture des Systèmes d Information Architecture des Systèmes d Information

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Conception de circuits numériques et architecture des ordinateurs

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

Lot 4: Validation industrielle. Youness LEMRABET Pascal YIM, 19/11/2010

Optimisation Discrète

Jeux sous forme extensive (Jeux dynamiques)

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Comment initialiser une démarche SOA

Big Data et Graphes : Quelques pistes de recherche

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Générer du code à partir d une description de haut niveau

sur les activités futures qui seront mises en œuvre au Maroc en matière de gestion et d administration de la justice

Transcription:

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