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

Aspects quantitatifs de la conception

Présentations similaires


Présentation au sujet: "Aspects quantitatifs de la conception"— Transcription de la présentation:

1 Aspects quantitatifs de la conception
Professeur: Nilo Stolte Chargé de Cours: Mohammed ELKANOUNI Département de génie logiciel et des TI

2 Sommaire Introduction Métriques de performance Modèle de performance
Analyse d’extensibilité

3 Introduction Intérêt de l’étude de performance:
Comparer les différents algorithmes Savoir où optimiser Évaluer la dimensionabilité Évaluer l’effet des topologies des réseaux de communication Estimer le coût de la mise en œuvre

4 Métriques de performance
Temps d’exécution Besoin en mémoire Facilité de transfert entre les tâches et processeurs Facilité d’entretien Facilité d’entrée-sortie Coût de la mise en œuvre

5 Métriques de performance
Le choix des métriques dépend de l’application Durant ce cours on va traiter le temps d’exécution, l’efficacité et l’accélération

6 Accélération (speed-up)
Temps d’exécution: tp: temps d’exécution sur p processeurs t1: temps d’exécution séquentielle Accélération (speed-up) S = t1 / tp Étude de l’accélération S  p Code séquentiel : S = 1 Code « purement » parallèle : S = p

7 Efficacité Rapport des temps d’exécution séquentiel et le temps d’exécution moyen parallèle par le nombre de processeurs Traduit le comportement de S en fonction de P

8 La loi d’Amdahl Accélération: G.M. Amdahl (1967):
identifier la partie parallélisable du code charge de travail fixe W (par exemple en Mflop) distribution de cette charge sur P processeurs décomposition de la charge: W =  W + (1- ) W (partie séquentielle, partie parallélisable) Accélération: S = W / (  W + (1-) W/p) = p / (1+(p-1) ) 1/

9 La loi d’Amdahl  pourcentage de code séquentiel Illustration: P  50%
10% 1% 10 1.82 5.26 9.17 100 1.98 50.25 1000 1.99 9.91 90.99 10000 99.02

10 La loi d’Amdahl Accélération limitée par la partie séquentielle
Limite indépendante du nombre de processeurs Les facteurs qui empêchent S de dépasser 1/ Tâches en attente des résultats des autres Temps de communication P  50% 10% 1% 2 10 100

11 Exemple d’accélération
Algorithme: S = 10.8 sur 12 processeurs (N=100) Exécution séquentielle: Tseq = N + N2 ? (N: taille du problème) Exécution parallèle: (p: nombre du processeur) (1) Tpara = N + N2 / p (2) Tpara = ( N + N2 ) / p + 100 (3) Tpara = ( N + N2 ) / p + 0.6p2 O(N2) algorithme O(N) chaque p

12 Exemple d’accélération
S = 10.8 pour P = 12 et N = 100 D’après IAN FOSTER «DBPP»

13 Exemple d’accélération
S = 10.8 pour P = 12 et N = 1000 D’après IAN FOSTER «DBPP»

14 Modèle de performance Temps d’exécution:
T = f (N, P, U, …) N: dimension du problème P: nombre de processus U: nombre des tâches T =  (Tjcomp + Tjcomm + Tjidle)

15 Modèle de performance D’après IAN FOSTER «DBPP»

16 Temps de calcul Temps de calcul dépend de:
Complexité et dimension du problème Nombre de tâches dans les processus Grosseur des tâches Type de processeur (vitesse, nombre de bits ….) Type d’architecture Système d’exploitation ……………… ……………… ……………… ………………

17 Temps de communication
Dépend de: L’architecture parallèle Taille des données Tmsg = ts + twL ts: temps de préparation tw: temps de transfert d’un mot L: nombre de mots dans le message

18 Temps de communication
Odinateur ts(µs) tw (µs) IBM SP Intel Paragon Meiko CS Sparc/Ethernet Sparc/FDDI

19 Temps de communication
D’après IAN FOSTER «DBPP»

20 Temps d’attente Difficile à évaluer Dépend de:
Ordre d’exécution des opérations Complexité et dimension N du problème Nombre de tâches dans les processeurs Grosseur des tâches Type de processeur

21 Temps d’attente Peut être amélioré par:
Balançant les charges des processeurs créer plusieurs tâches dans un processeur profiter du temps d’attente des processeurs D’après IAN FOSTER «DBPP»

22 Exemple: différence finie de 9 pts
Chaque processeur communique avec ses 2 voisins Temps de calcul: Tcomp = tc N2 Z (tc: temps de calcul de chaque cellule) Temps de communication: Tcomm = 2 P (ts + 2 tw N Z) Temps d’attente = 0 Z N N

23 Exemple: différence finie de 9 pts
Temps d’exécution moyen: Tmoy = (Tcomp + Tcomm) / P = N2 Z tc / P + 2ts + 4 tw NZ Accéleration (Speed-up): S = Tseq / Tmoy= tc N2 Z / ( N2 Z tc / P + 2ts + 4 tw NZ ) Efficacité: E = S / P = T1 / (Tcomp + Tiddle + Tcomm)

24 Analyse d’extensibilité
Extensibilité: facilité de s’adapter avec la dimension du problème et le nombre de processeurs Exemple précédent: E = tc N2 Z / ( N2 Z tc + 2tsP + 4 tw NZP ) Tmoy = N2 Z tc / P + 2ts + 4 tw NZ E diminue avec P, ts et tw E augmente avec N, Z et tc Tmoy diminue avec P mais limité par 2ts + 4 tw NZ Tmoy augmente avec N, Z, tc, ts et tw

25 Questions concernant l’extensibilité
L’algorithme répond-t-il aux exigences (temps d’exécution, mémoire requise, ...)? Peut-il s’adapter avec la dimension du problème ? Peut-il s’adapter avec le nombre de processeurs P ? D’autres algorithmes peuvent faire mieux le travail ? Combien ça coûte ?

26 Extensibilité avec dimension fixe
N et Z sont fixe, P est variable TMoy et E diminue avec P tc = 1 µsec, ts = 100 µsec, tw = 0.4 µsec, Z = 10 D’après IAN FOSTER «DBPP»

27 Profil du temps d’exécution
Tracer et observer différents temps en fonction du nombre de processeurs Reconsidérer certaines conceptions au besoin Si Tcomm est trop grand: dupliquer certains calculs au lieu de communiquer. refaire la répartition pour diminuer la communication augmenter la granularité pour diminuer la communication si Tcomp est trop grand: changer l’algorithme augmenter P

28 Profil du temps d’exécution
D’après IAN FOSTER «DBPP» Différence finie 1D N=512, Z= 1, tc = 1 µsec, ts = 100 µsec, tw = 0.8 µsec

29 Évaluation pratique La performance théorique ne reflète pas la réalité
L’analyse théorique sert comme guide dans la conception Nécessité de mesures expérimentales pour évaluer la performance réelle

30 Mesures pratiques Ajouter les appels dans le code pour la lecture de l’horloge. Certains outils de “profiling” peuvent aider à mesurer les paramètres de temps Répéter les expériences pour avoir une bonne moyenne Faire de grandes boucles du même calcul pour avoir une meilleure estimation de Tcomp Transmettre de longs messages pour avoir une meilleure estimation de tw

31 Mesures pratiques Difficultés inévitables
horloge non précise (pas assez de chiffres significatifs) interférences des autres usagers (système multi-usager) achalandage dans la communication (ex: réseau Ethernet) algorithme non déterministe: l’exécution dépend des conditions

32 Lissage des paramètres
Exemple: on veut déterminer les paramètres ts et tw dans: Tmsg = ts + tw L Effectuer plusieurs mesures avec différents L Faire le lissage pour obtenir les paramètres

33 Autres paramètres des performance
Effet de l’architecture Cross-bar Bus Structure maillé Entrée/Sortie: Disque Numérique-analogique (applications temps réels) Écran

34 Conclusion Définition et formulation de la performance en terme de:
temps d’exécution Texec efficacité E Valider les formules de performance avec les mesures expérimentales: mesures lissage

35 Exemple de calcul On désire comparer les deux types d’agglomération de la simulation de l’équation de la chaleur dans une plaque métallique : agglomération en réduisant la dimension agglomération en augmentant la granularité Pour simplifier en suppose que le nombre de subdivision en ligne égale le nombre de subdivision en colonne et que le nombre de processeurs p est un carré (càd p=q2) Calculer Tcomp et Tcomm (le temps de calcul et le temps de communication) pour chaque cas si tc est le temps de calcul d’une seule case, ts est le temps de préparation d’un message et tw le temps de transfert d’une seule donnée. Calculer l’efficacité et l’accélération pour chaque cas si Tiddle=0. D’après vous quelle est la meilleure l’agglomération (tc = 0.5ms, ts = 40µs, tw = 0.11µs), justifier votre réponse.


Télécharger ppt "Aspects quantitatifs de la conception"

Présentations similaires


Annonces Google