Performances 1
Évolution : Performance
Performances 2
Évolution : Mémoire
Performances 3
Évolution : Fréquence
Performances 4
Objectifs :
• Comment mesurer, décrire et résumer les performances et décrire les principaux facteurs qui déterminent les performances d’un ordinateur.
Performances 5
Questions à résoudre
Machine A500 MHZ
Machine B350 MHZ
Performances 6
Articles de Vendeurs
Voir page 9 de l’article
Performances 7
Compilateur A50000 instructions
Compilateur B2000 instructions
Performances 8
But du cours : Éviter les pièges
Performances 9
Le rôle des performances
• En comprenant comment : – Le programme utilise les instructions– les instructions sont mises en oeuvre– Les systèmes de gestions de la mémoire se comportent
On est capable d'améliorer les performances d’un système informatique en concevant au mieux la machine.
• Problèmes très difficiles.
Performances 10
PLAN
• Introduction
• Définitions
• La mesure des performances
• Relier les métriques entre elles
• Quelques métriques très répandues
• Quels programmes pour évaluer les performances
• Illusions et pièges
• Pour conclure
Performances 11
Introduction : Difficulté de la définition de performances
• Que voulons nous dire lorsque nous disons qu’un avion à de meilleurs performances qu’un autre ?
Avion Capacité enpassagers
Rayond’action
Vitesse decroisière
Boeing737
101 1014 960
Boeing747
470 6677 980
BACConcorde
132 6436 2100
DouglasDC
146 14000 875
Performances 12
Définitions
• Temps de réponse : Durée (mesurée en seconde) entre le début et la fin d’une tâche
• Le débit de sortie : La quantité de travail effectuée en un temps donné.
Ti
debut
Fin
t1
titn
tkdurée
En augmentant le débit on peut augmenter le temps de réponse.
Performances 13
Définitions
• Dans notre cours, nous nous intéresserons au temps de réponse. Pour maximiser les performances, il nous faut minimiser le temps de réponse ou temps d'exécution d’une tâche
• L’ordinateur X est n fois plus rapide que l’ordinateur Y
Performances = 1Temps d'exécution
n = Performances X Temps d'exécution Y
Performances Y Temps d'exécution X=
Performances 14
Mesure des performances
• La décomposition du temps écoulé dans UNIX (time)
90.7 u 12.9 s 2:39 65%
90.7 u Temps UC utilisateur : temps pour exécuter le programme
12.9 s Temps UC passe par le système d'exploitation à effectuer les tâches requises par ce programme
2:39 Temps écoulé
65% Pourcentage de temps UC dans le temps écoulé
Performances 15
Autres métriques pour les performances
• Les concepteurs d’ordinateurs considère une machine à travers une mesure liée à la vitesse d'exécution des fonctions de base par le matériel.
• Le cycle d’horloge détermine à quels moments les événements se produisent dans la machine.
cycle d’horloge = 1
Fréquence d’horloge
10 ns = (100 Mhz)-1
Performances 16
Relier les métriques entre elles
Tps d'exécution UCpour un programme
Nb de cycle UCPour un programme
* Tps de cycle =
• Le concepteur de matériel à un rôle à jouer dans l'amélioration des performances en réduisant la durée de cycle d’horloge.
Nb de cycle UC pour un programme
Fréquence d’horloge=
UC = Unité centrale
Performances 17
Rôle du contrôleur
Instructions
exécution
Contrôleur
nb cycles=4
nb cycles=5
nb cycles=5
Inst 1
Inst 2
Inst 3
14*tps cycle
Performances 18
But du cours
T* T*
T+T+
tps de cycle
Il existe un compromis entre le nombre de cycles d’horloge pour un programme et la durée de chaque cycle.
Un nombre de techniques qui diminuent le nombre de cycles d’horloge augmentent parallèlement le temps de cycle d'horloge. C’est ce compromis qui est difficile à évaluer.
Performances 19
Nombre de cycle UC
• le terme nombre de cycles d’horloge par instruction correspond au nombre moyen de cycles d’horloge qu’il faut à chaque instruction pour s'exécuter.
• Le CPI permet de comparer deux mises en oeuvre pour une même architecture de jeu d’instruction puisque le nombre d’instructions sera constant.
Nb de cycle UCpour le programme
Nb d’instructionsPour un programme
Nb de cycle d’Hpar instruction
= *
CPI : Nb de cycle d’Horloge par instructionNI : Nb d’instruction pour le programme
Performances 20
Temps UC
Tps UC = NI * CPI * Tps de cycleTps UC = NI * CPI * Tps de cycle
Performances 21
Temps UC
Changer de jeu d’instructions pour réduire le nombre d’instructions, dans le but de réduire le temps, peut augmenter le temps de cycle.
Le CPI dépendant de la répartition des instructions, le code qui exécute le moins d’instructions n’est pas forcement le plus rapide
Les exercices en TD vous le confirme
Performances 22
Une métrique de performances très répandues : MIPS
• Le MIPS : Million d’instructions par seconde. Il constitue une alternative à l’emploi du temps.
MIPS = Nombre d’instructions
Tps d'exécution * 106
Performances 23
Piéges
Le nombre de MIPS indique la fréquence d'exécution des instructions mais ne dépend pas du jeu d’instructions.
Ne pas comparer des machines disposant de jeu d’instructions différents puisque NI sera différent.
MIPS varie en fonction des programmes sur une même machine.
MIPS peut varier en sens inverse des performances
Performances 24
Quels programmes pour évaluer les performances
• SPEC utilise des programmes réels• Si connected Pentium 4 'Northwood' 0.13 Micron - HardWare.fr
Performances 25
Illusions et pièges
• Espérer que l'amélioration d’un seul aspect d’une machine pourra accroître les performances d’un montant proportionnel à la taille de l'amélioration
La Loi d’Amdahl :
Tps d'exécution après amélioration =
Tps d'exécution touché par l'améliorationFacteur amélioration
+ Tps d'exécution non touche.
Performances 26
Conclusions
• Seul le produit est une mesure fiable
• Il faut comprendre comment les différents aspects de la conception d’une machine affectent chacun de ces paramètres.
• Les conceptions des machines seront toujours mesurées en termes de coût et de performances. Tout l’art de la conception informatique réside dans la découverte du meilleurs équilibre.
Tps UC = NI * CPI * Tps de cycleTps UC = NI * CPI * Tps de cycle
Performances 27
Nouveaux défis
Performances 28
Problèmes multicritères