|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 19994 (0x4e1a)
Types: TextFile
Names: »ssba.doc«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/ssba/ssba.doc«
SUITE SYNTHETIQUE DE BENCHMARKS DE L'A.F.U.U. (S.S.B.A. 1.21F)
Association Francaise des Utilisateurs d'Unix
11, rue Carnot
94270 Le Kremlin-Bicetre, France
Tel: (1) 46 70 95 90+
"En toute chose, il n'y a qu'une maniere de commencer
quand on veut discuter convenablement : il faut bien
comprendre l'objet de la discussion."
Platon.
MANIFESTE
La SSBA est le fruit des reflexions du Groupe de travail
Benchmark de l'AFUU (Association Francaise des Utilisateurs
d'Unix). Ce groupe, constitue d'une vingtaine de membres
actifs, d'origines diverses (universite, recherche publique
et privee, constructeur, utilisateur final), s'est donne
pour but de reflechir sur le probleme de l'evaluation des
performances des systemes informatiques, de collecter un
maximum de tests existants de par le monde, d'en dissequer
le code et les resultats, d'en discuter l'utilite, d'en
figer des versions et de les fournir sous la forme d'une
bande magnetique avec commentaires et procedures diverses.
Cette bande est donc, a la fois, un outil simple et
coherent pour l'utilisateur final comme pour le specialiste,
permettant une premiere approximation claire et pertinente
de la performance et serait aussi susceptible de devenir un
standard dans le monde UNIX(tm). Ainsi est nee la SSBA
(Suite Synthetique de Benchmarks de l'AFUU) dont vous voyez
ici la version 1.21F (dite de la "Sainte-Honorine").
UNE DEFINITION
Programme Benchmark : "Un programme informatique standard
utilise pour tester la puissance de traitement d'un ordina-
teur par rapport aux autres". Un programme benchmark peut
etre concu pour evaluer des problemes generaux, appeles
problemes benchmark, comme le traitement des fichiers, le
tri ou les operations mathematiques, ou pour evaluer un
probleme plus specifique qui tiendra plus compte de
__________________________
(tm) UNIX est une marque deposee par AT&T aux Etats-
Unis et dans d'autres pays.
27 Fevrier 1989
SSBA 1.21F
l'utilisation de cet ordinateur. La performance, comme la
vitesse de traitement, peut etre evaluee et comparee a celle
des autres ordinateurs testes avec le meme programme. Ce
processus est appele un test benchmark et peut etre utilise
comme un outil d'aide a la decision lors de l'acquisition
d'un ordinateur.
AVERTISSEMENT
L'evaluation des performances est une necessite dans le
domaine informatique comme dans tout autre. C'est un prob-
leme d'autant plus delicat qu'il n'a pas de solution
mathematique exacte et on doit donc travailler par approxi-
mations. Cet etat de fait a conduit, malheureusement, a des
exces ou a considerer ce probleme comme de la cuisine ou de
la "bidouille". Un des moyens d'approche est la mise au
point de tests benchmarks.
Il est facile de critiquer les benchmarks et de dire
qu'ils ne signifient rien. Par experience, il s'avere que
ceci est generalement le fait de constructeurs dont les
machines n'obtiennent pas de bons resultats aux benchmarks.
Le tout est de savoir de quoi l'on parle. Il ne faut pas
reduire une machine a un seul chiffre comme cela a ete trop
souvent le cas (le mips par exemple), mais il faut essayer
d'en donner une image multidimensionnelle en utilisant
plusieurs tests specifiques. C'est l'approche qui nous a
guides ici.
La solution qui parait immediatement ideale pour
l'utilisateur final est de prendre son application et de la
faire executer, telle quelle, sur un ensemble de machines.
Le probleme est que des que l'application evolue, il faut
tout recommencer; d'ou la necessite de trouver des tests
caracterisant certains types de problemes qui vont apparai-
tre dans la plupart des applications finales. L'usage de
ces tests risquant d'etre perverti, il faudra en indiquer
soigneusement les limites mais aussi les qualites reelles.
Il n'y a jamais eu et il n'y aura jamais de benchmarks
capables de representer completement la charge de travail
d'un systeme informatique en environnement reel (de nom-
breuses etudes visent a l'approcher). Cela depend d'un nom-
bre important de facteurs et c'est une evidence de le sig-
naler. Partant de cette constatation on peut rester assis
en se disant que l'on n'arrivera jamais a rien... Nous
avons choisi d'agir (de toute facon quelqu'un d'autre
l'aurait fait) en fournissant, conscients de toutes les lim-
ites de notre approche, un outil pratique et aussi valable
que possible.
Il existe actuellement environ 200 tests references dans
le monde. On peut les classer en 3 grandes categories :
27 Fevrier 1989
SSBA 1.21F
1) Les benchmarks dits "standards" : Dhrystone, Whetstone,
Linpack, Doduc, Byte, Spice, Euug, Stanford, Musbus, Liver-
more, Los Alamos..., publies dans des revues ou sortis de
chez les gros utilisateurs (General Electric, Exxon...),
dont le code a ete largement diffuse et parfois modifie,
generalement admis par l'ensemble de la profession mais a
propos desquels il regne la plus grande confusion quant aux
versions, aux resultats, aux interpretations et a
l'utilisation que l'on peut en faire.
2) Les benchmarks dits "commerciaux" : AIM, Neal Nelson,
Uniprobe, Workstation Laboratories..., largement documentes,
soumis a des licences dont les tarifs sont generalement tres
eleves, fournissant un service professionnel, mais donnant,
en general, a peu pres le meme type d'informations que les
tests precedents, avec des connotations plus applicatives
(AIM: systeme, Neal Nelson: bureautique, Workstation Labs:
technique) et un emballage soigne pour le decideur. Ces
tests n'en sont pas moins faillibles.
3) Les benchmarks dits "internes" utilises par certains
constructeurs (IBM, DEC, HP, ATT, Olivetti, NCR, Texas, pour
ceux qui ont fait l'objet de presentations) pour simuler des
charges de travail (pseudo-utilisateurs effectuant des
taches classiques) et calibrer ainsi leurs systemes.
Nous avons recupere ou pris connaissance de la majorite de
ces benchmarks dans les 3 categories. Nous les avons exam-
ines sur le fond et la forme. Nous les avons executes sous
diverses conditions afin de les valider.
Les tests selectionnes ici l'ont ete apres mure reflexion
et donnent a notre avis une image d'ensemble de la machine
aussi complete que possible, dans un souci de rigueur et de
portabilite.
Il y aura des evolutions vers des domaines plus applica-
tifs : graphique, temps reel, transactionnel, SGBD, lan-
gages,... Il existe aussi une version 1.21E qui est simi-
laire a la version 1.21F mais en anglais. La version 1.5
verra l'apparition de l'indice AFUU. La version 2.0 verra
l'ajout de nouvelles fonctionnalites.
L'interet d'une telle demarche est qu'elle soit largement
diffusee et adoptee par le plus d'utilisateurs possible.
Envoyez-nous vos resultats, decouvertes de bugs, commen-
taires ou insultes a :
afuu_bench@inria.inria.fr
Les seuls resultats publies le seront sous le controle de
l'AFUU, pour eviter de tomber dans le travers des boites a
lettres electroniques ou tout le monde vient poster des
resultats parfois douteux.
27 Fevrier 1989
SSBA 1.21F
La SSBA version 1.21F caracterise dans un systeme infor-
matique sous UNIX ou ses derives :
o la puissance CPU, la vitesse de traitement, les
capacites de calcul;
o l'implantation du systeme Unix dans son ensemble,
le systeme de fichiers;
o les compilateurs C et Fortran, l'optimisation;
o les acces et la gestion de la memoire, la perfor-
mance des caches;
o les entrees-sorties du disque, le controleur;
o le comportement en multi-utilisateur vis a vis de
taches significatives;
o un ensemble de parametres inherents au systeme.
COPYRIGHT
La SSBA est copyright AFUU. C'est un logiciel "domaine
public". L'AFUU degage toute responsabilite quant aux conse-
quences du passage de la SSBA.
Les procedures, les commentaires, une partie du code,
ainsi que l'architecture de l'ensemble et la mise au point
ont ete concus et realises par Philippe Dax (ENST), Chris-
tophe Binot (LAIH) et Nhuan Doduc (Framentec).
Les resultats seront publies sous la seule responsabilite
du constructeur ou de l'organisme ayant effectue le test et
n'engagera pas la responsabilite de l'AFUU. Le nom de l'AFUU
ne pourra etre cite, le cas echeant, qu'au titre de fournis-
seur de la SSBA. Les constructeurs et organismes interesses
peuvent publier les resultats dans Tribunix a condition que
le protocole de passage ait ete certifie par l'AFUU.
STRUCTURE DE LA SSBA
La SSBA comprend 12 benchmarks selectionnes comme cela a
ete dit plus haut. Ces 12 benchmarks sont, en partie ou en
totalite, issus des benchmarks suivants : le mips/Joy, le
Dhrystone, le Whetstone, le Linpack, le Doduc, le Byte, le
Saxer, l'Utah, le Mips, le Test C, le Bsd et la Musbus.
La SSBA est organisee en 16 repertoires sur un meme
niveau. A chaque benchmark est associe un repertoire dont
les noms sont respectivement : mips, dhry, whet, linpack,
doduc, byte, saxer, utah, outils, testc, bsd, musbus. Deux
repertoires supplementaires ssba et config servent respec-
tivement a lancer la SSBA et a analyser la configuration de
la machine et du systeme. Ces 14 repertoires font partie de
la distribution initiale qui comprend aussi un COPYRIGHT,
une procedure de verification et un repertoire afuu avec
quelques goodies. Deux autres repertoires, install et re-
sults, sont construits durant la phase d'execution de
27 Fevrier 1989
SSBA 1.21F
la SSBA. Le repertoire install contient des fichiers
parametre qui refletent le type du systeme UNIX et le choix,
par la personne qui lance la SSBA, des compilateurs et des
chaines d'options de compilation. Le repertoire results
contiendra les resultats et l'historique (trace) des opera-
tions effectuees durant l'execution de la SSBA.
L'ensemble de la SSBA, a son etat initial, comprend 236
fichiers repartis dans les 14 repertoires. La SSBA utilise
99 programmes source. Elle genere 92 resultats bruts et une
description des principaux parametres systeme de la machine.
Le volume occupe est de l'ordre de 1.5 Mega-octets. Il est
conseille de disposer au moins de 15 Mega-octets sur un meme
systeme de fichiers ou sera implantee la SSBA et de prevoir
aussi un /tmp d'au moins 4 Mega-octets pour la faire tourner
correctement.
Il est egalement necessaire d'avoir un systeme UNIX ou
derive qui supporte imperativement les 41 commandes
suivantes :
awk, bc, cat, cc, cd, chmod, comm, cp, date, dc, df, diff,
echo, ed, expr, f77, grep, kill, lex, ls, make, mkdir, mv,
od, ps, pwd, rm, sed, sh, sleep, sort, spell, split, tail,
tee, test, time, touch, wc, who, yacc.
Commandes facultatives :
banner, hostname, logname, lp, more, pr, shar, tar, uname,
uuname.
Pour information, la SSBA 1.21F s'execute completement en
3h00 sur une machine "4 mips" non chargee (avec coprocesseur
arithmetique).
Le profil fonctionnel des differents programmes est le
suivant :
CPU SYSTEME CALCUL MEMOIRE DISQUE CHARGE
dhrystone outils doduc seq disktime multi.sh
mips forkes whetstone ran saxer work
bct.sh execs linpack gau iofile
testc contswit float iocall
signocsw fibo24 bytesort
syscall
pipeself
pipeback
pipedis
27 Fevrier 1989
SSBA 1.21F
Outre les fichiers de code et de donnees pour chacun des
benchmarks, dans chacun des 14 repertoires il existe un jeu
de 5 fichiers supplementaires. Si bench represente le nom
fictif de l'un des benchmarks, pour un repertoire donne on
aura :
bench.doc les commentaires relatifs a ce benchmark,
bench.files la liste des fichiers mis en oeuvre,
bench.mk le fichier Makefile,
bench.cf le script-shell de configuration,
bench.run le script-shell d'execution.
Au cours de l'execution de la SSBA d'autres fichiers peu-
vent etre crees :
bench.h header cree par bench.cf,
bench.jou trace des compilations,
bench.log trace des operations lors de l'execution,
bench.kill script-shell pour tuer le benchmark courant,
bench.tmp fichiers temporaires,
bench.res resultats locaux a ce benchmark.
Que l'on se place au niveau general (repertoire ssba) ou
au niveau local de chaque benchmark, les fichiers Makefile
(bench.mk) comportent tous les memes cibles :
conf configuration,
compile compilation,
run execution,
sizes taille des executables,
clean suppression des objets, executables, resultats,
readme visualisation des documentations,
print impression des Makefiles et des script-shell,
printall impression de la totalite des sources,
tar archivage format tar,
shar archivage format shell-archiver.
MISE EN OEUVRE GENERALE
1 - Se placer sous le repertoire ssba, etre de preference
sous sh.
2 - Editer le fichier ssba.def qui contient les commandes
par defaut. Chaque entree de ce fichier est constituee
de 2 champs separes par un `:' (deux points). A droite
du `:' placez-y la commande ou la chaine d'options
appropriee a votre systeme ou celle de votre choix.
Par exemple :
27 Fevrier 1989
SSBA 1.21F
Compilateur C :gcc (par defaut : cc)
Options d'optimisation C : (par defaut : -O)
Options flottante C : (par defaut : rien)
Compilateur Fortran :f77 (par defaut : f77)
Options d'optimisation For : (par defaut : -O)
Options flottante Fortran : (par defaut : rien)
Printer :laser (par defaut : lp)
Printer options :-l66 (par defaut : -l66)
Pager :pg (par defaut : more)
Si le second champ est vide, c'est la valeur par defaut
qui est prise (voir ci-dessus).
3 - Taper la commande de lancement de la SSBA :
fiche (pour remplir la fiche signaletique)
ou
ssba.run&
4 - Se placer dans le repertoire results pour verifier le
bon fonctionnement de la SSBA en visualisant le fichier
ssba.log, journal historique des operations.
5 - En cas de probleme il est possible de tuer l'ensemble de
la SSBA en tapant ssbakill (situe sous le repertoire
ssba), si cette commande est sans effet essayer
ssba.kill.
6 - Attendre la fin d'execution de la SSBA et analyser les
resultats dans le fichier ssba.res, dont un condense se
trouve dans le fichier synthese, situes tous les deux
dans le repertoire results.
7 - Imprimer les fichiers ssba.log, ssba.res et synthese du
repertoire results, puis les communiquer a l'AFUU.
MISE EN OEUVRE LOCALE
L'execution locale d'un benchmark est possible a condition
que les fichiers des repertoires install et config aient ete
crees au prealable, soit par ssba.run& soit par ssba.ini
(voir l'en-tete de ce fichier), suivi de unix.sh, suivi de
make conf, et enfin dans config de make compile -f
config.mk.
En effet, pour que tout benchmark puisse s'executer nor-
malement, il est necessaire d'avoir calcule le parametre de
granularite du temps `HZ', puis de l'avoir introduit dans
les outils de mesure du temps : config/chrono et
config/etime.o.
Cette phase de pre-initialisation construit des fichiers
qui seront utiles pour la plupart des benchmarks :
install/hz.h, install/signal.h, install/*.cmd et
27 Fevrier 1989
SSBA 1.21F
install/*.opt.
Une fois cette operation preliminaire effectuee, la marche
a suivre, pour executer localement un benchmark, est la
suivante :
make conf -f bench.mk configuration
make compile -f bench.mk compilation
make run -f bench.mk execution
make sizes -f bench.mk tailles
CONSEILS
o Ne pas chercher a modifier quoi que ce soit, la SSBA pour-
rait ne plus tourner et de toute maniere nous nous en
apercevrions a la sortie des resultats... Et puis c'est
vilain !
o Ne pas paniquer devant les temps d'execution ou certaines
erreurs.
o Si le "doduc" ne se compile pas il faut peut-etre aug-
menter la taille de la table des symboles : rajouter
-Nn4000 a la ligne FFLAGS du fichier doduc.mk.
o Vous pouvez executer sans crainte la SSBA sous root (con-
seille pour les systemes qui n'autorisent pas plus de 25
processus par utilisateur), mais il serait preferable de
l'executer en mode utilisateur normal, au total, en phase
de simulation 8 utilisateurs la SSBA genere 46 processus.
o Pour les audacieux, dans le repertoire musbus, le fichier
musbus.run, a la ligne nusers=8, il est tout a fait possi-
ble de mettre 16, 32 ou ce que vous voulez, il faut sim-
plement s'assurer que le noyau de la machine le suppor-
tera.
Dans le repertoire bsd, le fichier bsd.run, le parametre
1500 apres le "-p" de seq, ran, gau, peut etre modifie
en fonction de la memoire virtuelle disponible, par exem-
ple 10000 pour 10 Mega-octets.
D'autres parametres peuvent etre modifies tres simplement.
N'hesitez pas, la SSBA est votre outil.
o Pour vos achats, faites executer la SSBA sur une machine
fraiche chez le constructeur et examinez avec lui les
resultats obtenus.
o Et surtout :
PRENEZ BEAUCOUP DE PLAISIR
Que la force soit avec vous !
Christophe Binot, Philippe Dax, Nhuan Doduc
27 Fevrier 1989