next up previous
Next: Résumé #3: Les instructions: Up: Résumés de Organisation et Previous: Résumé #1: Abstractions et

Résumé #2: Le rôle des performances

À lire: pp. 48 à 66 3/4, 67 3/4 à 79 1/2, 80 1/4 à 85

2.1 Introduction

- Il est important de comprendre les différents facteurs influençant les performances de façon à motiver/expliquer les choix de conception.

- La notion de performance dépend du contexte, de l'application, des objectifs poursuivis:

- Performances = 1 tex2html_wrap_inline512 Temps exécution: Plus le temps d'exécution est court, plus les performances sont grandes.

- Performances tex2html_wrap_inline514 > Performances tex2html_wrap_inline518 tex2html_wrap_inline520 Temps tex2html_wrap_inline514 < Temps tex2html_wrap_inline518

- tex2html_wrap_inline528 est n fois plus rapide que tex2html_wrap_inline532

tex2html_wrap_inline520 Performances tex2html_wrap_inline514 / Performances tex2html_wrap_inline518 = n
tex2html_wrap_inline520 1 tex2html_wrap_inline512 Temps tex2html_wrap_inline514 / 1 tex2html_wrap_inline512 Temps tex2html_wrap_inline518 = n
tex2html_wrap_inline520 Temps tex2html_wrap_inline518 / Temps tex2html_wrap_inline514 = n

2.2 La mesure des performances

- Deux points de vue pour mesurer le temps:

A)
Externe (usager): durée en secondes.
B)
Interne (concepteur): durée en cycles d'horloge.

A) Point de vue externe:

Différents temps mesurables:

B) Point de vue interne:

- Rôle de l'horloge = Fonctionne à un rythme constant et détermine à quels moments les divers événements du niveau matériel se produisent.

- Deux façons de présenter la vitesse de l'horloge:

Période = Durée d'un cycle complet. Ex.: 10 ns.
Fréquence = Nombre de cycles par seconde. Ex.: 100 MHz. (1 Hz = 1 cycle/sec.)
Remarque: Fréquence = 1 tex2html_wrap_inline512 Période. Période = 1 tex2html_wrap_inline512 Fréquence.

2.3 Relier les métriques entre elles

- Temps UC = Nombre de cycles UC tex2html_wrap_inline566 Durée d'un cycle (période).

- Nombre de cycles UC = Nombre d'instructions exécutées tex2html_wrap_inline566 Nombre de cycles par instruction.

- Nombre de cycles par instruction: Pour une architecture donnée, ce nombre peut varier parce qu'il dépend de la mise en oeuvre du processeur. De plus, des instructions différentes peuvent nécessiter, dans certaines mises en oeuvre, un nombre différent de cycles pour leur exécution.

- CPI = Nombre moyen de cycles par instruction.

(Moyenne pondérée: pour chaque classe d'instructions, on détermine le nombre de cycles machines requis pour l'exécution des instructions ainsi que la fréquence moyenne -- via simulations et/ou expérimentations -- d'utilisation de ces instructions.)

- Formules liant les 3 facteurs:

Temps UC
= Nombre d'instructions exécutées tex2html_wrap_inline566 CPI tex2html_wrap_inline566 Période de l'horloge
tex2html_wrap_inline574
Temps UC
= Nombre d'instructions exécutées tex2html_wrap_inline566 CPI tex2html_wrap_inline512 Fréquence horloge
tex2html_wrap_inline580

2.4 Quelques métriques de performances très répandues

- MIPS:

- MFLOPS:

2.5 Quels programmes pour évaluer les performances?

- Programmes ``benchmarks'' = Programmes qui vont permettre de prédire les performances d'une machine pour une charge de travail typique.

- Différents types de programmes ``benchmarks'':

A)
Programmes jouets: Petits programmes (10 à 100 lignes).
B)
Noyaux = Petites parties clés de programmes réels. Ex.: Boucles Livermore, Linpack.
C)
Programmes synthétiques: Code créé artificiellement (bidon) pour correspondre à un profil d'exécution moyen. Ex.: Whetstone, Dhrystone.
D)
Programmes réels. Ex.: SPEC (System Performance Evaluation Cooperative) = Ensemble de programmes et de données définis par un groupe de constructeurs. Comprend un ensemble de programmes sans opérations point-flottantes (SPECint) et un autre avec (SPECfp). (Cf. TP#1.)

- Les différents types de programme en ordre décroissant de fiabilité de prédiction (du + fiable au moins fiable):

D)
Programmes réels.
B)
Noyaux.
A)
Programmes jouets.
C)
Programmes synthétiques.

- De nos jours:

- Rapport de performances pour une machine: Tous les paramètres (matériel, logiciel, compilateur, système d'exploitation) doivent être indiqués, de façon à ce que les résultats puissent être reproduits.

2.6 Comparer er résumer les performances

- Différentes mesures valables pour établir les performances d'une machine sur un ensemble de programmes:

- Utilisation de la moyenne pondérée: Les coefficients de pondération (0 tex2html_wrap_inline594 p tex2html_wrap_inline594 1) doivent refléter l'importance des divers programmes dans la charge de travail typique.


next up previous
Next: Résumé #3: Les instructions: Up: Résumés de Organisation et Previous: Résumé #1: Abstractions et

Guy Tremblay
Tue Aug 27 14:04:33 EDT 1996