La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Conception des algorithmes parallèles Professeur: Nilo STOLTE Chargé de Cours: Mohammed ELKANOUNI Département de génie logiciel et des TI.

Présentations similaires


Présentation au sujet: "Conception des algorithmes parallèles Professeur: Nilo STOLTE Chargé de Cours: Mohammed ELKANOUNI Département de génie logiciel et des TI."— Transcription de la présentation:

1 Conception des algorithmes parallèles Professeur: Nilo STOLTE Chargé de Cours: Mohammed ELKANOUNI Département de génie logiciel et des TI

2 2 Conception des algorithmes parallèles Sommaire Méthodologie de conception Partitionnement Communication Agglomération Répartition Exemple de conception

3 3 Conception des algorithmes parallèles Méthodologie de conception Partitionnement - - Définition des tâches Communication - - Identifier les exigences Agglomération - - Regroupement des tâches Répartition des tâches - - Placer les tâches

4 4 Conception des algorithmes parallèles Partionnement Objectif: identifier les tâches concurrentes Décomposition en granularité fine Partitionnement basé sur les données: décomposition par domaine Partitionnement basé sur les fonctions: décomposition par fonction

5 5 Conception des algorithmes parallèles Décomposition par domaine Utilisée lorsque les mêmes traitements sont appliqués sur différentes données Décomposer les données en région de façon â minimiser le transfert de données entre les tâches

6 6 Conception des algorithmes parallèles Décomposition par fonction Basée sur les fonctions à exécuter Augmente la modularité Communication entre les modules

7 7 Conception des algorithmes parallèles Grille du p artitionnement Y-a-t-il plus de tâches que le nombre de processeurs alloués? Y-a-t-il de calcul ou de stockage redondant ? Les tâches sont de tailles comparables?

8 8 Conception des algorithmes parallèles Communication Identifier les exigences de la communication - - Si une tâche à besoin de donnée dune autre tâche la communication est essentielle

9 9 Conception des algorithmes parallèles Structure de la communication Locale (vs. globale) - - Si le nombre des voisins est petit Structurée (vs. non structurée) - - Si les tâches forment une structure régulière (arbre, grille) Statique (vs. dynamique) - - Si la structure ne change pas en fonction du temps Synchrone (vs. asynchrone) - - Si lémetteur et le récepteur participent

10 10 Conception des algorithmes parallèles Communication locale Chaque tâche communique avec un nombre petit de tâches Ex. problème de différence fini 2D: X i,j (t+1) = 4X i,j (t) + X i-1,j (t) + X i+1,j (t) + X i,j-1 (t) + X i,j+1 (t) 8

11 11 Conception des algorithmes parallèles Communication locale –suite- Lalgorithme Pour t = 0 à T Envoyer Xi,j (t) aux quatre tâches voisines recevoir Xi-1,j (t), Xi+1,,j (t), Xi,j-1 (t), Xi,,j+1 (t) Calculer Xi,,j (t+1) Fin tâche

12 12 Conception des algorithmes parallèles Communication globale Communication demande la participation dun grand nombre de tâches Exemple: Calcul de la somme

13 13 Conception des algorithmes parallèles Communication globale: Solution 1 N tâches pour calculer les Xi Une tâche pour calculer S Tâche S risque davoir trop de communication

14 14 Conception des algorithmes parallèles Communication globale: Solution 2 N tâches pour calculer les Xi et la somme partielle: S i = X i + S i-1 N-1 pas de calcul pour le calcul de S N-1 communications série

15 15 Conception des algorithmes parallèles Communication globale: Solution 3 Diviser pour conquérir Chaque sous-tâche est divisée en 2 sous- tâches log 2 N pas de calcul (Ex: pour 1024X i 10 pas)

16 16 Conception des algorithmes parallèles Communication non structuré et dynamique Exemple: problème des éléments finis - - Le nombre des voisins sont différents - - La structure de communication peut être modifiée si la pièce subit des forces

17 17 Conception des algorithmes parallèles Communication synchrone- asynchrone Synchrone: - - Communication de façon ordonnée et prévue - - Lémetteur et le récepteur sont bien identifiés Asynchrone: - - Lémetteur ne sait pas quand le récepteur a besoin de linformation - - Le récepteur peut ne pas avoir d'idée sur l'émetteur

18 18 Conception des algorithmes parallèles Grille de communication Équilibre: une tâche doit communiquer beaucoup plus que les autres? Une tâche doit communiquer avec trop de tâches? La communication peut se faire en parallèle avec le calcul?

19 19 Conception des algorithmes parallèles Agglomération Agglomération: regroupement des tâches pour former des tâches plus grandes But: optimiser lalgorithme - - Coût des communications - - Coût des latentes de communications

20 20 Conception des algorithmes parallèles Agglomération idéale Chaque processeur a une tâche agglomérée Les tâches ont des charges égales Minimum de communication inter-processeur Lagglomération se fait de façon paramétrique (pour la portabilité, la dimensionabilité) Éviter de réécrire le code à cause de lagglomération

21 21 Conception des algorithmes parallèles Les stratégies de lagglomération Réduire la dimension Augmenter la granularité Fusionner des sous-arbres

22 22 Conception des algorithmes parallèles Facteurs à considérer lors de lagglomération Conserver la flexibilité, la dimensionnabilité pour sadapter au: - - changement de lordinateur - - changement du nombre de processeurs - - la capacité de calculer et de communiquer de façon concurrentielle Coût de développement: - - Éviter une nouvelle conception, la réécriture de code. Considérer tout lensemble du projet - - Une stratégie peut être bonne pour une partie du projet mais mauvaise pour dautres parties

23 23 Conception des algorithmes parallèles Grille dagglomération On a réduit la communication et augmenté la localité? La duplicité de calcul (si il y en a) vaut-elle le coût? Les tâches ont-elles des charges équivalentes? Les tâches peuvent-elles encore sexécuter en parallèle (concurrence) ? Lagglomération demande-t-elle une nouvelle conception ou réécriture de code?

24 24 Conception des algorithmes parallèles Répartition des tâches Distribution des tâches entre les processeurs: - - Maximiser la concurrence - - Minimiser la communication Techniques: - - Problèmes réguliers: agglomérer en P tâches - - Problèmes irréguliers: utiliser la répartition par le balancement de charge statique - - Problèmes irréguliers dans le temps: balancement de charge dynamique

25 25 Conception des algorithmes parallèles Techniques de balancement de charge Balancement de charge statique - - Bissection récursive - - Algorithmes locaux - - Algorithmes probabilistes - - Répartition cyclique Balancement de charge dynamique (Ordonnancement des tâches) - - Patron employé (manager-worker, master-slave) : centralisé et hiérarchique - - Arrangement décentralisé

26 26 Conception des algorithmes parallèles Bissection récursive Méthode bissection récursive: - - applicable typiquement aux problèmes de type grille - - diviser dabord en 2 groupes de tâches de charge approx. égale et le nombre de communications minimal - - chaque groupe est divisé en dautres sous-groupes avec les même critères - - principe diviser pour conquérir - - simple mais non optimisé pour la communication Variance de la bissection récursive - - diviser dabord en deux de charge 1/P et (P-1)/P (P = nombre de processeurs) - - diviser ensuite en deux de charge 2/P et (P-2)/P. Le groupe 2/P inclut le groupe 1/P de la première division

27 27 Conception des algorithmes parallèles Algorithmes locaux Les tâches sont réparties dune façon quelconque initialement Les processeurs se communiquent périodiquement pour sinformer de leur charge de travail. Les processeurs qui ont trop de charge déchargent vers ceux qui ont moins de charge (vases communicantes). Bonne méthode pour le cas où les tâches sont créées / détruites dynamiquement

28 28 Conception des algorithmes parallèles Algorithmes probabilistes Distribuer au hasard les tâches entre les processeurs Bonne chance de balancement de charge quand le nombre de tâches >> nombre de processeurs Mauvaise pour la communication

29 29 Conception des algorithmes parallèles Répartition cyclique Peut adresser la dé balancement de charge dynamique et statique

30 30 Conception des algorithmes parallèles Structure patron-employé Le patron donne lordre de lexécution des tâches aux travailleurs Un employé peut demander au patron lexécution dune tâche par un autre employé Inconvénients: gestionnaire peut devenir un goulot détranglement

31 31 Conception des algorithmes parallèles Patron-employé hiérarchique un patron de haut niveau Les employés sont divisés en groupes, chaque groupe a un patron Cette organisation peut avoir plusieurs niveaux Avantage: diminuer la charge des patrons

32 32 Conception des algorithmes parallèles Arrangement décentralisé Pas de patron Chaque employé en attente demande du travail des autres employés.

33 33 Conception des algorithmes parallèles Exemples: simulation de la chaleur Considérons une plaque métallique rectangulaire de longueur L et largeur l

34 34 Conception des algorithmes parallèles Description du problème Soit T(x,y,t) la température du point de coordonnées (x,y) à linstant t On suppose que la conductivité C de la plaque est uniforme dans toute la plaque métallique L'équation de transfert de la chaleur en 2D est donnée par la formule dEuler suivante:

35 35 Conception des algorithmes parallèles Description du problème Les conditions aux limites sont fixées aux frontières de la plaque (x= 0, x=l, y=0, y=L) : - - T(0,y,t)=f1(y) - - T(L,y,t)=f2(y) - - T(x,0,t)=f3(x) - - T(x,l,t)=f4(x) Les conditions initiales à l'instant t=0 - - T(x,y,0)=f(x,y)

36 36 Conception des algorithmes parallèles Partitionnement On partitionne la plaque en petites subdivisions (m n) On suppose que ces subdivisions sont assez petites pour considérer que la chaleur est uniforme dans chaque subdivision -m-m -n-n

37 37 Conception des algorithmes parallèles Passage du continu au discret On discrétise également le temps La simulation seffectue toutes les t d secondes. U(i,j,k) est la température de la subdivision (i,j) à linstant k t d (i varie de 0 à m-1 et j varie de 0 à n-1) : - - U(i,j,k)=T(i L/m, j l/n, k t d )

38 38 Conception des algorithmes parallèles Passage du continu au discret Pour simplifier, on prend L/m=l/n=h et C=1 On suppose que h et t d sont assez petites On démontre que la formule discrétisée dEuler est la suivante : U(i,j,k+1)=(1-4 td /h²) U(i,j,k)+( t d /h²) [U(i-1,j,k)+U(i+1,j,k)+U(i,j-1,k)+U(i,j+1,k)]

39 39 Conception des algorithmes parallèles Exemple des conditions initiales On s'arrange de sorte que le centre de la plaque soit plus chaud que toute autre subdivision et plus on séloigne du centre, plus la température diminue jusquà sannuler aux frontières : Les températures aux frontières sont gardées nulles pendant toute la simulation

40 40 Conception des algorithmes parallèles Questions Si on considère que le calcul d'une subdivision de la plaque constitue une tâche. Que peut-on dire sur la communication des tâches constituées du calcul de la température de la subdivision (i,j)?

41 41 Conception des algorithmes parallèles Questions On affecte une tâche à chaque calcul de la température d'une subdivision de la plaque métallique On dispose de P processeurs, on veut distribuer ces tâches sur les processeurs disponibles, de sorte à équilibrer les charges sur les processeurs. Donner la moyenne des tâches par processeur. Expliquer comment on va agglomérer et répartir les tâches sur les processeurs Combien de messages les processeurs vont-ils échanger au total ? Pour chaque pas de temps, combien de messages chaque processeur va t-il échanger avec ses voisins? Est ce que tous les processeurs vont avoir des charges de travail égaux ?


Télécharger ppt "Conception des algorithmes parallèles Professeur: Nilo STOLTE Chargé de Cours: Mohammed ELKANOUNI Département de génie logiciel et des TI."

Présentations similaires


Annonces Google