Aspects quantitatifs de la conception Professeur: Nilo Stolte Chargé de Cours: Mohammed ELKANOUNI...
-
Upload
damien-valette -
Category
Documents
-
view
106 -
download
1
Transcript of Aspects quantitatifs de la conception Professeur: Nilo Stolte Chargé de Cours: Mohammed ELKANOUNI...
Aspects quantitatifs Aspects quantitatifs de la conceptionde la conception
Professeur: Nilo Stolte
Chargé de Cours: Mohammed ELKANOUNI
Département de génie logiciel et des TI
Aspects quantitatifs de la conception
SommaireSommaire
Introduction
Métriques de performance
Modèle de performance
Analyse d’extensibilité
Aspects quantitatifs de la conception
IntroductionIntroduction
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
Aspects quantitatifs de la conception
Métriques de performanceMé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
Aspects quantitatifs de la conception
Métriques de performanceMé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
Aspects quantitatifs de la conception
Accélération (speed-up)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
Aspects quantitatifs de la conception
ptP
t
P
SE
1
Efficacité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
Aspects quantitatifs de la conception
La loi d’AmdahlLa loi d’Amdahl
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/
Aspects quantitatifs de la conception
La loi d’AmdahlLa loi d’Amdahl
pourcentage de code séquentiel
Illustration:
P P 50%50% 10%10% 1%1%
1010 1.821.82 5.265.26 9.179.17
100100 1.981.98 9.179.17 50.2550.25
10001000 1.991.99 9.919.91 90.9990.99
1000010000 1.991.99 9.919.91 99.0299.02
Aspects quantitatifs de la conception
La loi d’AmdahlLa 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 P
50%50% 10%10% 1%1%
∞∞ 22 1010 100100
Aspects quantitatifs de la conception
Exemple d’accélérationExemple 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) algorithmeO(N) chaque p
Aspects quantitatifs de la conception
Exemple d’accélérationExemple d’accélération
S = 10.8 pour P = 12 et N = 100
D’après IAN FOSTER «DBPP»
Aspects quantitatifs de la conception
Exemple d’accélérationExemple d’accélération
S = 10.8 pour P = 12 et N = 1000
D’après IAN FOSTER «DBPP»
Aspects quantitatifs de la conception
Modèle de performanceModè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 + Tj
comm + Tjidle)
Aspects quantitatifs de la conception
Modèle de performanceModèle de performance
)(1
1
jidle
jcomm
P
j
jcompmoy TTT
PT
D’après IAN FOSTER «DBPP»
Aspects quantitatifs de la conception
Temps de calculTemps 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
- ……………… ……………… ……………… ………………
Aspects quantitatifs de la conception
Temps de communicationTemps 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
Aspects quantitatifs de la conception
Temps de communication Temps de communication
OdinateurOdinateur t tss((µµs)s) ttw w
((µµs)s)
IBM SP2IBM SP2 4040 0.110.11
Intel ParagonIntel Paragon 121121 0.070.07
Meiko CS-2Meiko CS-2 8787 0.080.08
Sparc/EthernetSparc/Ethernet 15001500 5.05.0
Sparc/FDDISparc/FDDI 11501150 1.11.1
Aspects quantitatifs de la conception
Temps de communication Temps de communication
D’après IAN FOSTER «DBPP»
Aspects quantitatifs de la conception
Temps d’attenteTemps 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
Aspects quantitatifs de la conception
Temps d’attenteTemps 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»
Aspects quantitatifs de la conception
Exemple: différence finie de 9 ptsExemple: 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
N N
Z
Aspects quantitatifs de la conception
Exemple: différence finie de 9 ptsExemple: 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)
Aspects quantitatifs de la conception
Analyse d’extensibilité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
Aspects quantitatifs de la conception
Questions concernant Questions concernant l’extensibilité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 ?
Aspects quantitatifs de la conception
Extensibilité avec dimension fixeExtensibilité 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»
Aspects quantitatifs de la conception
Profil du temps d’exécutionProfil 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
Aspects quantitatifs de la conception
Profil du temps d’exécutionProfil du temps d’exécution
Différence finie 1DDifférence finie 1D N=512, Z= 1, N=512, Z= 1, ttc c == 1 µsec1 µsec, , tts = s = 100 µsec, t100 µsec, tw w = 0.8 µsec= 0.8 µsec
D’après IAN FOSTER «DBPP»
Aspects quantitatifs de la conception
Évaluation pratiqueÉ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
Aspects quantitatifs de la conception
Mesures pratiquesMesures 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
Aspects quantitatifs de la conception
Mesures pratiquesMesures 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
Aspects quantitatifs de la conception
Lissage des paramètresLissage 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
Aspects quantitatifs de la conception
Autres paramètres des Autres paramètres des performanceperformance
Effet de l’architecture
- Cross-bar
- Bus
- Structure maillé
Entrée/Sortie:
- Disque
- Numérique-analogique (applications temps réels)
- Écran
Aspects quantitatifs de la conception
ConclusionConclusion
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
Aspects quantitatifs de la conception
Exemple de calculExemple 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 T iddle=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.