Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

28
Performances 1 Évolution : Performance

Transcript of Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Page 1: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 1

Évolution : Performance

Page 2: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 2

Évolution : Mémoire

Page 3: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 3

Évolution : Fréquence

Page 4: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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.

Page 5: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 5

Questions à résoudre

Machine A500 MHZ

Machine B350 MHZ

Page 6: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 6

Articles de Vendeurs

Voir page 9 de l’article

Page 7: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 7

Compilateur A50000 instructions

Compilateur B2000 instructions

Page 8: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 8

But du cours : Éviter les pièges

Page 9: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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.

Page 10: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 11: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 12: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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.

Page 13: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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=

Page 14: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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é

Page 15: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 16: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 17: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 18: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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.

Page 19: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 20: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 20

Temps UC

Tps UC = NI * CPI * Tps de cycleTps UC = NI * CPI * Tps de cycle

Page 21: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 22: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 23: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 24: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 24

Quels programmes pour évaluer les performances

• SPEC utilise des programmes réels• Si connected Pentium 4 'Northwood' 0.13 Micron - HardWare.fr

                                                                                                  

                                                        

Page 25: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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.

Page 26: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

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

Page 27: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 27

Nouveaux défis

Page 28: Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.

Performances 28

Problèmes multicritères