Présentation
Auteur(s)
-
René J. CHEVANCE : Consultant - Chargé de mission au Centre d’étude pour la maîtrise des systèmes et du logiciel (CMSL) - Professeur associé au Conservatoire national des arts et métiers (CNAM)
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
La performance des systèmes ne peut s’exprimer par la simple liste des performances élémentaires (processeur, mémoire, entrées-sorties, disques, etc.). Ces chiffres, pour utiles qu’ils soient, ne reflètent pas la performance des systèmes sur des applications concrètes et ne permettent pas des comparaisons entre différents systèmes. Devant le besoin exprimé par les utilisateurs d’effectuer ces comparaisons, les acteurs du domaine (constructeurs informatiques, fournisseurs de systèmes d’exploitation ou de middlewares, tels que systèmes de gestion de bases de données, moniteurs transactionnels ou serveurs web) ont défini en commun des bancs d’essai de performance (« benchmarks ») pour différents types d’applications des systèmes. Nous désignons sous les termes banc d’essai de performance (benchmark dans la littérature anglo-saxonne, que nous traduirions plus volontiers par étalon de performance), une spécification – qui peut être accompagnée de programmes en langage source – définissant de façon précise les conditions dans lesquels les mesures doivent être réalisées. Ils sont censés être représentatifs des cas d’utilisation concrets. Nous reviendrons à la fin de cet article sur la représentativité de ces bancs d’essai et sur les interprétations qu’il convient d’en faire.
Nous examinons ici successivement les performances au niveau processeur et au niveau système (serveurs et stations de travail, PC essentiellement). Nous ne traitons pas en détail les bancs d’essai relatifs aux applications de type traitement numérique intensif.
Par ailleurs Méthodologie en matière de performance des systèmes, nous proposons une méthodologie pour aborder les aspects performance dans les projets, ainsi que l’analyse opérationnelle. C’est une technique simple qui permet de prédire, à partir de données pouvant être aisément obtenues, le comportement d’un système et ses limites. Puis nous abordons les techniques de gestion et de prévision de la charge des systèmes (« capacity planning »).
Cet article s’inspire étroitement de l’un des chapitres de l’ouvrage « Serveurs multiprocesseurs, clusters et architectures parallèles » que l’auteur a publié chez Eyrolles en 2000 . Le contenu a toutefois été complété pour rendre compte des évolutions intervenues depuis la rédaction de l’ouvrage et intégrer les bancs d’essai de performances pour les PC.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
1. Définitions
Bien que la performance des systèmes s’exprime à l’aide de chiffres, nous n’en donnerons pas ici pour la simple raison qu’ils sont constamment mis à jour. Nous nous contenterons de donner les adresses des sites web sur lesquels des résultats sont publiés. Nous encourageons le lecteur intéressé par la performance à les visiter.
Distinguons deux niveaux d’expression de la performance : la performance au niveau des processeurs et la performance au niveau du système. La performance au niveau des processeurs caractérise la puissance de traitement pour des applications qui ne mettraient en jeu que le processeur. La performance au niveau du système vise à exercer les différents éléments qui concourent à la performance globale, tels que système d’exploitation, SGBD et certains middlewares, sous-systèmes d’entrées-sorties, comme les disques ou les communications. Nous les examinerons successivement. La figure 1 illustre ces deux niveaux d’expression de la performance dans le cas d’un serveur.
La performance au niveau processeur ne caractérise qu’un très petit nombre d’éléments. Les éléments qui contribuent à la performance des processeurs proprement dits sont :
-
le compilateur, et plus particulièrement l’optimisation du code qu’il engendre. Les compilateurs les plus performants optimisent le code non seulement au niveau des constructions proches du langage source mais aussi au niveau machine, en prenant en compte les spécificités des processeurs (structure du pipeline, par exemple) ;
-
la qualité des bibliothèques de support des programmes à l’exécution (souvent appelé runtime ) ;
-
le processeur proprement dit ;
-
la conception de la hiérarchie de mémoire et plus particulièrement des caches (temps d’accès aux caches et taux de succès pour les accès aux caches).
Pour les bancs d’essai de type SPEC (plus précisément, pour les bancs d’essai de SPEC qui servent à évaluer la performance au niveau processeur), il convient de noter que les caractéristiques de la mémoire n’interviennent pratiquement pas. En effet, les programmes et leurs données sont pratiquement résidents dans les caches sitôt que leur capacité dépasse le million d’octets. L’aspect multiprocesseur...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Définitions
BIBLIOGRAPHIE
-
(1) - CHEVANCE (R.J.) - Serveurs multiprocesseurs, clusters et architectures parallèles. - Eyrolles (2000).
-
(2) - * - http://www.spec.org
-
(3) - HENNING (J.L.) - SPEC CPU2000 : Measuring CPU Performance in the New Millenium. - IEEE Computer, 28‐35, juil. 2000.
-
(4) - * - http://www.openmp.org
-
(5) - * - http://www.tpc.org
-
(6) - * - http://www.bapco.com
-
(7) - * - http://www.madonion.com
-
...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive