vesrsion *

publicité
Complexité, Puissance et Variabilité
INTRODUCTION
·
Complexité d'une chose qui a un nombre de composants ou d'états tels que l'on ne peut pas
l'appréhender clairement dans sa totalité ou dans tous ses aspects.
Complexe : "Qui contient, qui réunit plusieurs éléments différents. Couramment: difficile à
cause de sa complication" (Littré).
·
Puissance d'un appareil, capable de fournir un travail.
Puissance : "Caract₩re de ce qui peut beaucoup, de ce qui produit de grands effets. Virtualité,
possibilité" (Littré).
·
Variabilité d'un phénoméne ou d'une situation qui présente simultanément des aspects
distincts à des observateurs différemment placés ou, en for₤ant le trait, autant d'aspects que de
lieux d'observation.
Variabilité : "Caract₩re de ce qui est variable" (Littré).
Variable : "Qui est susceptible de se modifier, de changer souvent au cours d'une durée. Qui
prend, peut prendre plusieurs valeurs distinctes. Qui prend plusieurs valeurs, plusieurs aspects,
selon les cas individuels, ou selon les circonstances" (Littré).
Ce chapitre contient :
Un aper₤u sur la complexité d'un syst₩me informatique.
Un examen de ce que l'on peut nommer puissance d'un syst₩me informatique et les évaluations que
l'on fait des unités centrales.
Quelques techniques d'évaluation des performances.
Un aperéu de l'influence du logiciel sur les performances.
LA COMPLEXITE D'UN SYSTEME INFORMATIQUE
Cette complexité tient autant au nombre de composants qu'à la difficulté induite par leur organisation
et par leur fonctionnement en l'absence de lois générales et de r₩gles de construction ou
d'agrégation.
Cette complexité a pour origine le nombre de composants et le nombre d'états distincts que le tout
peut avoir.
· Le nombre de composants est grand : de quelques dizaines à des milliers de circuits intégrés et
chacun d'entre eux contient de mille à quelques millions de composants dans des structures
microscopiques.
·
Le nombre d'états distincts est considérablement plus important puisqu'il proc₩de de la
combinatoire.
Un banc de mémoire de 1 Mo a 223 points de mémoire ou bits (220 octets x 23 bits/octet). A
raison de 2 états pour chacun, il a 2^(223) états distincts, soit exactement 2 8*1000*1024 ou encore plus
de 108000000 d'états.
Ces nombres sont à comparer au nombre d'atomes de l'univers inférieur à 1080 en l'état de nos
connaissances; au temps écoulé depuis le "Big Bang" est d'environ 14 ou 15 milliards d'années.
A raison de 365 jours par an, et 24 heures de 3600 secondes par jour, le nombre de secondes
est de moins de 15*10^9*(1/3)*24*3600 ou encore moins de 1020 microsecondes ou encore 1023
nanosecondes.
Nous n'avons que quelques 109 neurones dans notre cerveau.
De telles possibilités ne sont pas directement maîtrisables en raison de nos limites perceptives
et intellectuelles et de l'absence déjà citée d'une ou de quelques lois qui en régiraient l'organisation
La complexité des algorithmes fait l'objet de trés nombreuses études.
La complexité d'un programme est abordée trés briévement plus loin.
LA PUISSANCE D'UN SYSTEME INFORMATIQUE
Puissance intrins₩que et puissance effective
Cette puissance n'a aucun rapport avec la puissance définie en mécanique, en électricité et dans les
autres domaines de la physique où l'on dispose de lois de conservation sous la forme d'équations de
bilan avec leurs dimensions, leurs r₩gles de composition et de calcul.
Alors qu'il existe en mécanique des seuils minimaux pour vaincre un frottement ou la composante
due à la pesanteur pour mouvoir une charge, il n'y a pas de tels seuils en informatique (sauf à avoir
une alimentation électrique insuffisante).
Tout ordinateur, pourvu qu'il poss₩de des caractéristiques minimales (n'importe quelle machine
existante les a en surabondance) peut résoudre tout probl₩me relevant de la classe des fonctions
calculables.
Mais la théorie, non seulement ne dit pas le temps nécessaire à leur exécution, mais n'aborde aucune
considération de temps hors le fait de distinguer s'il est fini ou infini.
La PUISSANCE INTRINSEQUE, c'est-à-dire la capacitéé à exécuter un algorithme. Elle est infinie
au sens où tout algorithme bien conéu résolvant un probléme calculable et bien exprimé dans un
langage adéquat, sera exécuté sur n'importe quel ordinateur en un temps fini.
Les PUISSANCES EFFECTIVES, que l'on doit nommer PERFORMANCES relévent des :
· temps de réponse(latency), ou temps d'exécution ou encore temps de latence. C'est le temps qui
s'écoule entre le début et la fin d'un travail. Les deux premiers sont utilisés pour l'exécution d'un
programme ou d'une tâche. Le temps de latence est appliqué à la mémoire et aux entrées et sorties.
· débit (throughput) ou bande passante (bandwith). C'est la quantité de travail faite par unité de
temps. Le débit est appliqué à l'exécution des programmes ou des tâches. La bande passante
s'applique à la mémoire et parfois aux entrées et sorties.
· utilisation ou plutôt temps d'utilisation ou temps d'occupation ou taux d'occupation. C'est le
temps ou la fraction de temps pendant lequel un composant ou un systéme est occupé. Il n'intéresse
plus grand monde.
· volume disponible que l'on oublie le plus souvent, c'est la capacité à enregistrer le volume des
données.
On distinguera en plus, comme dans un pipeline:
· l'aptitude à traiter un seul probléme posé ou encore rapidité d'un traitement. Elle sera
grossiérement inverse du temps d'exécution, dépendra de la mémoire installée, de son utilisation, du
processeur, du langage, de l'algorithme utilisé etc. Elle intéresse l'utilisateur qui attend le résultat,
· l'aptitude à traiter plusieurs problémes en séquence ou en quasi simultanéité. Il s'agit ici d'un
débit global. Il intéresse le gestionnaire d'une machine mise à disposition de plusieurs utilisateurs.
En ce domaine, tout va étre accumulation d'inventions, d'expériences, de recettes et de tours de main
avec deux conséquences ici aussi :
· un foisonnement des solutions architecturales sans qu'aucune ne s'impose réellement comme
supérieure aux autres dans tous ses aspects,
· la nécessité de recourir, pour organiser la réflexion et l'étude, à des instruments extérieurs à la
théorie. Le premier est le temps physique. Les autres sont de simples outils de classement comme des
relations d'ordre, des grilles ou des repéres.
Commenéons par les mesures de temps qui ne supposent rien sur la nature ou la qualité de ce qui
sera mesuré.
· Le temps de réponse ou temps d'exécution ou temps de latence. C'est le temps écoulé entre le
début et l'achévement d'une tâche quelconque. On en a vu un exemple dans la caractérisation des
mémoires.
· Le débit ou largeur de bande ou bande passante. C'est la nombre d'opérations (ou quantité de
travail) faites par unité de temps. On en a vu un exemple dans la caractérisation des pipelines.
Rapidité relative. On dit qu'une machine X est n% plus rapide qu'une machine Y. Cette rapidité
relative est définie en termes de temps d'exécution Tx et Ty. On peut utiliser les performances Px et
Py définies comme les inverses des temps d'exécution. Une machine X est n% plus rapide qu'une
machine Y quand :
Si Y est plus rapide que X, n est négatif.
On doit dire alors en toute rigueur que Y est -n% plus rapide que X.
De l'augmentation des performances ou la loi d'Amdahl
Pour augmenter la performance globale d'un systéme, il faut augmenter la performance d'un ou de
plusieurs de ses composants.
Certains composants sont plus fréquemment utilisés que d'autres. Il paraît donc raisonnable de
consacrer la dépense possible à améliorer les composants les plus utilisés plutôt que ceux qui le sont
moins.
La loi d'Amdahl définit l'augmentation de la performance que l'on peut attendre d'une amélioration
du systéme.
Utilisons les conventions suivantes :
.T est le temps d'exécution d'un programme sur le systéme d'origine.
.Ta est le temps d'exécution du méme programme sur le systéme amélioré.
.f est la fraction du temps T concernée par l'amélioration.
.Ac est l'accélération obtenue par l'amélioration.
L'accélération obtenue est alors :
La loi d'Amdahl dit que la limite de
l'accélération est :
La loi d'Amdahl dit que la limite de l'accélération est :
Exemple d'application :
Supposons que pour un programme rédigé en langage donné, le pourcentage du temps passé à faire
du calcul vectoriel soit de 70%. Supposons de plus que la rédaction de cette partie en assembleur
rende son exécution deux fois plus rapide, les calculs seraient les mémes pour un câblage qui rendrait
l'exécution deux fois plus rapide.
Introduction du coût
Considérons des systémes Si dont les coûts respectifs sont Ci.
Considérons des programmes Pj.
Considérons le temps d'exécution Tji du programme Pj sur la machine Si.
Le rapport coût à performance du programme Pj sur la machine Si est
Une valeur plus grande de CiTji signifie
· une moins grande performance à coût donné,
· un coût plus élevé à performance donnée.
Exemple de deux systémes C1 de coût 6000 F et C2 de coût 14000 F
et deux programmes P1 s'exécutant en 25 s sur C1 et 10 s sur C2, P2 s'exécutant en 40 s sur P1 et
12 s sur P2 :
Systéme
S1
S2
Coût
6000
14000
T1i (s)
2,5
1,0
CiTj1
15000
14000
Tj2
4,0
1,2
CiT2i
24000
16800
Les évaluations des unités centrales
Les nombres de base sont relatifs :
·
à l'unité centrale,
.le temps de cycle de l'horloge Th, c'est-à-dire le nombre de secondes par cycle. Il est l'inverse de
la fréquence d'horloge Fh, nombre de cycles par seconde.
.le nombre de cycles par instruction CPI, nombre moyen de cycles d'horloge de l'UC, nécessaire
pour exécuter une instruction. Si l'on réalise une partition dans le jeu d'instructions, on pourra
noter CPIi le nombre moyen de cycles de l'UC nécessaires pour exécuter une instruction de type
i.
·
au programme,
.le nombre de cycles pour un programme C, nombre de cycles d'horloge consommés en UC
par le programme.
.le nombre d'instructions du programme I, nombre d'instructions exécutées par le
programme. Si l'on réalise une partition dans le jeu d'instructions, on pourra noter Ii le nombre
d'instructions de type i exécutées par le programme.
CPI = C/I et s'il y a partition :
CPI = {S(CPIixIi)}/I = S (CPIi x Ii/I), les sommes sont de i = 1 à n.
Le nombre de cycles pour le programme est alors : C = S CPIixIi
CPI dépend d'autres composants du systéme, tels que la mémoire et les caches, il ne peut pas étre
calculé à partir des tables de cycles par instruction. Le faire aboutit à des évaluations optimistes. Il
faut le faire à partir de mesures.
Le temps total d'UC peut étre calculé par :
·
l'utilisation des cycles par programme et du temps de cycle T = CxTh = C/Fh.
·
en utilisant le nombre total d'instructions, le nombre de cycles par instruction et le temps de
cycle, on écrit : T = IxCPIxTh = IxCPI/Fh
Avec la partition du jeu d'instructions, on écrit : T = S (CPIixIi)xTh
Exemple d'évaluation :
Dans une UC nommée A, le branchement se fait par le positionnement d'une condition en une
instruction, le test et le branchement lui-méme sont faits en une autre instruction. Le branchement
demande ainsi deux cycles. Toutes les autres instructions demandent un cycle. Dans un programme
20% des instructions sont de tels branchements et 20% sont des placements de conditions. Le temps
de cycle de A est 25% plus rapide que le temps de cycle d'une autre unité centrale nommée B qui fait
le positionnement de la condition et le branchement en une seule instruction. Cette instruction
demande deux cycles, toutes les autres se font en un cycle. Quelle est l'UC la plus rapide é
Calculons :
CPI(A) = S CPIixIi/I = 0,2x2 + 0,2x1 + 0,6x1 = 1,20
T(A) = 1,2xI(A)xTh(A)
Comme l'unité centrale B ne demande pas de positionnement de condition, il y a 20 % d'instructions
en moins, 25% (20/80) sont des branchements qui demandent 2 cycles.
CPI(B) = S CPIixIi/I = 0,25x2 +0,75x1 = 1,25
T(B) = (0,8xI(A))x1,25x(1,25xTh(A))
T(B)/T(A) = (1,25x1,25x0,8)/1,2 = 1,04
A est donc 4% plus rapide que B.
QUELQUES TECHNIQUES D'EVALUATION DES 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.
·
celles qui sont attachées à la machine en tant que telle avec le MIPS,
· celles qui se fondent sur un probléme à traiter unique ou multiple plus ou moins représentatif de
celui des utilisations avec les BANCS D'ESSAIS.
Dés que l'on veut extrapoler le MIPS à une machine méme incompléte, on doit prendre en compte
d'autres facteurs.
Pour le matériel :
Le processeur, le bus par son débit et son temps de latence, la mémoire,les supports externes disques
et disquettes
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.
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.
· On prend une machine unique de référence, par exemple un Vax de DEC pour le MIPS-VAX.
que l'on verra plus loin, et on lui comparera les autres machines.
· On construit des bancs d'essais qui doivent étre neutres vis-à-vis des fournisseurs tout en étant
significatifs pour les utilisateurs. L'AFUU en a recensé environ 200.
Les différents Mips
Voici quelques-unes des significations convenues :
·
Le MIPS de base ; donné sans autre indication, il n'a aucune signification pratique.
· Le MIPS originel ou d'origine (native MIPS) ; il faut, pour l'apprécier, connaître le programme
sur lequel il a été établi et le nombre moyen d'instructions produites par ligne de langage de haut
niveau, puisqu'on exclut le cas de la programmation en assembleur.
· Le MIPS créte (peak MIPS) ; cette expression est utilisée pour des processeurs et non pour des
systémes complets. Le MIPS créte sera le nombre d'instructions les plus courtes dans le meilleur cas
d'utilisation des autres ressources. Cet idéal n'est jamais atteint.
· Le MIPS-Vax a été beaucoup employé. C'était un facteur relatif au Vax 11/780, qui n'avait de
sens que si l'on précisait le langage, le systéme du Vax (Unix ou VMS), son compilateur et le type
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. A 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, 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.
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.
Whetstone
Il a été écrit en 1975 par Curnow et Wichmann du Laboratoire National de Physique de GrandeBretagne. 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.
IBM PC XT sans coprocesseur (8088)
Intel 80486 à 25 MHz
Intel 80486 à 33 MHz
10
6100
8200
Dhrystone
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.
Linpack
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 :
· construit une matrice carrée, A et un vecteur b, les remplissant de valeurs aléatoires.
· résoud le systéme d'équations Ax = b au moyen de l'algorithme d'élimination de Gauss.
· le calcul des temps est fait à l'intérieur de Linpack.
· pour une matrice nxn, le nombre d'opérations en virgule flottante est
2n3/3 + 2n2
Les deux matrices standard sont 100x100 et 1000x1000. Linpack était la référence pour les Cray et
Boucles de Livermore
Les Boucles de Livermore (Lawrence Livermore Loops) ou Noyaux Fortran de Livermore
(Livermore Fortran Kernels), sont constitués 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 (E.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.
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 d'arbre,
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.
Le crible d'Eratosthé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'y a pas de boucle TANT QUE, 50 pour cent des instructions sont
des contrôles de boucles, tous les opérandes sont entiers bien sûr. 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
Doduc
Il est l'œuvre de Nhuan Doduc alors chez Framentec. C'est un programme de 5300 lignes, écrit en
Fortran. Il a été 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 le jeu SPEC ci-dessous. Nhuan Doduc continue à
avoir une activité importante en matiére de bancs d'essais
PEC Systems Performance Evaluation Cooperative effort
C'est une tentative de grande ampleur. Les fondateurs de SPEC sont Apollo, Hewlett-Packard, MIPS et
Sun, plus tard arrivérent AT&T, Bull, CDC, Compaq, Data General, DEC, Dupont, Fujitsu, IBM, Intel,
Intergraph, Motorola, NCR, Siemens Nixdorf, Silicon Graphics, Solbourne, Stardent et Unisys entre
autres.
Cette association est née de la perception des insuffisances de la plupart des bancs d'essais, dont la
petite taille fait qu'ils ne peuvent 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 le programme est court ou long. 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.
L'INFLUENCE DU LANGAGE DE PROGRAMMATION ET DES COMPILATEURS
On a rédigé avec le méme soin quelques programmes et observé leurs temps d'exécution sur le
méme Vax. Au plus la note est élevée, meilleure est la performance. La performance en C a été prise
pour base.
Programme
Recherche
Crible
Puzzle
Ackermann
en Bliss en C
en Pascal
1,24
1,0
0,70
0,63
1,0
0,80
0,77
1,0
0,73
1,20
1,0
0,80
Bliss est le langage de base de la série VAX.
La seule relation d'ordre observable est que Pascal est toujours moins efficace que C. Les
dispersions de performances sont importantes. On en déduit que la part des compilateurs dans les
temps d'exécution est importante.
CONCLUSION SUR LES BANCS D'ESSAIS
· Les fabricants continueront à les utiliser parcequ'ils fournissent un outil neutre en apparence, et
dont la capacité de comparaison trés forte.
· Méme la version du banc est l'objet d'attentions. Il a suffit qu'IBM choisisse la version 1.1 du
Dhrystone pour évaluer son modéle RISC RS6000 pour que Motorola et DEC s'alignent sur la
méme version.
DEUX MOYENS DE COMPARAISON
Premiére méthode, Electre.
Elle date des années 1960. Elle a été inventée par Bernard Roy et appliquée à ses débuts par la
société d'électronique et de mathématiques appliquées (SEMA) pour évaluer conjointement des
projets de recherche. Des logiciels de mise en œuvre sont disponibles à l'université Dauphine.
En usage manuel, la liste des caractéres est portée sur un axe horizontal. Chaque point de l'axe porte
une verticale graduée selon les appréciations possibles du caractére. Ensuite chaque projet est repéré
par la ligne brisée qui joint ses points représentatifs.
Si l'on doit choisir entre 1 et chacun des deux autres, on procédera en relevant séparément les
caractéres pour lesquels 1 surclasse un autre projet et les caractéres où 1 est surclassé par le méme.
La nature des caractéres sera alors prise en compte pour chacun de ces deux relevés.
Exemple : si 1 surclasse 2 en termes de délai d'attente et si la politique choisie est le court terme, 2
sera éliminé par rapport à 1.
Deuxiéme méthode, le graphe de Phil Kiviat.
Elle date des années 1970. Ses prémisses sont les mémes que ceux de la précédente. La présentation
est différente. Au lieu d'aligner les caractéres sur un axe, ils sont portés par des rayons issus d'un
point. Le reste de la démarche est libre.
LA VARIABILITE
Elle ne vise pas la diversité des architectures d'ordinateurs différents mais les caractéres propres à
chacun d'eux.
Téléchargement