Академический Документы
Профессиональный Документы
Культура Документы
2019-2020
2
Objectifs du chapitre
• Définir les paramètres de la performance d’une machine
• Mesurer la performance d’une machine
• Comparer les performances des machines
• Evaluer l’effet des améliorations de la conception sur la performance
des machines
3
Contenu du chapitre
• Définition de la performance d’une machine
• Paramètres affectant la performance d’une machine
• Métriques et équations de la performance d’une machine
• Comparaison des performances des machines
• Amélioration des performances : Loi d’Amdhal
• Synthèse et conclusion
4
Performance (Définition)
• Mesure indiquant le degré d’efficacité d’une machine
• Efficacité en termes de :
▫ Vitesse
▫ Consommation d’énergie
▫ Coût (surface)
5
Performance (Evolution)
• Matériel
▫ Processeur : Diminution du cycle d’horloge
▫ Registres internes : Temps d’accès évolue de -20% par an
▫ Mémoire cache : Temps d’accès évolue de -20% par an
▫ Mémoire centrale : Vitesse évolue de +10% par an
7
Performance (Mesure)
• Temps d’exécution
▫ Temps mesuré entre le début et la fin d’une tâche
▫ Exprimé en secondes
▫ Inclut ou pas : traitement des instructions; accès mémoire; E/S;
interruptions; surcoût du système d’exploitation
Performance 1
Temps _ Exécution
9
Performance (Mesure)
• Performance de crête (Peak rate)
▫ Taux de traitement maximal (théorique)
▫ Pratiquement pas atteignable (dépendances dans les données et
traitements)
▫ Les fabricants y ont recours pour de la publicité
10
Performance (Mesure)
• Débit de sortie
▫ Nombre de tâches (quantité de travail) effectuées par unité de temps
▫ Nombre d’instructions par seconde (processeur)
MIPS (Million Instructions Per Second)
MFLOPS (Million FLoating point Operations Per Second)
▫ Nombre de requêtes traitées par heure (serveur)
11
Performance (Mesure)
• MIPS
Performance (Mesure)
• MFLOPS
Performance (Mesure)
• Remarques
▫ Amélioration du temps d’exécution amélioration du débit de sortie
▫ Le contraire n’est pas toujours vrai
▫ Ex. Augmentation du nombre de processeurs d’une machine augmente le
débit de sortie, sans améliorer nécessairement le temps d’exécution
▫ Le seul véritable critère pour mesurer et comparer les performances de
machines, est le temps
14
Performance (Mesure)
• Temps d’exécution d’un programme (point de vue externe)
Performance (Mesure)
• Temps d’exécution d’un programme (point de vue externe)
Exemple
Commande ‘’time’’ sous Unix
123.5 u 37.6 s 4:05 65.75%
Temps_UC_Pgme = 123.5 s
Temps_UC_SE = 37.6 s
Temps_UC = 123.5 + 37.6 = 161.1 s
Temps total d'observation = 4mn et 5 s (245 s)
Performance (Mesure)
• Temps d’exécution d’un programme (point de vue interne)
Nombre
d’instructions
Nombre de cycles
par instruction
Période d’horloge
17
Performance (Mesure)
• Temps d’exécution d’un programme (point de vue interne)
Exemple
Un programme P1 constitué de 20 instructions
Fréquence d’horloge = 500 MHz
Nombre de cycles par instruction = 4 cycles
Temps_P1 = 20 x 4 x 2 = 160 ns
18
Performance (Mesure)
• Temps d’exécution d’un programme (point de vue interne)
Dépend du
compilateur
et du jeu
d’instructions
Dépend du
chemin de
Dépend de la
données et du
technologie de
jeu d’instructions
fabrication
19
Performance (Mesure)
• Temps d’exécution d’un programme (point de vue interne)
Performance (Mesure)
• Exemple de CPI Processeur : Fréquence = 500 MHz, Temps d’accès mémoire = 50 ns
Addition en mode immédiat Chargement en mode direct
Etape Cycles Temps Etape Cycles Temps
RAM (CO) 1 2 RAM (CO) 1 2
Lecture 25 50 Lecture 25 50
CO (CO) + 1 0 0 CO (CO) + 1 0 0
RI (RIM) 1 2 RI (RIM) 1 2
UAL2 RI.op, Addition 1 2 RAM RI.@ 1 2
Total 28 56 ns Lecture 25 50
UAL1 (RIM), Load 1 2
Total 54 108 ns
21
Performance (Mesure)
• Calcul du CPI
▫ Déterminer le nombre de cycles horloge requis pour chaque classe
d’instructions (arithmétique, transfert, branchement, … ) [CPIi]
▫ Déterminer la fréquence d’utilisation des instructions de chaque classe (par
simulation ou par expérimentation) [NIi / NI]
▫ Déterminer le CPI global par l’équation
n NI
CPI _ Global CPI i
i 1 i NI
22
Performance (Mesure)
• Calcul du CPI
Exemple
Processeur graphique
Fréquence des instructions (FP) = 25%
CPI moyen des instructions FP = 4 cycles
CPI moyen des autres instructions = 1.33 cycles
Quel est le CPI global de ce processeur ?
Performance (Comparaison)
• Comparaison entre deux machines X et Y
▫ Comparer les temps d’exécution
▫ X est n fois plus rapide que Y
Performance (Comparaison)
• Comparaison entre deux machines X et Y
▫ Comparer les débits de sortie
▫ X est n fois plus rapide que Y
Débit _ X n
Débit _Y
Performance (Comparaison)
• Comparaison entre deux machines X et Y
• Programmes de test (Benchmark)
▫ Ensemble de programmes reflétant le fonctionnement réel des machines
▫ Exécution sur différentes machines avec l’objectif d’évaluer les
performances
▫ La comparaison est plus significative
26
Performance (Comparaison)
• Types de benchmarks
▫ Programmes réels
▫ Programmes de noyaux
▫ Programmes de jouets
▫ Programmes synthétiques
27
Performance (Comparaison)
• Programmes réels
▫ Programmes très utilisés (compilateurs, traitement de texte, outils CAO, …)
▫ Evaluer la performance des différentes générations de la même machine
▫ Benchmarks les plus utilisés
▫ Exemple : SPEC benchmarks (Standard Performance Evaluation
Corporation)
28
Performance (Comparaison)
SPEC 2000 (Comparaison AMD Opteron vs Intel Itanium 2) - Patterson and Hennessy 2012
29
Performance (Comparaison)
• Votre compagnie veut choisir entre AMD Opteron et Intel Itanium 2
• 60% du temps exécution d’applications similaires à (ammp)
• 20% du temps exécution d’applications similaires à (wupwise)
• 20% du temps exécution d’applications similaires à (apsi)
• Quel processeur choisir et pourquoi ?
Temps_Moyen _Opteron = 0.2 x 51.5 + 0.6 x 136 + 0.2 x 150 = 121.9 s
Temps_Moyen _Itanium 2 = 0.2 x 56.1 + 0.6 x 132 + 0.2 x 231= 136.6 s
Décision
Opteron est 1.12 fois plus rapide que l’Itanium
30
Performance (Comparaison)
SPEC 2000 (Comparaison AMD Opteron vs Intel Itanium 2) - Patterson and Hennessy 2012
31
Performance (Comparaison)
• Programmes noyaux
▫ Parties spécifiques extraites de programmes réels
▫ Ne sont pas exécutés habituellement mais utilisés seulement pour
déterminer la performance d’une machine
▫ Exemples : Boucles de Livermore et Linpack (Linpack destinée au domaine
scientifique et aux calculateurs scientifiques)
32
Performance (Comparaison)
• Programmes jouets
▫ Petits programmes (10 à 100 lignes)
▫ Faciles à exécuter sur des simulateurs lors de la conception de nouvelles
architectures
▫ Exemple : Tri rapide
33
Performance (Comparaison)
• Programmes synthétiques (Dhrystone)
▫ Evaluent les opérations entières
▫ Les opérations en virgule flottante, les E/S et les appels de fonctions
systèmes, ne sont pas considérés
▫ Mesure en Dhrystone/seconde
34
Performance (Comparaison)
• Programmes synthétiques (Whetstone)
▫ Evaluent les performances arithmétiques
▫ Utilisés pour évaluer les opérations en virgule flottante
35
Performance (Amélioration)
• Améliorer la performance d’une machine Agir sur :
▫ Le processeur : Maximiser le parallélisme
▫ La mémoire : Hiérarchie mémoire
▫ Les E/S : Amélioration des dispositifs et protocoles de communication
▫ Les logiciels : Amélioration du compilateur
▫ Le cas courant ou fréquent : Rendre le cas courant plus rapide
36
Performance (Amélioration)
• Le cas courant (Exemple)
▫ Le débordement dans une opération arithmétique, est un cas rare
▫ Accélérer l’opération arithmétique sans tenir compte du débordement
▫ Peut ralentir le cas où il y a débordement
▫ Améliore la performance globale
▫ Ce principe peut être mis en relief en appliquant la loi d’Amdahl
37
Performance (Amélioration)
• La loi d’Amdahl
▫ Utilisée pour déterminer le gain de performance obtenu par l’amélioration
d’une partie de l’ordinateur
▫ Formulation : “le gain de performance obtenu à partir de l'utilisation d'un
mode d'exécution plus rapide, est limité par la fraction de temps pendant
laquelle ce mode peut être utilisé”
▫ Définit l'accélération pouvant être obtenue par l'utilisation d'un mode
d'accélération particulier
38
Performance (Amélioration)
• La loi d’Amdahl
Performance (Amélioration)
• Fraction améliorée (Fa)
▫ Fraction du temps de calcul original qui peut être améliorée
▫ Ex. Si 20 secondes du temps d’exécution qui prend 60 secondes peut être
amélioré, alors la fraction améliorée = Fa = 20/60 = 1/3
40
Performance (Amélioration)
• Accélération obtenue (A)
▫ Accélération obtenue pour la fraction améliorée
▫ Ex. Temps original = 5 secondes, temps amélioré = 2 secondes
Accélération = 5/2
41
Performance (Amélioration)
• La loi d’Amdahl
Exemple 1
Le nouveau programme calcule 5 fois plus rapidement que
l’ancien. L’ancien programme est occupé à 45% sur les
calculs et 55% sur les E/S.
Déterminer l’accélération globale obtenue.
Fa = 45% = 0.45, A = 5
Performance (Amélioration)
• La loi d’Amdahl
Exemple 2
Processeur graphique
Fraction des FPSQR = 25%
Fraction des FP = 60%
Proposition 1 : Accélérer les FPSQR d’un facteur de 10
Proposition 2 : Accélérer les FP d’un facteur de 1.5
Performance (Amélioration)
• La loi d’Amdahl
Proposition 1 Proposition 2
Fa-FPSQR = 25% = 0.25, A-FPSQR = 10 Fa-FP = 60% = 0.6, A-FPSQR = 1.5
Performance (Amélioration)
• La loi d’Amdahl
▫ Sert de guide pour les concepteurs d’architectures
▫ Indique l’effet de l’amélioration du cas courant sur la performance globale
de la machine
45
Synthèse
• Performance des processeurs
• Equations de mesure de la performance
• Comparaison de la performance entre différentes machines
• Formuler l’amélioration de la performance (Loi d’Amdahl)
46
La suite…
• Techniques de conception pour l’amélioration de la performance
▫ Hiérarchie des mémoires
▫ Architectures pipeline/ Architectures superscalaires
▫ Processeurs multicores / Multiprocesseurs