Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ----------...

22
Comment se définit et se mesure la performance globale d’une machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI FC – Module : Architecture ordinateurs

Transcript of Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ----------...

Page 1: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Comment se définit et se mesure

la performance globaled’une machine ?

Comment se définit et se mesure

la performance globaled’une machine ?

27 février 2002

----------

Jean-Marc DUFRESNE

Maxence JEGOU

Marie-Laure POITOU

IGSI FC – Module : Architecture ordinateurs

Page 2: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

SommaireComment se définit et se mesure la performance d’une machine ?

Introduction

Sur quoi portent les mesures de performances ?composants interaction

Comment mesurer ? techniques de mesureoutils de mesure

Conclusion

Page 3: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Introduction

Facteurs d’APPRECIATION d’une machine

Comment se définit et se mesure la performance d’une machine ?

• Fonctions Utilisation

• Coût• Performance

Définition : Comment, en terme d’efficacité, une machine atteint ses objectifs

Page 4: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Introduction ...Comment se définit et se mesure la performance d’une machine ?

Concepteur de systèmes

Gestionnaire d’installations informatiques

Utilisateur

- temps d’accès à la mémoire,

- vitesse du matériel,- organisation des librairies

de programmes et des BD,

- algorithmes d’allocation de la mémoire ......

- débit important de travaux en un temps donné,

- nombre possible d’utilisateurs supportés,

- utilisation équilibrée et rentable des composants du système,

- service satisfaisant à la plupart des utilisateurs ...

- réduction du temps de réponse

… unité commune : le TEMPS

.. une machine atteint ses objectifs ...

Page 5: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Un peu d’histoire ...Comment se définit et se mesure la performance d’une machine ?

1re mesure de performance : « temps pour exécuter une opération individuelle »

Diversification des instructions : « temps d’exécution moyen d’une instruction »

Arrivée des MIPS :(Millions d’Instructions par seconde)

Nombre d’instructions

Nb MIPS = ----------------------------------------- Temps d’exécution * 106

Arrivée des programmes tests : Noyaux et programmes synthétiques (WHETSTONE – 1976)

Arrivée des MIPS relatifs : Machine référence : VAX 11/780 de DEC => 1 MIPS Machine « X » 5 foix + rapide que réf => 5 MIPS

Arrivée des MFLOPS : Nb opérations flottantes ds un programme donné

Nb MFLOPS = ------------------------------------------------------------------ Temps d’exécution * 106

SPEC :(System Performance and Evaluation Cooperative)

Groupe créé fin 1980 pour constituer base solideauxquels les programmes tests peuvent se référer

le TEMPS   -> souci dès le début de l’ère informatique :

Page 6: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sur quoi portent ...

Le temps

Comment se définit et se mesure la performance d’une machine ?

Principal objet de mesure et de définition des performances

1 ms (milliseconde)1 ms (milliseconde) = 10= 10-3-3 = 0,001 s= 0,001 s

1 µs (microseconde)1 µs (microseconde) = 10= 10-6-6 = 0,000 001 s= 0,000 001 s

1 ns (nanoseconde)1 ns (nanoseconde) = 10= 10-9-9 = 0,000 000 001 s= 0,000 000 001 s

1 ps (picoseconde)1 ps (picoseconde) = 10= 10-12-12 = 0,000 000 000 001 s= 0,000 000 000 001 s

Unités de mesure du tempsUnités de mesure du temps

Page 7: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sur quoi portent ...Comment se définit et se mesure la performance d’une machine ?

Le microprocesseur (CPU)

est composé de deux unités fonctionnelles :

Unités de calculL’unité arithmétique logique (ou ALU)L’unité de calcul flottant (ou FPU)L’unité multimédia (MMX, 3DNow, SSE, SSE2)

Unités de commandeCompteur ordinal, registre instruction, séquenceur, décodeur …

Page 8: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sur quoi portent ...Comment se définit et se mesure la performance d’une machine ?

Le microprocesseur (CPU)

Les performances d’un microprocesseur se mesurent essentiellement à l’aide de deux critères :

La fréquence d’horloge La largeur des bus

Page 9: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sur quoi portent ...Comment se définit et se mesure la performance d’une machine ?

La mémoire cache ou antémémoire (SRAM)

Contribue à minimiser le temps de transfert entre la mémoire centrale et le processeur. C’est une mémoire à accès rapide ( 6 à 15 ns).≃

La localisation

La technique de rafraîchissement

Caractéristiques essentielles :

La capacité

Page 10: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sur quoi portent ...Comment se définit et se mesure la performance d’une machine ?

La carte mère

Elle sert à relier les différents composants électroniques de l’ordinateur, CPU, RAM, systèmes de bus pour l’échange de données et pour le pilotage des composants indispensable.

Les chipsets

Caractéristiques essentielles :

Composant intégré

Le type de support CPU Le bus système (FSB)

Page 11: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sur quoi portent ...Comment se définit et se mesure la performance d’une machine ?

La mémoire centrale (DRAM)

Elle contient les informations que le CPU traite. C’est une mémoire dynamique volatile, à accès rapide ( 10 à 70 ns)≃ .

Le temps d’accès

Caractéristiques essentielles :

La capacité

Le type

Page 12: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sur quoi portent ...Comment se définit et se mesure la performance d’une machine ?

La mémoire de masse

Le disque dur est l'organe servant à conserver les données de manière permanente, contrairement à la RAM, qui s'efface à chaque redémarrage.

Le temps d’accès

Caractéristiques essentielles :

La capacité

L’interface L’antémémoire

Page 13: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sur quoi portent ...Comment se définit et se mesure la performance d’une machine ?

La carte graphique

C’est un circuit électronique capable de créer et d’envoyer à l’écran des signaux que ce dernier peut convertir en image.

Ces signaux sont créés à partir des informations envoyées par le microprocesseur (en passant par la carte mère).

Caractéristiques

La mémoire

Le bus

Le modèle

Page 14: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sur quoi portent ...Comment se définit et se mesure la performance d’une machine ?

Interaction des composants

Unités périphériques

Schéma synoptique de la structure d'un ordinateur

Unité Centralede traitement

Unité de commande

Unité arithmétiqueet logique

Mémoirecache

Instructions

Données

Mémoire centrale

Unités d'entrée/sortie

Contrôleur depériphériques

Page 15: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Comment mesurer ?

2 Types d’outils de mesure :

MATERIEL : Instrument ou ordinateur spécialisé pour prendre des mesures:- fournit des données précises - assez coûteux en général

ex : ordinateur de diagnostic de réseau., trafic sur le réseau, analyseur de protocole ...

Programmes ajoutés aux systèmes à mesurer.4 types de programmes :- programmes réels unitaires,- noyaux : « boites» de programmes réels utilisés pour évaluer

les performances liées à des caractéristiques précises de la machine,

- programmes de test de performances (jouet) : ils produisent un résultat déjà connu de l’utilisateur (ex: tri rapide, puzzle ....),

- programmes d’évaluation de performance : WORKBENCH

LOGICIEL :

Comment se définit et se mesure la performance d’une machine ?

Page 16: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Comment mesurer ?

Problématique de la mesure :

Définition du problème : La performance d’une machine peut être calculée par : P = nombre d’instructions x nombre de cycles machine x durée d’un cycle

-> Le nombre d’instructions dépend de l’architecture, du compilateur mais aussi de la technologie, de l’implémentation ....

-> La durée d’un cycle dépend de la technologie d’implémentation

Contraintes :-> Tester plusieurs composantes du système -> ceci n’est possible

qu’avec plusieurs programmes-> Avoir des programmes portables facilement sur n’importe quelle

machine

Comment se définit et se mesure la performance d’une machine ?

Concept : les BENCHMARKS Ensemble de programmes d’évaluation des performances des machines

Page 17: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Comment mesurer ?Comment se définit et se mesure la performance d’une machine ?

- développé en Algol en 1976 puis écrit en C et en Pascal- constitué de plusieurs modules, chacun contenant des instructions de différents types- chaque module est exécuté un certain nombre de fois (poids du module)

La somme pondérée des résultats permet de fournir une mesure en Whetstone par seconde.

2 remarques : - Utilisé pour des programmes de traitement numérique

- Ses modules sont de petite taille : les résultats sont dépendants de l’architecture

DHRYSTONE :

- Programme d’évaluation synthétique créé en ADA en 1984- Résultat d’une étude statistique des caractéristiques des programmes source système et de type

non-numérique (Système d’exploitation, compilateurs, éditeurs ...)

-> C’est donc un programme écrit pour tester certaines caractéristiques et non pas une compilation de programmes réels.

Le benchmarck est constitué de 12 procédures incluses dans une boucle d’environ 100 instructions.

On mesure le nombre de boucles exécutées par seconde (Dhrystones/s).

Même remarque sur la taille réduite du programme de test : ne reflète pas la réalité des programmes plus importants.

WHETSTONE :

Page 18: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Comment mesurer ?LINPACK :

- Ce programme travaille sur des tableaux de données de dimension 100 x 100- Résultats en MFLOPS

-> C’est un test couramment utilisé pour le calcul numérique

Comment se définit et se mesure la performance d’une machine ?

- Besoin : Les benchmarcks utilisant des programmes trop petits (inclus tout entier dans la mémoire cache) ne peuvent plus représenter les programmes réels quand il s’agit de tester la mémoire d’un système.

- But de SPEC (Systeme Performanace Evaluation Cooperative) : regroupant au départ Apollo, Sun HP et MIPS, le but est de sélectionner et distribuer des programmes importants pouvant être utilisés comme benchmarcks.

Différentes versions sont présentées :

SPEC Benchmarck:

Page 19: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Comment mesurer ?Comment se définit et se mesure la performance d’une machine ?

- 10 programmes supplémentaires- Notion de SPEC rate pour mesurer la prise en compte de l’aspect multitâche d’un système

SPEC BENCHMARCK : version de 1992 :

SPEC BENCHMARCK : version de 1989 :

- 10 programmes écrits en C et en Fortran- Temps de référence est le temps d’exécution s/ un VAX 11/780- Etablissement d’un ratio : SPEC ratio = Temps écoulé sur VAX / Temps écoulé sur machine cible

-> Le SPEC mark est la moyenne géométrique des 10 SPEC ratios

SPEC BENCHMARCK : version de 1995 :

- Amélioration des mesures en utilisant des programmes plus longs et en accédant plus à la mémoire- La machine de référence est la station SUN 10/40- Cette version définit 2 jeux de programmes, un pour les entiers (CINT95) et un pour les réels (CFP95)

-> Avantage : test du processeur, de la mémoire, du compilateur

-> Inconvénient : pas de tests sur les Entrées/Sorties

Les mesures type SPECint_base95 correspondent à des spécif très strictes sur les options de compilation

Les mesures type SPECint_rate95 correspondent à l’exécution de plusieurs programmes en multitâches.

- Les constructeurs proposent des instruments de mesure.- Indice iCOMP. d’Intel : cet outil de mesure est basé sur 4 banchmarks dont les SPEC

CINT95 et CFP95.

Impact sur les PC :

Page 20: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Comment mesurer ?Comment se définit et se mesure la performance d’une machine ?

Horloge int-92 fp-92 int-95 fp-95 SUN

SS4/5 110Mhz 78 (1.59

int95) 65 (1.99 fp95) 1.59 1.99

SS10/40 40Mhz 50 60 1.13 1.38 SS20 151 150Mhz 169 208 4.02 4.73 Ultra1 140 143Mhz 215 303 4.66 7.90 Ultra1 170 167Mhz 252 351 5.56 9.06

Ultra5 266Mhz 9.1 10.1 Ultra10 300Mhz 12.1 12.9 Ultra10 360Mhz 15.2 19.9 Ultra30 300Mhz 12.1 18.3 Ultra60 300Mhz 13.2 18.4 Ultra60 360Mhz 16.1 23.5

Enterprise3500 4*400Mhz 47.9 DEC

alpha 255 4/233 233Mhz 180 230 3.8 5.09 alpha 255 4/300 300Mhz 215 285 5.23 5.81 alpha 500 5/333 333Mhz 8.87 11.6 alpha 500 5/400 400Mhz 12.3 14.1 alpha 500 5/500 500Mhz 15.0 20.4 alpha 600 5/333 333Mhz 9.23 13.2

PWS 500au 500Mhz 15.7 19.5 PWS 600au 600Mhz 18.4 21.3

Compaq XP1000 500Mhz 26.9 52.2

Exemple de résultats de bench :

Page 21: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

ConclusionComment se définit et se mesure la performance d’une machine ?

De tous temps, mesures de performance = préoccupationbesoin d’aller toujours plus vite :

-> produit de 2 matrices n X n demandant n 3 opérations

Chaque nouvelle génération d’ordinateur rend obsolètes les techniques d’évaluation de la génération précédente.

-> Création de nouvelles version de SPEC Benchmark De nombreux composants entrent en ligne de compte pour

l’évaluation des performances d’une machine.

Une performance intéressante ne peut s'obtenir que par un équilibre de l'ensemble des composants et non d'un seul

Mais les outils d’évaluation de la performance ont leurs limitesAttention : Les indicateurs peuvent être trompeurs : - MIPS : jeu d’instructions différent d’une machine à l’autre, (on ne peut mesurer avec la même unité les performances fournies par des machines RISC

et CISC),

- MFLOPS : ex: le temps d’exécution d’une addition est différent de celui d’une division ; pourtant ils sont généralement considérés identiques dans le calcul de la performance.

Page 22: Comment se définit et se mesure la performance globale dune machine ? 27 février 2002 ---------- Jean-Marc DUFRESNE Maxence JEGOU Marie-Laure POITOU IGSI.

Sources

Internet : http://www.dmi.usherb.ca/personnel/prof_info/gabriel.girard/cours-ift628/

notesdecours/performance/node1.html http://www.hardware.fr http://www.onversity.com

Comment se définit et se mesure la performance d’une machine ?

Bibliographie : • Paolo Zanella et Yves Ligier : Edition DUNOD

Architectures et technologie des ordinateurs

• Christian Schuller : Le micro ; Architecture matérielle et logicielle

• Ron White : Edition DUNOD Tech Le micro… comment ça marche ?