Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Cours 4-b Méthode des éléments finis 2D
La Gestion de la Configuration
Cours 3-b Méthode des éléments finis 1D
Sensibilisation à l’Algorithmique et structure de données
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
(Classes prédéfinies – API Java)
METHODE DE GAUSS FACTORISATION LU
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
INTRODUCTION.
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
Les système linéaires Stéphane Paris.
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Graphes Conceptuels J.F. Baget Inria.
Chaire UNESCO - Calcul numérique intensif
Mémoire de Projet de Fin d’Etudes
TRANSMISSION DES DONNEES.
Méthode des k plus proches voisins
Interaction fluide-structure
III – Convergence Asymptotique
La segmentation
RECONNAISSANCE DE FORMES
Algorithmique et Programmation
E. Canot J. Erhel C. De Dieuleveult Le code d´eau salée réunion hydrogrid le 11/10/2004.
FICHIERS : Définition : Algorithme général:
Les fichiers indexés (Les B-arbres)
LES ARBRES IUP 2 Génie Informatique
Méthode des Ensembles de Niveaux par Eléments Finis P1
II- L’algorithme du recuit simulé (pseudo-code)
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Propagation de radionucléides issus dun stockage dans une couche dargile.
Simulation du pliage d’une pièce de sécurité automobile
Calcul des groupes d'homologie d’objets discrets
Programmation dynamique
Pour le chemin le plus court pour tous les couples
L’adaptativité pour un solveur de l’équation de Vlasov
Présentation de la méthode des Eléments Finis
Importance du réseau dans des architectures MIMD Tout échange entre les processeurs nécessite un transfert de données via le réseau.
Itérations de fonctions non linéaires
LA LOGIQUE ALGORITHMIQUE
INTRODUCTION.
Graph cuts et applications
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Méthodes de décomposition de domaine pour la formulation mixte duale du problème critique de la diffusion des neutrons Pierre Guérin
Optimisation de requêtes
Méthodes de tri.
STATISTIQUES – PROBABILITÉS
Pr BELKHIR Abdelkader USTHB
Présentation générale
Structures de contrôle
Par Thomas Mazurié (Projet en cours) Stage en cours de réalisation au CIDETEQ, au MEXIQUE.
Programmation Création d’une mire 1 afficher une image
Problème de double digestion
Module 3 : Création d'un domaine Windows 2000
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Introduction et Généralités sur l’Algorithmique
Optimisation pour la Conception de Systèmes Embarqués
Mais quel est donc le taux d’inflation actuel ? J.C. Lambelet et D. Nilles Catherine Roux Alvaro Aparicio Gregor Banzer Daniel Cavallaro.
Réalisation d’un logiciel de Chiffrement RSA.
Cours 5 - Trois algorithmes de tri d'un tableau
PIF-6003 Sujets spéciaux en informatique I
Recuit simulé Une métaheuristique venue de la métallurgie.
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
Café In: A quoi ca sert la recherche sur la programmation? Comment peut on faire travailler des ordinateurs ensemble? Ludovic Henrio SCALE TeamSCALE Team.
1. Tri rapide ou Quicksort Principe : La méthode du Quicksort due au C.A. Hoare (1962) utilise les principes généraux de division et équilibrage. 2.
Présentation de Séminaire
GdR MoMaS Novembre 2003 Conditions d’interface optimales algébriques pour la vibro-élasticité. François-Xavier Roux (ONERA) Laurent Sériès (ONERA) Yacine.
MECANIQUE DES MILLIEUX CONTINUS ET THERMODYDAMIQUE SIMULATIONS.
Novembre 2003 Simulation numérique en vibro-acoustique par couplage de deux codes parallèles Unité de Recherche Calcul à Haute Performance François-Xavier.
Transcription de la présentation:

Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1

Importance du partitionnement : P0 P1 P2 P0 P1 P2 P0 P1 P2

1) Un algorithme de partitionnement/repartitionnement parallèle. 2) Une méthode de parallélisation basée sur le repartitionnement et son application dans l’élaboration d ’un mailleur/r leur parallèle.

Qualité d ’une partition : - elle doit être équilibrée : le volume de calcul effectué par chaque processeur doit être sensiblement le même. - elle doit minimiser les interfaces entre les sous-domaines de façon à minimiser le temps passé dans les communications.

Exemple d ’une partition 2D La partition La charge des processeurs Les communications

Exemple d’une partition 3D La charge : La partition : Les communications :

La partition de maillage Sa vision simplifiée sous forme de graphe Un exemple

2 types de programmation : - programmation maître-esclave Un processeur dirige et donne du travail aux autres processeurs qui sont à ses ordres. - programmation SPMD Tous les processeurs exécutent le même programme. Il est cependant possible de simuler une programmation maître-esclave.

Principe général : équilibrer les paires formées, coupler les processeurs, Étant donnée une partition : Puis itérer

Algorithme Algorithme général Initialisation : un ensemble de personnes avec leur personnalité Une variable logique : espoir tant que ( espoir ) faire pour chaque personne faire construction de son entourage recherche d ’une âme sœur dans son entourage à l ’aide d ’une fonction amitié si âme sœur alors vie commune si pas de changement de sa personnalité alors déçu sinon déçu fin pour plus d ’espoir si toutes les personnes sont déçues fin tant que

Algorithme de couplage En entrée : - moi - mon entourage En sortie : une variable de situation (ma position) qui égale : - mon âme sœur si je suis marié(e) - seul(e) si je n’ai trouvé(e) personne. La preuve de cet algorithme repose sur le fait que : - amitié est symétrique ; - amitié a (b)=amitié(a,b) est injective ; - l’espace image de amitié est totalement ordonné.

Tests d ’efficacité avec une fonction coût simplifiée Avec comme fonction de couplage : où Ici on utilise une fonction coût basée uniquement sur la charge des différents domaines :

Vitesse de convergence de l’algorithme suivant différents paramètres

La fonction coût générale Avec comme fonction de couplage : où La fonction coût devient : Avec : et, : une fonction de dans

Précision sur la charge de travail : La charge de travail d ’un processeur correspond à : Où représente le nombre d ’opérations à effectuer, et la vitesse du processeur. Le nombre d ’opérations étant défini par : (resp. ) étant le nombre d ’opérations associé à un élément (resp. à un nœud)

R(e,n) est une relation élément-nœud donnant +/- de cohésion entre «e » et « n » n2n2 n1n1 n3n3 e R(e,n 1 ) R(e,n 2 ) R(e,n 3 ) Précision sur les communications : Les communications sont représentées par un coût de communication élément-nœud : Où E (resp N) représente l ’ensemble des éléments (resp nœuds) d ’un domaine. Et l ’ensemble des nœuds apparaissant dans l ’ensemble d ’éléments E.

illustrations S=1 S=8 S=4 S=2 S=1 P(e)=1000 P(e)=1

Suppression des composantes non connexes Une composante : Sélection des éléments nœuds à migrer : Redéfinition de amitié : -un ensemble d ’éléments et de nœuds ; -une taille (nb éléments + nb nœuds) ; -un processeur hôte et un d ’accueil. Rq : la composante la plus grande d ’un domaine représentera ce domaine

Exemple d ’application Vue des domaines non connexes.

Exemple d ’application Un cas où la demi étape est nécessaire, sinon inversion des corridors.

Suppression des corridors Un corridor : Sélection des éléments nœuds à migrer : Redéfinition de amitié : -un ensemble d ’éléments et de nœuds ; -une taille (nb éléments + nb nœuds) ; -un processeur hôte et un d ’accueil. Rq : un corridor de b dans a ne l ’est plus forcément après échange des corridors de a dans b, d’où l ’étape 1/2 Suivie par

Deux méthodes de parallélisation : - Une directe qui consiste à développé une version parallèle des opérateurs locaux ; - Une autre itérative qui modifie la partition de façon à rendre actifs les opérateurs n’ayant pu être exécutés tq

Méthode de parallelisation d ’algorithmes locaux L ’algorithme à paralléliser : où : est un opérateur élémentaire à support local. Soit une partition du domaine : les autres :

La seconde se termine lorsque : une illustration : 43 21

Utilisation du repartitionneur pour un mailleur/r leur parallèle Partitionner le domaine R ler à interfaces fixées chacun des sous-domaines But : repartitionner le domaine de façon à équilibrer les sous-domaines et à bouger les interfaces, puis itérer.

Un exemple 2D

Un test en 3D Raffinement uniforme par un facteur 2 d ’une barre. Le but est atteint : - la partition est identique ; - la taille de maille divisée par 2

En génération maillage et partition initiaux : un point relié à toutes les faces frontières. maillage et partition intermédiaires : la minimisation du volume n’est pas terminée. Maillage final conforme.

Un disque de frein ventilé

Un test et des comparaisons

Bibliographie Sur la programmation parallèle : - PVM : « PVM3 user’s guide and reference manual » (1994) - MPI : « The Complete Reference Vol 1 (1995) et Vol 2 (1998) » - open MP : « The OpenMp application program interface (API) specification » (1997) Sur les méthodes numériques parallèles utilisées au CEMEF - la thèse de Stéphane Marie « Un modèle de parallélisation SPMD pour la simulation numérique de procédés de mise en forme des matériaux » (1997) - la thèse d’Etienne Perchat « Mini-Elémént et factorisation incomplètes pour la parallélisation d’un solveur de Stokes 2D. Application au forgeage » (2000)