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 dépend d’un grand nombre de paramètres et n’est donc pas simple à appréhender. C’est certainement la raison pour laquelle l’aspect performance dans les projets est souvent traité comme un parent pauvre. L’on ne s’y intéresse qu’en dernier ressort et bien souvent lorsque des problèmes se posent. Il résulte souvent de ce traitement tardif et « à chaud » des résultats médiocres, voire désastreux, pour l’architecture du système. La recherche de meilleures performances conduit souvent à déstructurer le système : des niveaux de virtualisation, qui avaient été introduits pour assurer une certaine indépendance vis-à-vis du matériel ainsi qu’entre les modules logiciel, sont purement et simplement supprimés. Les solutions apportées ne sont que partielles, conduisent bien souvent à une augmentation des coûts et des délais et ont un impact négatif sur la maintenance du système.
L’absence de maîtrise des performances rend difficile la prévision du comportement du système face à des changements tant dans les missions qu’il doit remplir que dans les mutations technologiques qui lui seront apportées au cours de son existence (comme l’incidence d’un changement de processeur ou de réseau local sur le temps de réponse du système). Cette absence de maîtrise rend en outre difficile l’analyse des problèmes de performance rencontrés dans la vie du système.
Nous proposons une méthodologie permettant de traiter, dans le cadre de projets, la performance au moyen de techniques de modélisation.
La modélisation des systèmes informatiques permet d’étudier le comportement des systèmes sur des modèles et non sur le système lui-même. De cette façon, il est possible de prévoir le comportement du système vis-à-vis de changements dans ses missions ou dans les technologies utilisées pour sa réalisation. L’alimentation de tels modèles nécessite des données, qui sont fournies par des mesures ou des estimations. La modélisation et la mesure sont deux activités distinctes mais complémentaires. Elles sont nécessaires à l’activité de l’architecte système, et elles apportent l’aspect quantitatif à une activité qui a quelquefois tendance à se cantonner au qualitatif. La modélisation peut s’appliquer tout au long du cycle de vie du système : depuis la phase de conception jusqu’à la vie opérationnelle du système. En ce qui concerne la vie opérationnelle du système, on peut remarquer que celui-ci est soumis à des demandes de modification de mission (services qu’il doit rendre) ainsi qu’à des modifications de sa technologie (rajeunissement de certains composants rendu nécessaire par leur retrait du marché). Il est utile, pour maîtriser de tels changements, d’évaluer a priori et donc de valider l’impact des changements sur le comportement du système avant de les appliquer.
En résumé, on peut caractériser l’apport de la modélisation aux différentes phases de la vie d’un système de la façon suivante :
-
phase de conception :
-
choix entre différents types d’architecture,
-
dimensionnement des différents composants du système,
-
étude de la sensibilité du comportement du système à différents paramètres ;
-
-
phase d’implémentation :
-
analyse de l’impact de modifications d’architecture ou de dimensionnement de composants,
-
analyse de l’impact de non-atteinte d’objectifs de performance sur la performance globale du système ;
-
-
phase d’exploitation :
-
analyse de l’impact de changements de mission ou de remplacement de composants,
-
aide à l’analyse de problèmes de performance rencontrés.
-
On peut distinguer trois grandes approches méthodologiques dans le domaine de la performance :
-
l’intuition ;
-
les mesures ;
-
la modélisation.
L’intuition se fonde sur l’expérience. Elle est peu coûteuse mais ses possibilités sont limitées tant en ce qui concerne la fiabilité que la complexité. En effet, malgré l’expérience, les erreurs sont possibles et, au-delà d’une certaine complexité, il n’est plus possible de répondre.
En revanche, les mesures ne souffrent pas de l’imprécision mais elles sont difficiles à mettre en œuvre et elles représentent un coût important. L’interprétation des mesures n’est pas aisée car on néglige souvent le fait qu’une bonne interprétation des résultats passe par la compréhension de la dynamique du système. L’inconvénient majeur de cette approche réside dans le fait que le système doit exister (ou du moins dans un état de développement suffisamment avancé pour que les mesures puissent être représentatives du comportement du système).
La modélisation peut être vue comme un compromis entre l’intuition et la mesure. Elle est plus fiable que l’intuition car elle se fonde sur la dynamique du système et elle permet de détecter des effets secondaires. Elle est plus souple que les mesures car l’étude de l’incidence de modifications ne nécessite que le changement du modèle et/ou de ses paramètres. Elle présente l’avantage majeur, par rapport aux mesures, de ne pas impliquer l’existence du système.
Notre exposé est concentré sur la modélisation de la performance des systèmes. Mentionnons que la démarche proposée s’applique aussi bien à la disponibilité des systèmes (estimation de l’impact d’une stratégie de réparation d’un système sur sa disponibilité, par exemple) qu’à l’estimation des coûts et des délais de développement. En matière de performance, l’ouvrage de référence est .
Un modèle permet d’étudier et de valider l’impact de modifications sur le modèle et non plus sur le système. La technique de modélisation présentée s’appuie sur les réseaux de files d’attente. Les stratégies de modélisation sont ensuite appliquées à deux cas extrêmes : le développement d’un système à partir d’une « feuille blanche » et à partir d’un système existant. La réalité se situe entre ces deux extrêmes et la démarche à mettre en œuvre s’inspire de celles présentées pour ces deux cas. Les critères de choix d’une stratégie de modélisation sont présentés. Nous introduisons ensuite l’analyse opérationnelle qui est une technique permettant, à partir de mesures, de dériver des conclusions fort utiles. Quelques indications sur les outils qui permettent, sur des systèmes d’exploitation standard, d’obtenir les chiffres nécessaires à la mise en œuvre de l’analyse opérationnelle sont données. Un certain nombre de règles empiriques ont été proposées pour le dimensionnement des systèmes. La méthodologie de prévision de la charge conclue l’exposé.
Cet article est repris quasi intégralement de l’un des chapitres de l’ouvrage « Serveurs multiprocesseurs, clusters et architectures parallèles » que l’auteur a publié chez Eyrolles en 2000 . Par rapport au texte publié dans cet ouvrage, différents éléments, en provenance d’autres chapitres du même ouvrage ainsi que d’autres sources, ont été ajoutés pour donner le contexte nécessaire à un article indépendant d’une part et pour refléter les derniers développements d’autre part.
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
4. Obtention de mesures
Il existe une grande variété d’outils d’analyse de performance. Nous n’allons pas les passer en revue mais simplement nous contenter de rappeler que les systèmes standards (Unix et NT) intègrent des outils de mesure qui fournissent des valeurs utiles à l’analyse de performance, qu’il s’agisse d’analyser le fonctionnement d’un système, de la construction d’un modèle du système ou encore de l’obtention des chiffres nécessaires à l’analyse opérationnelle. Nous allons ici présenter brièvement le cas de NT.
L’outil de Windows 2000 est Performance Monitor. Il fournit des mesures telles que :
-
pour les disques logiques et physiques :
-
le nombre de transferts disques par seconde,
-
la durée moyenne d’un transfert disque,
-
la longueur moyenne de la file d’attente,
-
le taux d’occupation ;
-
-
pour les processeurs : le taux d’occupation (avec le détail du pourcentage passé en mode utilisateur et en mode système) ;
-
pour la mémoire :
-
le nombre de pages échangées par seconde,
-
le nombre moyen d’octets de mémoire disponibles,
-
le taux d’occupation du fichier dédié à la pagination ;
-
-
pour le système : la longueur moyenne de la file d’attente « processeur » ;
-
pour le réseau : le taux d’occupation.
Si l’on prend la précaution de placer le système dont on désire étudier le comportement dans des conditions de charge de travail répétitive (la même charge de travail soumise par un simulateur de charge semble être la bonne démarche) et sur une période de temps suffisamment importante (vis-à-vis du temps de traitement de la transaction ou de la requête que l’on souhaite étudier) pour que des hypothèses telles que celles de l’analyse opérationnelle s’appliquent (égalité du nombre d’arrivées et du nombre de sorties dans le système), on dispose de...
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
Obtention de mesures
BIBLIOGRAPHIE
-
(1) - CHEVANCE (R.J.) - Serveurs multiprocesseurs, clusters et architectures parallèles. - Eyrolles (2000).
-
(2) - JAIN (R.) - The Art of Computer Systems Performance Analysis. - John Wiley & Sons (1991).
-
(3) - KÉRYVEL (G.) (CNAM Versailles et Saclay) - * - Communication personnelle.
-
(4) - * - Articles parus dans Windows 2000 Magazine et disponibles sur le site http://www.ntmag.com/Articles
-
(5) - GRAY (J.), SHENOY (P.) - Rules of Thumb in Data Engineering. - IEEE International Conference on Data Engineering, San Diego avril 2000.
-
(6) - CHEVANCE (R.J.) - Performance des processeurs et des systèmes. - H 2 546, traité Informatique (2001).
-
...
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