1 / 31

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

Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P2. P1. P0. Importance du partitionnement :. P0. P0. P1. P1. P2. P2. P0. P1. P2. 1) Un algorithme de partitionnement/repartitionnement parallèle.

jesus
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Importance du partitionnement : P0 P0 P1 P1 P2 P2 P0 P1 P2

  3. 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/remailleur parallèle.

  4. 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.

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

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

  7. Un exemple La partition de maillage 29 52 88 Sa vision simplifiée sous forme de graphe 502 200

  8. 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.

  9. Principe général : Étant donnée une partition : coupler les processeurs, 50 234 34 50 101 234 équilibrer les paires formées, 34 101 142 142 67 142 68 142 67 Puis itérer. 68

  10. Algorithme général Initialisation : un ensemble de personnes avec leur personnalité Une variable logique :espoir tant que ( espoir ) faire pour chaquepersonnefaire construction de son entourage recherche d ’une âme sœur dans son entourage à l ’aide d ’une fonction amitié siâme sœuralors 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

  11. 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é.

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

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

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

  15. 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)

  16. Précision sur les communications : Les communications sont représentées par un coût de communication élément-nœud : n1 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. R(e,n) est une relation élément-nœud donnant +/- de cohésion entre «e » et « n » 100 R(e,n1) e R(e,n3) 1 1 R(e,n2) n3 n2

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

  18. Suppression des composantes non connexes Une composante : -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. Redéfinition de amitié : Sélection des éléments nœuds à migrer : Rq : la composante la plus grande d ’un domaine représentera ce domaine

  19. Exemple d ’application Vue des domaines non connexes.

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

  21. Suppression des corridors Un corridor : -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. Redéfinition de amitié : Sélection des éléments nœuds à migrer : 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

  22. 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

  23. 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 :

  24. 1 2 3 4 La seconde se termine lorsque : une illustration :

  25. Utilisation du repartitionneur pour un mailleur/remailleur parallèle Partitionner le domaine Remailler à 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.

  26. Un exemple 2D

  27. 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

  28. 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.

  29. Un disque de frein ventilé

  30. Un test et des comparaisons

  31. 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)

More Related