8.3 QUELQUES TECHNIQUES POUR APPRÉCIER OU ÉVALUER LES PERFORMANCES
Les calculs précédents dépendent explicitement de plusieurs facteurs et ont des limites de validité très strictes. Il faut vraiment que toutes choses, et elles sont nombreuses, soient égales par ailleurs : caches, mémoire centrale, disques, entrées et sorties, compilateur, système.
D'autres techniques sont employées qui relèvent de deux catégories principales :
Pour le matériel :
le processeur, on l'a
dit, sa fréquence d'horloge, son jeu d'instructions;
le bus pour son débit
et son temps de latence;
la mémoire pour
son temps d'accès (mémoires à un ou plusieurs temps
d'attente), mais aussi par sa taille installée qui impose ou évite
des recouvrements, etc. ;
les supports externes
disques et disquettes, pour leurs caractéristiques propres, leurs
contrôleurs et même leur formatage,
D'autres facteurs architecturaux
comme la mémoire cache, les canaux d'accès direct, les coprocesseurs,
etc.
Pour le logiciel :
le système d'exploitation;
le langage de programmation
employé;
l'efficacité de son
traducteur;
l'algorithme employé;
la plus ou moins grande habileté
du programmeur;
les sécurités
installées, etc.
Le schéma de C. Binot
de l'Association Française des Utilisateurs d'Unix (AFUU) est :
Après cette énumération
qui n'est même pas exhaustive, l'évidence est que le MIPS
est parfaitement irréaliste pour évaluer la puissance
d'un système. Une technique analytique est exclue, elle aussi. Un
exemple simple :
Soit à exécuter
l'instruction A = B + C dont les opérandes sont en mémoire.
Cela sera fait :
en
architecture CISC
mémoire à mémoire, en une instruction |
en
architecture RISC
registre à registre, en quatre instructions |
ADD MEM(C),MEM(A),MEM(B) | LOAD
REG1,MEM(A)
LOAD REG2,MEM(B) ADD REG3,REG2,REG1 STORE MEM(C),REG3 |
![]() |
qui ne compare pas les temps d'exécution du même programme est au mieux sans signification, au pire trompeuse. |
![]() |
Puisque l'on ne peut pas prédéterminer cette puissance, on va mesurer des temps sur des exemples. On peut le faire de deux façons :
XX% time linpackd.exe
8.5u 0.3s 0:13 66% 0+804k
4+1io 6pf+0w
Interprétation :
. 8.5 secondes de temps
utilisateur (u)
. 0,3 seconde de temps système
(s)
. 13 secondes de temps
consommé
. 66 % du temps consommé
pour le programme et donc 34% pour d'autres travaux
. utilisation de la mémoire
: 0 k de mémoire non partagée, 804 k de mémoire partagée
. entrées et sorties
: 4 blocs en entrée, 1 bloc en sortie (io)
. 6 défauts de
page (pf) et 0 échange ou swap (w).
8.3.1 Les différents MIPS
Voici quelques-unes des significations convenues :
|
|
|
|
Pascal UNIX |
|
|
|
Pascal VMS |
|
|
|
Le temps le plus court correspond au nombre de MIPS le plus petit !L'utilisateur peut conclure que si l'on s'astreint à établir et à exécuter un programme représentatif pour un essai de mesure de MIPS, mieux vaut garder seulement le temps d'exécution et abandonner ce MIPS qui a été l'objet d'une polémique en 1982 entre CDC et T. Henkel de la revue Computerworld. Les MIPS annoncés par les deux parties différaient comme suit :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Enfin signalons que MIPS a été
compris comme l'acronyme de :
«Meaningless
indication of processor speed» indication sans signification
sur la vitesse des processeurs.
«Meaningless
indoctrination by pushy salespersons» endoctrinement sans
signification par vendeurs pressés.
Si l'acronyme avait contenu
un D, on aurait pu penser à désinformation.
En résumé, le MIPS, quel qu'il soit est :
On connaît :
les IPS instructions par seconde;Le lecteur les fera précéder de :
les OPS opérations par seconde;
les FLOPS opérations flottantes par seconde;
les LIPS inférences logiques par seconde;
les CPS connexions par seconde ou COPS opérations de connexion par seconde.
8.3.2 Les bancs d'essais
Il faut tout d'abord distinguer ceux qui concernent une famille de machines plus ou moins compatibles de ceux qui sont voulus d'usage général. Cet usage est résumé sous la forme d'un problème typique d'une classe d'applications. On distingue également ceux qui sont du domaine public, ceux qui sont la propriété d'un constructeur et ceux qui sont des produits commerciaux.
a) Des produits commerciaux :
AIM teste les systèmes
d'exploitation,
Neal Nelson est utilisé
en bureautique,
Workstation est applicable
à des problèmes industriels.
b) Des outils de tests propres à une classe de matériels, et qui ne testent que le matériel ou une partie de celui-ci. À titre d'exemple, on connaît pour les PC et compatibles :
SPEED ou LM2 de
Landmark Software pour la fréquence de fonctionnement,
CORETEST de Core International
pour le disque et son contrôleur,
SYSINFO de Peter Norton,
HDTEST de Jim Bracking
etc.
Un test d'IBM connu sous le nom de VITESSE détaille en référence à l'IBM PC les performances des machines qui lui ont succédé sous la forme de classes d'opérations : registre à registre, registre à mémoire, mémoire à mémoire etc.
c) Plus complets sont les tests construits ou utilisés par des publications, MS Bench de l'ancienne revue Micro-Systèmes fonctionnait sous MS-Dos, il détaillait pour des PC et compatibles le temps d'accès à la vidéo, des tris, des accès au disque, des calculs. Il a plusieurs successeurs sous Windows.
d) Les outils des constructeurs : IBM, HP, OLIVETTI, NCR, DEC simulent des charges de travail et donnent en général pour une application donnée les taux d'utilisation des ressources des machines. Par exemple Ramp-C d'IBM est un ensemble de programmes écrits en Cobol. Il simule le travail d'utilisateurs de terminaux sur différents types de tâches. Ce test comprend des transactions de complexité croissante qui vont de la simple mise à jour d'un fichier à une modification complexe de stock. Son résultat est exprimé en nombre de transactions par seconde. Il est utilisé notamment pour les machines de types RS/6000, AS/400 et ES/9221. Connaissant le prix de la configuration, on en déduit le coût de la transaction par seconde.
e) Les produits standard, en général du domaine public. Ils sont dits standards mais simplement de fait, car il n'y a aucune normalisation les concernant. Ils sont publiés dans des revues ou fournis par de grands utilisateurs qui ont trouvé avantageux d'investir dans leur réalisation. Chacun a un profil bien ciblé, ils ne traitent donc pas des mêmes aspects. Certains se cantonnent à un aspect particulier, d'autres prétendent donner une évaluation globale.
Une autre catégorie est celle des MIX. Ils sont de deux types :
MIX instructions : composés de sommes ou de moyennes de temps d'instructions pondérés. La pondération reflète une ventilation statistique de la fréquence d'utilisation des instructions.
MIX problèmes : composés de la moyenne ou de la somme pondérée des temps d'exécution par type de problème.
L'un des plus anciens est GIBSON MIX, créé dans les années soixante par J.C. Gibson d'IBM.
Il donne pour une application déterminée, la ventilation des utilisations de chaque type d'instruction et, connaissant sa durée d'exécution, une évaluation globale. Cette voie n'est plus utilisée, car elle nécessite des statistiques considérables et des évaluations de moyennes, le test demanderait presque autant de travail que la réalisation de l'application. Des architectures différentes ne sont bien sûr pas comparables de cette façon.
Quelques autres MIX :
scientifiques : GIBSON, GIBSON
SCIENTIFIQUE, GAMM*, FORTRAN,
gestion : GIBSON COMMERCIAL,
DORRANCE, MIX COBOL,
général : COMPOSITE
MIX.
*GAMM (Gesellschaft für
Angewante Mathematik und Mechanik).
Instruction | Poids | Instruction | Poids |
addition
entière
multiplication entière division entière addition flottante multiplication flottante division flottante branchement conditionnel comparaison chargement de registre décalage simple comparaison logique incrémentation de registre |
33,0
0,6 0,2 7,3 4,0 1,6 6,5 4,0 17,5 4,6 1,7 19,0 |
déplacement
en mémoire
édition addition/soustraction lancement d'entrée/sortie multiplication division branchement conditionnel comparaison |
25,0
4,0 8,2 7,0 0,6 0,2 31,0 24,0 |
Les programmes nommés KERNELS (cœurs ou noyaux), généralisent ces procédés pour des fonctions d'usage fréquent : tris, inversions de matrices, conversions de codes etc.
Pour rendre les évaluations plus comparables entre machines très différentes d'un même constructeur ou de constructeurs différents, des auteurs ont écrit des bancs d'essai dits synthétiques. Les deux plus connus sont WHETSTONE et DHRYSTONE.
8.3.3 Whetstone
Il a été écrit en 1975 par Curnow et Wichmann du Laboratoire national de physique de Grande-Bretagne. Il tient son nom d'un langage intermédiaire. Il a été publié en 1976 dans Computing journal sous la forme d'un programme en Algol.
Whetstone est basé sur une étude statistique de la fréquence d'apparition de quarante instructions élémentaires (celles du langage Whetstone) dans 49 programmes de calcul utilisés dans le laboratoire. Ces modules sont spécialisés chacun dans un type d'instructions, arithmétique entière, arithmétique flottante, structure IF etc. Le programme se termine par un module d'édition des résultats. Il est devenu la référence pour Fortran et les calculs en virgule flottante.
Il est composé de 10 modules qui font exécuter ces opérations, ces modules sont pondérés par des boucles de répétition de façon à obtenir dans le test une distribution des instructions comparable à celle des programmes initiaux.
Présentation du Whetstone par composants
Nature du module |
poids
|
arithmétique
flottante sur variables
arithmétique flottante sur tableaux passage de matrices en arguments branchements conditionnels arithmétique entière fonctions trigonométriques appels de procédures adressage d'éléments de tableaux deux modules de fonctions standards (ex : SQR(EXP(LOG(x))) |
10
12 14 345 210 32 899 616 93 |
Présentation des poids du Whetstone, en pourcentages
Nature des traitements |
poids
|
Programme principal
Arithmétique fixe Indexations Arithmétique fixe |
18,8
14,4
11,6
1,9
|
Code utilisateur sous total |
46,7
|
Fonctions
trigonométriques
Autres fonctions mathématiques |
21,6
31,7
|
Fonctions de bibliothèque sous total |
53,3
|
Total général |
100,0
|
Pour chaque module, on connaît le nombre d'instructions exécutées, on mesure le temps et on en déduit par pondération le Kilo instructions Whetstone ou KIPS WHETSTONE ou KWIPS, ou encore le MWIPS, méga instruction Whetstone par seconde. Il en existe une version officielle, issue de British Standards Institution - Quality Insurance. Elle est rédigée en Pascal. Certaines versions privées éliminent la partie relative à l'édition des résultats, apparemment pour obtenir un temps meilleur. Ceci est contraire aux intentions de l'auteur pour qui cette partie n'est pas dissociable du reste.
Whetstone traduit la puissance de calcul numérique incluant une grande part d'instructions en virgule flottante. Il est significatif du processeur pour son ALU, du ou des coprocesseurs, du compilateur et de la présence de mémoires cache. De plus il existe en deux versions simple et double précision.
COMPARAISON DE QUELQUES MACHINES EN kiloWhetstone
Machines |
KWhetstone
|
HP 3000/930 |
2841
|
DEC VAX 11/780 |
1152
|
MicroVAX II |
877
|
IBM PC XT sans coprocesseur (8088) |
10
|
Intel 80436 à 25 MHz |
6100
|
Intel 80486 à 33 MHz |
8200
|
Deux variantes du Whetstone existent pour évaluer les performances des unités de calcul en virgule flottante seules :
WHETSCALE ne contient que des opérations sur des données isolées en virgule flottante (SCALE est pour opérations scalaires)Les résultats sont convertis en Mflops. Le rapport Whetscale/Whetmat est représentatif de la seule aptitude à réaliser les adressages de tableaux.À titre d'exemple, ils étaient utilisés pour comparer les coprocesseurs 80287, 80387 d'Intel et leurs concurrents compatibles 3167 et 4187 de Weitek.
WHETMAT opère sur des tableaux (MAT pour matrices)
Suite à un article de Knuth publié en 1971, des études statistiques ont été faites sur les fréquences d'apparition de différents types d'instructions : affectations, boucle, appels de procédures, c'est-à-dire plus que les classiques répartitions en arithmétique entière ou flottante, etc. Une statistique globale a été faite sur 1051 programmes de 18000 à 39000 lignes chacun.
Le test Dhrystone a été écrit en Ada et publié en 1984 par Reinhold Weicker. Il n'utilisait alors que le sous ensemble Pascal de ce langage pour pouvoir être traduit facilement en Pascal et en C. Sa traduction en C est la plus souvent utilisée. Grâce à cela, il est devenu une référence quasi obligée pour les machines sous le système d'exploitation Unix.
Il ne fait pas de calculs flottants
ni d'entrées ou sorties.
Un pourcentage important du
temps d'exécution est consacré aux traitements de chaînes
de caractères, cela peut aller jusqu'à 40 % pour un compilateur
C.
Il ne manipule qu'un petit nombre
de variables globales.
Le banc d'essai exécute
100 instructions, 103 dans la version en langage C, répaties en
:
53 affectations;
32 commandes;
15 appels de procédures
et de fonctions.
Ces 100 instructions sont exécutées 50000 ou 100000 fois. Cent instructions par seconde valent UN Dhrystone.
Ce programme évalue l'architecture de la machine hors périphériques (les disques sont ici des périphériques), et l'efficacité du code produit par le compilateur. Il est très sensible à l'existence et à la taille d'une mémoire cache. Dans la version langage C, l'utilisateur peut déclarer des variables registres ou non. Ceci donne deux valeurs du Dhrystone.
Comparaison de quelques machines en Drystones
MACHINE | SYSTÈME | COMPILATEUR | DRYSTONES
SANS REGISTRE |
DRYSTONE
AVEC REGISTRES |
CRAY 1S | UNIX 4.3 | CC |
14820
|
1662
|
DEC VAX 11/780 | UNIX 4.3 | CC |
1646
|
2136
|
DEC VAX 11/785 | VMS | VAX 11 C.2 |
2135
|
2083
|
PC XT 8088 | MS-DOS 2.1 | Microsoft 3.0 |
390
|
427
|
PC XT 8086 | MS-DOS 3.1 | Microsoft 3.0 |
833
|
909
|
PC AT 80286 | XENIX 3.0 | CC |
704
|
714
|
PC AT 80286 | MS-DOS 3.0 | Microsoft 3.0 |
1250
|
1388
|
Il a été conçu et est toujours diffusé par Jack Dongarra de l'Argonne national laboratory, aujourd'hui à l'université du Tennessee. C'était au départ un catalogue de sous programmes d'algèbre linéaire écrits en Fortran et donc un exemple de vie vécue et non d'un programme bâti pour les besoins de la cause. Aujourd'hui Linpack :
Les boucles de Livermore (Lawrence Livermore loops) ou noyaux fortran de Livermore (Livermore Fortran kernels) sont faits de 24 boucles de calcul numérique issues de différents domaines de la physique. Leur auteur est F.H. McMahon, du Lawrence Livermore national laboratory (É.U.). Il les a collectées et y a intégré les outils de mesure du temps. Ces boucles sont de longueurs diverses, de quelques lignes à une page de code source. Les résultats sont obtenus en Mflops pour chaque boucle et pour trois longueurs de vecteurs.
8.3.7 SSPBS Stanford Small Programs Benchmark Set
Pendant le développement des premiers systèmes RISC dans les universités de Stanford et de Berkeley, John Hennessy et Peter Nye ont collecté de petits programmes d'une page ou moins. Ils ont servi aux premières mesures comparées de CISC et de RISC. Depuis ils ont été réunis en un programme composite écrit en C qui contient huit programmes qui traitent des tours d'Hanoï, les huit reines, une multiplication de matrices d'entiers, un puzzle, un tri rapide, un tri bulle, un tri arborescent, une multiplication de matrices de nombres en virgule flottante et une transformation de Fourier rapide. Il n'y a pas de méthode d'agrégation de ces résultats.
8.3.8 Le crible d'Ératosthène
Il s'agit d'un de premiers bancs d'essais pour les PC. Il détermine les nombres premiers par la technique du crible, en général jusqu'à 8192. Il a quelques caractéristiques inhabituelles : 33 pour cent des adressages sont immédiats, il n'a pas de boucle TANT QUE, 50 pour cent des instructions sont des contrôles de boucles et tous les opérandes sont entiers. Il ne peut pas être considéré comme un bon test mais comme cela a été écrit : «La performance du crible a plus vendu de compilateurs de certaines entreprises qu'aucun autre banc d'essai».
8.3.9 Doduc
Il est l'œuvre de Nhuan Doduc alors chez Framentec. C'est un programme de 5300 lignes écrit en Fortran, extrait d'une application de simulation par la méthode de Monte Carlo. Il fournit des informations sur le processeur, sur l'unité de calcul en virgule flottante, sur le compilateur Fortran et son optimalité, sur la précision de calcul et la gestion des mémoires caches. Il ne touche pas aux coprocesseurs vectoriels. Le Doduc a été repris dans les jeux SPEC ci-dessous. Nhuan Doduc continue à avoir une activité importante en matière de bancs d'essais
8.3.10
SPEC Systems Performance Evaluation Cooperative effort et aussi
Standard
Performance Evaluation Corporation
C'est une tentative de grande ampleur. Les fondateurs de SPEC sont Apollo, Hewlett-Packard, MIPS et Sun, rejoints plus tard par AT&T, Bull, CDC, Compaq, Data General, DEC, Dupont, Fujitsu, IBM, Intel, Intergraph, Motorola, NCR, Siemens Nixdorf, Silicon Graphics, Solbourne, Stardent, Unisys etc.
Cette association est née de la perception des insuffisances de la plupart des bancs d'essais dont la petite taille ne peut pas représenter des programmes réels. Cela est d'autant plus vrai que les mémoires cache ont une influence très différente selon que les boucles des programme sont courtes ou longues. Par ailleurs on avait constaté que la diffusion de certains bancs d'essais avait un effet pervers. Les fournisseurs de compilateurs adaptaient leurs produits aux bancs d'essais qui devaient être utilisés. C'était particulièrement le cas pour la manipulation de chaînes en vue du Dhrystone.
L'objectif de SPEC est de collecter,
standardiser et distribuer un grand nombre de programmes qui pourront être
utilisés comme bancs d'essais. C'est un travail important dans la
mesure où plusieurs programmes utilisés pour cela comme yacc
et nroff d'Unix sont sous licence.
SPEC publie la revue SPEC Newsletter.
La première livraison payante de SPEC a été faite en octobre 1989, sous la forme de dix programmes dont la liste suit. À partir de leurs résultats individuels, une évaluation globale était obtenue par moyenne géométrique des résultats partiels sous le nom de SPECmark. Plus le nombre de specmarks est élevé, plus grandes sont les performances de la machine.
LES DIX PROGRAMMES DE SPEC 89
NOM | OBJET | LANGAGE | DONNÉES |
gcc
espresso spice 2g6 doduc nasa7 li eqntott matrix300 fpppp tomcatv |
générateur
de compilateur C
simulateur de PLA simulateur de circuits analogiques Monte Carlo noyaux numériques interpréteur Lisp fonctions de commutation multiplications de matrices équations de Maxwell calcul vectoriel parallélisable |
C
C Fortran Fortran Fortran C C Fortran Fortran Fortran |
entiers
entiers flottants flottants flottants entiers entiers flottants flottants flottants |
En janvier 1992, le Specmark n'était déjà plus d'actualité. On avait constaté comme ç'avait été le cas pour d'autres bancs que des fournisseurs optimisaient les codes produits par leurs compilateurs en fonction des éléments constitutifs de Specmark. C'était d'autant plus facile que, contrairement à des bancs divers, le SPEC est standardisé. L'adaptateur joue sur du velours. On dit que l'un d'eux a réussi à multiplier par dix ses résultats pour le module Matrix300.
Pour éviter en partie au moins ces effets fâcheux, l'association Spec a mis sur le marché les SPEC92 sous la forme de SPECInt (Int pour integer) constitué de 6 programmes et de SPECFP (FP pour floating point) constitué de 14 programmes.
Comparaison entre Specs :
Exemples |
SPECMARKS
|
SPECINTS
|
SPECFPS
|
RS 6000/560 |
90
|
43
|
143
|
HP 750 |
78
|
51
|
100
|
Le microprocesseur Intel 80486DX4 cadencé à 100MHz était crédité de 51,4 Specint. Toutefois, l'Afuu, cohérente dans son raisonnement, relève qu'il ne s'agit toujours que des performances des unités centrales, hors entrées sorties.
De nouvelles versions sont sorties
en 1995 sous des formes plus détaillées : SPECint_base95,
SPECint95, SPECfp_base95, SPECfp95. Spec estime que ses bancs d'essais
ont une durée de vie de l'ordre de 3 ans.
Quelques détails sur
SPEC95. Il fournit les performances en rapidité et en débit.
En rapidité pour une tâche ou combien de tâches peuvent
être exécutées par unité de temps. Il est donné
pour un processeur unique, pour des multiprocesseurs symétriques
et pour des grappes (cf. chapitre 11).
Le «CINT95 suite»,
écrit en C, est formé de huit bancs de manipulation d'entiers
:
099.go
intelligence artificielle, jeu de go;
124.m88ksim simulateur
de circuit intégré, exécute le programme de test;
126.gcc
nouvelle version de gcc, construit du code SPARC;
129.compress compresse et décompresse
un fichier en mémoire;
130.li
interpréteur de LISP;
132.ijpeg
compression et décompression graphique;
134.perl
manipule des chaînes (construction d'anagrammes) et des nombres premiers
en Perl;
147.vortex programme
de base de données.
On en déduit :
SPECint95
moyenne géométrique des temps des huit bancs compilés
le plus efficacement possible;
SPECint_base95
moyenne géométrique des temps des huit bancs compilés
normalement;
SPECint_rate95
moyenne géométrique des débits des huit bancs compilés
le plus efficacement possible;
SPECint_rate_base95 moyenne
géométrique des débits des huit bancs compilés
normalement.
Le «CFP95 suite»,
écrit en FORTRAN est formée de dix bancs de calcul en virgule
flottante :
101.tomcatv programme
de construction de mailles;
102.swim
modèle d'eau peu profonde avec une grille 1024 x 1024;
103.su2cor physique
quantique, simulation de Monte Carlo;
104.hydro2d astrophysique,
équation de Navier Stokes;
107.mgrid
résolution multigrille dans un champ de potentiel 3D;
110.applu
équations aux dérivées partielles paraboliques et
elliptiques;
125.turb3d simulation
d'une turbulence isotrope et homogène dans un cube;
141.apsi
diffusion de polluants atmosphériques selon la température
et le vent;
145.fpppp
chimie quantique;
146.wave5
physique des plasmas, simulation d'une particule électromagnétique.On
en déduit :
SPECfp95,
SPECfp_base95
SPECfp_rate95
SPECfp_rate_base95respectivement
dans les mêmes conditions que les précédents.
Intel utilise Specint95 pour comparer ses processeurs.
Pentium II 233MHz | Pentium
II
266MHz |
Pentium II 300MHz | Pentium II 333MHz | Pentium II 350MHz | Pentium II 400MHz | Pentium II 450MHz | |
SPECint95 |
9,38
|
10,7
|
11,9
|
13,0
|
13,9
|
15,8
|
17,2
|
Exemple de résultats obtenus avec Spec95.
Le banc SPECint95 fournit un élément de comparaison pour les performances du processeur, de la mémoire et du compilateur pour le calcul intensif sur 32 bits. Ces résultats sont obtenus pour les processeurs ci-dessus en utilisant des systèmes bien conçus. En conséquence, le test n'est garanti que pour le processeur seul. L'acheteur d'un système complet trouvera toujours un résultat différent.
Le lecteur intéressé
par les productions de SPEC se reportera utilement à
http://www.specbench.org/
Il y trouvera les dernières
nouvelles sur ces bancs d'essais (par exemple SPEC CPU95 a été
retiré en avril 2000, remplacé par SPEC CPU2000).
Quelques bancs d'essais :
Pour les processeurs :
SPEC95 entier + virgule
flottante;
CINT92 entier;
CFP92 virgule
flottante;
CPUMark32;
CINT CPU entiers intensif;
Norton SI32;
«Byte benchmark»
de la revue Byte.
Pour les opérations
en virgule flottante :
SPECfp*95;
3D graphique, partie
du banc de Norton Multimedia;
3D WinBench* 98;
FPUmark WinMark Test.
Pour les superordinateurs
:
Le jeu de programmes
scientifiques du «Perfect Club».
Pour les systèmes
:
SYSmark*32 pour Windows95;
SYSmarkNT;
Winstone* 98 Business
Scores Winstone 98 High End Scores;
MacBench pour les MacIntosh.
Venant de Spec :
SDM UNIX Software Development
Workloads;
SFS System level file
server (NFS) workload;
Pour le multimédia
:
Intel Media Benchmark;
Norton* Multimedia Benchmark
pour Windows95.
Des évaluateurs
de charge de travail (workload) :
SDM UNIX Software Development
Workloads;
SFS System level file
server (NFS) workload;
SPEChpc96 High-performance
computing benchmarks.
Plus spécialisés
encore :
les bancs d'essais pour
transactions TPC-A, TPC-B et TPC-C du Transaction Processing Council;
les bancs d'essai pour
le traitement d'images et la vision, Abingdon Cross, CMU IP Suite, DARPA
IU Benchmark.
On rencontre aussi
:
MATMULT arithmétique
entière sur des tableaux multidimensionnels;
PUZZLE calculs récursifs
et indexation de tableaux;
SIEVE qui est le crible
d'Ératosthène.
Le logiciel CPUID n'est pas un banc d'essai, il donne nombre de renseignements sur le provesseur et les cacges.
Note sur l'arithmétique employée dans les bancs d'essais
Selon les bancs d'essais, le lecteur constate que l'agrégation des résultats partiels est faite par moyenne arithmétique ou moyenne géométrique des valeurs.
La moyenne arithmétique convient si la machine doit être utilisée dans les mêmes proportions que les programmes du banc d'essai. Ce n'est jamais le cas.
La moyenne géométrique convient pour comparer deux machines quand on utilise un rapport de durées pour chaque élément du banc.
Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 8
Complexité, Puissance et Variabilité
Année 2002-2003