Techniques de l'Ingénieur
· Méthodologie en matière de performance des systèmes 2002 (article)
1. Concept de modèle
1.1 Développement à partir dune « feuille
blanche »
1.2 Développement à partir dun système existant
2. Stratégie de modélisation
3. Analyse opérationnelle
3.1 Définition
3.2 Exemple
4. Obtention de mesures
5. Règles empiriques de dimensionnement des systèmes
6. Prévision de la charge
7. Conclusion
Bibliographie
La performance des systèmes dépend dun grand nombre de paramètres et nest donc pas simple à appréhender. Cest certainement la raison pour laquelle laspect performance dans les projets est souvent traité comme un parent pauvre. Lon ne sy intéresse quen 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 larchitecture 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 quentre 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.
Labsence de maîtrise des performances rend difficile la prévision du comportement du système face à des changements tant dans les missions quil doit remplir que dans les mutations technologiques qui lui seront apportées au cours de son existence (comme lincidence dun 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 lanalyse 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. Lalimentation 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 à lactivité de larchitecte système, et elles apportent laspect quantitatif à une activité qui a quelquefois tendance à se cantonner au qualitatif. La modélisation peut sappliquer 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 quil 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 limpact des changements sur le comportement du système avant de les appliquer.
En résumé, on peut caractériser lapport de la modélisation aux différentes phases de la vie dun système de la façon suivante :
- phase de conception :
- choix entre différents types darchitecture,
- dimensionnement des différents composants du système,
- étude de la sensibilité du comportement du système à différents paramètres ;
- phase dimplémentation :
- analyse de limpact de modifications darchitecture ou de dimensionnement de composants,
- analyse de limpact de non-atteinte dobjectifs de performance sur la performance globale du système ;
- phase dexploitation :
- analyse de limpact de changements de mission ou de remplacement de composants,
- aide à lanalyse de problèmes de performance rencontrés.
On peut distinguer trois grandes approches méthodologiques dans le domaine de la performance :
- lintuition ;
- les mesures ;
- la modélisation.
Lintuition se fonde sur lexpé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é lexpérience, les erreurs sont possibles et, au-delà dune certaine complexité, il nest plus possible de répondre.
En revanche, les mesures ne souffrent pas de limprécision mais elles sont difficiles à mettre en uvre et elles représentent un coût important. Linterprétation des mesures nest pas aisée car on néglige souvent le fait quune bonne interprétation des résultats passe par la compréhension de la dynamique du système. Linconvé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 lintuition et la mesure. Elle est plus fiable que lintuition 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 lincidence de modifications ne nécessite que le changement du modèle et/ou de ses paramètres. Elle présente lavantage majeur, par rapport aux mesures, de ne pas impliquer lexistence du système.
Notre exposé est concentré sur la modélisation de la performance des systèmes. Mentionnons que la démarche proposée sapplique aussi bien à la disponibilité des systèmes (estimation de limpact dune stratégie de réparation dun système sur sa disponibilité, par exemple) quà lestimation des coûts et des délais de développement. En matière de performance, louvrage de référence est [2].
Un modèle permet détudier et de valider limpact de modifications sur le modèle et non plus sur le système. La technique de modélisation présentée sappuie sur les réseaux de files dattente. Les stratégies de modélisation sont ensuite appliquées à deux cas extrêmes : le développement dun système à partir dune « feuille blanche » et à partir dun système existant. La réalité se situe entre ces deux extrêmes et la démarche à mettre en uvre sinspire de celles présentées pour ces deux cas. Les critères de choix dune stratégie de modélisation sont présentés. Nous introduisons ensuite lanalyse 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 dexploitation standard, dobtenir les chiffres nécessaires à la mise en uvre de lanalyse 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 lexposé.
Nota : Cet article est repris quasi intégralement de
lun des chapitres de louvrage « Serveurs multiprocesseurs,
clusters et architectures parallèles » que lauteur
a publié chez Eyrolles en 2000 [1]. Par rapport au texte publié
dans cet ouvrage, différents éléments, en provenance
dautres chapitres du même ouvrage ainsi que dautres
sources, ont été ajoutés pour donner le contexte
nécessaire à un article indépendant dune
part et pour refléter les derniers développements dautre
part.
· Performance des processeurs et des systèmes 2001 (article)
1. Définitions
2. Niveau processeur
3. Serveurs
3.1 Bancs dessai SPEC
3.1.1 SPEC SFS97
3.1.2 SPECweb99
3.1.3 SPECjvm98
3.1.4 SPEChpc96
3.1.5 SPEComp2001
3.1.6 SPECmail2001
3.2 TPC
3.2.1 TPC-C, banc dessai transactionnel
3.2.2 TPC-H et TPC-R, bancs dessai décisionnels
3.2.3 TPC-W, applications commerciales sur le web
3.2.4 Une tentative intéressante : le TPC-E
4. Stations de travail
4.1 BAPCo SYSmark 2000
4.2 BAPCo/MadOnion.com, WebMark 2001
4.3 Ziff-Davis
5. Conclusion concernant les bancs dessai
Bibliographie
La performance des systèmes ne peut sexprimer par la simple liste des performances élémentaires (processeur, mémoire, entrées-sorties, disques, etc.). Ces chiffres, pour utiles quils 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 deffectuer ces comparaisons, les acteurs du domaine (constructeurs informatiques, fournisseurs de systèmes dexploitation 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 dessai de performance (« benchmarks ») pour différents types dapplications des systèmes. Nous désignons sous les termes banc dessai 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 dutilisation concrets. Nous reviendrons à la fin de cet article sur la représentativité de ces bancs dessai et sur les interprétations quil convient den 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 dessai relatifs aux applications de type traitement numérique intensif.
Par ailleurs [H 2 548], nous proposons une méthodologie pour aborder les aspects performance dans les projets, ainsi que lanalyse opérationnelle. Cest une technique simple qui permet de prédire, à partir de données pouvant être aisément obtenues, le comportement dun système et ses limites. Puis nous abordons les techniques de gestion et de prévision de la charge des systèmes (« capacity planning »).
Nota : Cet article sinspire étroitement de lun
des chapitres de louvrage « Serveurs multiprocesseurs, clusters
et architectures parallèles » que lauteur a publié
chez Eyrolles en 2000 [1]. Le contenu a toutefois été
complété pour rendre compte des évolutions intervenues
depuis la rédaction de louvrage et intégrer les
bancs dessai de performances pour les PC.
· Serveurs multiprocesseurs et SGBD parallélisés 2001 (article)
1. Introduction aux applications des SGBD
2. Options darchitecture
2.1 Serveurs multiprocesseurs
2.2 Options darchitecture pour la liaison serveur/disques
3. Introduction au parallélisme et problématique des SGBD
parallélisés
3.1 Éléments dintroduction au parallélisme
3.2 Définition des systèmes parallèles
3.3 Architectures de systèmes
4. Architecture des SGBD parallélisés
4.1 Exécution des requêtes
4.2 Partitionnement des données
5. IBM DB2 Universal Database Enterprise-Extended Edition
6. Oracle Parallel Server
6.1 Terminologie propre à Oracle
6.2 Description dOPS
7. NCR WorldMark 5250
8. Comparaison des architectures
8.1 Comparaison de lefficacité des SMP et des clusters
8.2 Comparaison des options darchitecture pour la liaison système/disque
9. Conclusion
Pour en savoir plus
De plus en plus dapplications sappuient sur des systèmes
de gestion de bases de données (SGBD). La performance des systèmes
et leur disponibilité sont devenues des éléments
clés pour le choix des systèmes et des SGBD, cest
la raison pour laquelle les SGBD cherchent à tirer le meilleur
profit des ressources matérielles qui sont mises à leur
disposition.
Cet article présente les différentes approches mises en uvre au sein des SGBD actuellement commercialisés.
On examine les différentes options en matière darchitecture de système ainsi que la relation entre les SGBD et le stockage des données. Ces différentes options sont détaillées et leurs conditions dutilisation sont analysées.
Nota : Cet article est repris quasi intégralement dun
des chapitres de louvrage du même auteur « Serveurs
multiprocesseurs, clusters et architectures parallèles »
[4] :Différents éléments, en provenance dautres
chapitres du même ouvrage, ont été ajoutés
pour donner le contexte nécessaire à un article indépendant.
Par ailleurs, des mises à jour ont été faites pour
refléter les derniers développements.La part de larticle
consacrée à Oracle est plus importante que celle consacrée
à DB2 Universal Database Enterprise-Extended Edition ce qui ne
reflète pas une différence dappréciation
entre ces produits mais est simplement dû au fait que lauteur
a eu accès à plus dinformations sur Oracle.
· Microprocesseurs - Mise en oeuvre et exemples
d'application 2000 (article)
Actualisé par Dominique HOUZET
1. Packaging
2. Méthodes et outils de développement
2.1 Matériel
2.2 Logiciel
2.3 Boundary scan (registre à décalage périphérique)
2.4 Capacité d"autotest
3. Critères de choix d"une architecture et évaluation
4. Perspectives
4.1 Utilisateurs
4.2 Producteurs
5. Exemples d"application
5.1 Station de travail d"entrée de gamme
5.2 Contrôleur d"imprimante laser
5.3 Applications dans le domaine de l"ATM
Pour en savoir plus
L"objectif de cet article est de permettre au lecteur d"apprécier l"intérêt des microprocesseurs en illustrant à l"aide d"exemples les aspects pratiques de leur utilisation.
Le premier point concerne leur mise en uvre matérielle qui se traduit par la réalisation physique des composants, qui n"est pas abordée ici, et par leur mise en boîtier, présentée dans le premier paragraphe. La technologie des boîtiers de circuits intégrés est en évolution constante. Ce paragraphe se propose d"en présenter les différentes orientations.
La mise en uvre pratique des microprocesseurs passe d"une part par l"utilisation d"outils de développement, et d"autre part par le choix du microprocesseur lui-même. Ce choix est guidé par de nombreux critères qui sont détaillés dans cet article. Les outils et méthodes de développement des microprocesseurs concernent à la fois la mise en uvre matérielle de la carte électronique et celle du logiciel exécuté sur le microprocesseur choisi. Ces différents moyens de développement sont présentés dans le second paragraphe.
Les progrès sans cesse croissants de la technologie permettent aux concepteurs d"innover en termes d"architecture de microprocesseurs. L"évolution des caractéristiques des microprocesseurs est liée à de nombreux facteurs qui permettent d"anticiper et donc de mieux gérer les adaptations nécessaires des systèmes à base de microprocesseurs.
L"intérêt des microprocesseurs sera illustré grâce à plusieurs exemples d"applications architecturées autour d"un microprocesseur standard. Il s"agit en particulier d"une station de travail d"entrée de gamme, d"un contrôleur d"imprimante laser et d"un routeur de réseau ATM. Ces trois exemples sont significatifs des types d"applications nécessitant la mise en uvre de microprocesseurs.
· Systèmes à haute disponibilité - Solutions 1999 (article)
1. Solutions de type matériel à la continuité
de service
1.1 Pair and Spare de Stratus
1.2 Système Integrity S4000 de Tandem
1.3 Système NETRA ft 1800 de Sun Microsystem
1.4 Système Integrity S2 de Tandem à vote majoritaire
1.5 Sous-systèmes RAID
2. Solutions de type logiciel à la continuité de service
2.1 Système NonStop Himalaya S7000 de Tandem
2.2 Solutions de type Cluster (NT/UNIX)
2.2.1 Généralités
2.2.2 Exemple de cluster UNIX - IBM HACMP/Bull Power Cluster
2.2.3 Microsoft Cluster Server (MSCS)
2.3 SafeTech
3. Évaluation de la disponibilité des systèmes
3.1 Prévision des fautes : AMDEC et arbre de défaillances
3.1.1 AMDEC et AEEL
3.1.2 Arbre de défaillance
3.2 Évaluation quantitative de la disponibilité
3.2.1 Chaînes de Markov
3.2.2 Modèles de croissance de la fiabilité du logiciel
4. Recouvrement après catastrophe
5. Synthèse et perspectives
5.1 Synthèse
5.2 Perspectives
Pour en savoir plus
On a choisi dans cet article, après avoir rappelé les concepts de base dans [H 2 508], de se concentrer sur les solutions permettant de construire des systèmes à haute disponibilité.
L'exposé est volontairement limité aux solutions applicables à la plupart des systèmes informatiques des entreprises. Ainsi, les solutions pour les systèmes à très forte criticité tels les systèmes de pilotage de processus de production chimique, de contrôle du fonctionnement de centrales nucléaires, de pilotage d'avions ou de véhicules ne sont pas abordées dans cet article.
Dans les paragraphes 1. et 2. sont exposées les solutions proposées par les constructeurs de systèmes informatiques et les fournisseurs de systèmes d'exploitation. On a classé ces solutions en deux grandes catégories :
les solutions de type matériel à la continuité
de service ;
les solutions de type logiciel à la continuité de service.
Comme on le verra, l'une des solutions proposées 2.1. allie les
deux approches : solution de type matériel complétée
par une solution de type logiciel.
En général, ces solutions ont en commun, au niveau de la plate-forme système, le recours systématique aux techniques de masquage telles que les codes détecteurs/correcteurs d'erreurs, les chemins doubles entre les ressources matérielles...
Les solutions de type matériel ont pour objectif la tolérance aux défaillances du matériel. Elles utilisent la redondance. Les défaillances au niveau du matériel ne sont pas visibles des applications (si ce n'est un temps de réponse sensiblement accru lors de l'occurrence d'une telle défaillance, ce temps de réponse redevient ensuite tout à fait normal). Ce type de solution ne permet pas de masquer les défaillances du logiciel.
Les solutions de type logiciel ont le double objectif de tolérer à la fois les défaillances du matériel et aussi les défaillances du logiciel. En ce qui concerne le logiciel, qu'il soit système ou d'application, la tolérance aux fautes concerne essentiellement les fautes de type Heisenbug (fautes transitoires).
Il convient de noter que toutes les marques citées dans cet
article sont la propriété de leurs titulaires respectifs.
· Systèmes à haute disponibilité - Concepts 1999 (article)
1. Définitions et classement
2. Terminologie et concepts de base
2.1 Définitions
2.2 Concepts de base
2.3 Grandeurs caractéristiques de la disponibilité des
systèmes
2.4 Mesures
2.4.1 Mesures liées au concept de service
2.4.2 Mesures liées au concept de défaillance
2.4.3 Mesures liées au concept de défaut
2.4.4 Mesures liées au concept de maintenabilité d'un
système
2.4.5 Mesures liées au concept de disponibilité d'un système
2.5 Analyse des causes des défaillances
2.6 Modes de défaillance
2.7 Choix des composants à rendre disponibles
3. Principes de conception et introduction aux solutions
3.1 Concept d'état d'un système
3.2 Principes
3.2.1 Modularité
3.2.2 Fail Fast
3.2.3 Indépendance des modes de défaillance
3.2.4 Redondance et réparation
3.2.5 Elimination des points de défaillance uniques
3.3 Application au logiciel
3.4 Application au matériel
Pour en savoir plus
De plus en plus les activités sont dépendantes de ressources informatiques. La disponibilité de ces ressources informatiques, c'est-à-dire leur capacité à assurer le service spécifié et le degré de confiance que l'utilisateur peut accorder aux services rendus par les systèmes informatiques sont devenus des exigences des utilisateurs et donc des propriétés essentielles de ces systèmes.
Les systèmes informatiques étant sujets aux défaillances, les concepteurs de ces systèmes ont recherché les moyens de pallier ces défaillances.
Le concept de sûreté de fonctionnement est né au cours des années 1980 pour caractériser ce besoin. La sûreté de fonctionnement d'un système est la propriété qui permet à un utilisateur de placer une confiance justifiée dans le service que ce système délivre. C'est la propriété et les caractéristiques d'une entité ayant rapport au temps qui lui confère l'aptitude à satisfaire les besoins exprimés ou implicites pour un intervalle de temps donné et des conditions d'emploi fixées (X 50-125, norme de management de la qualité et de l'assurance de la qualité, standard ISO 8402). C'est l'ensemble des aptitudes d'un produit lui permettant de disposer des performances fonctionnelles spécifiées, au moment voulu, pendant la durée prévue, sans dommage pour lui-même et pour son environnement.
On appelle critique une fonction d'un système ou d'un sous-système pour laquelle la propriété de sûreté de fonctionnement est une contrainte stricte. En d'autres termes, un défaut de fonctionnement peut entraîner la perte de la mission ou des dommages inadmissibles sur le système ou son environnement.
Dans l'article [H 2 509] sont exposées les solutions proposées par les constructeurs de systèmes informatiques et les fournisseurs de systèmes d'exploitation.
Nota : Il convient de noter que toutes les marques citées dans cet article sont la propriété de leurs titulaires respectifs.
· Microprocesseurs 1998 (article)
· Microprocesseurs. Performances et méthodes de développement 1998 (article)
1. Indicateurs de performance
1.1 Performance au niveau des processeurs (SPEC)
1.2 Performance au niveau système
1.2.1 SPEC
1.2.2 TPC
2. Méthodes et outils de développement
2.1 Méthodes et outils de développement du matériel
2.2 Méthodes et outils de développement du logiciel
2.3 Boundary Scan (JTAG)
2.4 Capacité dautotest
3. Critères de choix dune architecture de microprocesseur
4. Perspectives
4.1 Utilisateurs de microprocesseurs
4.2 Producteurs de microprocesseurs
4.3 Point de vue économique
4.4 Point de vue de la technologie
4.5 Point de vue des concepteurs
Pour en savoir plus
Cet article présente les différents étalons permettant dexprimer la performance, tant au niveau des microprocesseurs, quau niveau des systèmes. Sont ensuite donnés les méthodes et outils utilisés pour le développement et la mise au point de systèmes à base de microprocesseurs. Les critères de choix dune architecture de microprocesseur vis-à-vis dun besoin exprimé et une méthodologie sont ensuite présentés. Larticle se termine par une perspective en ce qui concerne les microprocesseurs.
· Microprocesseurs - Exemples d'architectures 1998 (article)
1. Architecture Intel IA 32
1.1 Représentation des données
1.2 Instructions de lIA-32
1.3 Description dune implémentation de lIA-32 : le
Pentium II
1.4 Support multiprocesseur
2. Architecture du PowerPC
2.1 Représentation des données
2.2 Instructions du PowerPC
2.3 Description dune implémentation du PowerPC : le 604e
2.4 Support multiprocesseur
Pour en savoir plus
Dans cet article, on a choisi dillustrer notre propos avec les microprocesseurs des deux familles les plus importantes en termes de part de marché que sont IA-32 et PowerPC. Bien évidemment ce choix ne saurait constituer un jugement de valeur, en particulier vis-à-vis des qualités des autres familles de microprocesseurs.
· Microprocesseurs - Architectures et performances 1998 (article)
1. Architecture des microprocesseurs
1.1 Adressage
1.1.1 Structuration de lespace dadresse
1.1.2 Protection
1.1.3 Notions dadressage et de mémoire virtuelle
1.1.4 Mécanismes de support de la mémoire virtuelle
1.1.5 Vision système de lespace dadressage
1.2 Architecture des répertoires dinstructions
1.2.1 Types de données manipulées
1.2.2 Représentation des données
1.2.3 Modes dadressage
1.2.4 Instructions
1.3 Entrées-sorties
1.4 Concept de cache
1.5 Support des architectures multiprocesseurs
2. Techniques damélioration de la performance
2.1 Structures : pipeline et superscalaire
2.1.1 Machine de base avec pipeline
2.1.2 Machine superscalaire
2.1.3 Variations sur les principes pipeline et superscalaire
2.1.4 Comparaison des structures superscalaire et superpipeline
2.2 Machine VLIW
2.3 Exécution spéculative
2.4 Exécution dans le désordre
2.5 Prédiction de branchement
2.6 Renommage de registres
Pour en savoir plus
Lobjectif de cet article est de donner une synthèse des éléments les plus importants en matière darchitecture des microprocesseurs. Si les ressources limitées de la technologie des microprocesseurs avaient conduit les concepteurs des premiers microprocesseurs à en limiter le niveau de fonctionnalité, les progrès de cette même technologie font que la progression en matière darchitecture de système a été bien plus importante au niveau des microprocesseurs que de toute autre implémentation des architectures. Ainsi, les microprocesseurs de haut de gamme actuels mettent en uvre des techniques damélioration des performances qui avaient été introduites dans les super-ordinateurs des années 1960 (caches, pipeline, unités fonctionnelles multiples, exécution spéculative...).
Il convient aussi de souligner que les architectures de mainframes et de mini-ordinateurs ont été implémentées sous forme de microprocesseurs dans le but de réduire les coûts de fabrication de ces systèmes. Toutefois, les implémentations des architectures « propriétaires » sous forme de microprocesseur ne se sont pas traduites par une ouverture de ces architectures (nouvelles applications, élargissement de la base de clientèle...).
Cette introduction à larchitecture des microprocesseurs ne fait pas seulement référence aux seuls microprocesseurs, mais place ceux-ci dans le contexte plus général de lévolution de larchitecture des processeurs.
Il convient de rappeler que la quasi-totalité des techniques damélioration de la performance utilisées dans les microprocesseurs ont été initialement introduites dans les machines de haut de gamme ! Cette simple remarque pour nous rappeler « quil na pas que du nouveau sous le soleil », mais que les progrès de la technologie rendent maintenant des techniques, autrefois réservées à des systèmes très coûteux, applicables à des objets sapprochant de la grande diffusion.
· Microprocesseurs - Classification des architectures 1998 (article)
1. Classification des architectures de microprocesseurs
1.1 Caractéristiques générales des microprocesseurs
1.2 Équation de base de la performance
1.3 Classification des architectures
1.3.1 Classification en fonction des caractéristiques de larchitecture
1.3.2 Classification en fonction de lutilisation
1.4 Historique des architectures RISC
1.5 Concepts de IA-64 (EPIC)
2. Relation des architectures de microprocesseur avec le logiciel
2.1 Compilateurs
2.2 Systèmes dexploitation
2.3 Niveaux de compatibilité
2.4 Migration darchitectures
Pour en savoir plus
Après une caractérisation des microprocesseurs, cet article présente une classification des architectures, tout dabord en fonction de leur type darchitecture puis de leur usage. Les architectures de type RISC (Reduced Instruction Set Computer) (machines à jeu dinstructions réduit) ont été ces dernières années un facteur déterminant de laugmentation de la performance des microprocesseurs, aussi il nous a semblé utile den rappeler ici lhistoire. Ce paragraphe se termine par une présentation des concepts de larchitecture IA-64 présentée par Intel et HP en octobre 1997.
On explicite ensuite les relations qui existent entre les architectures de microprocesseur et le logiciel de base : compilateurs et systèmes dexploitation. Les différents niveaux de compatibilité et leurs implications sont ensuite discutés. Larticle se termine par une description des techniques de migration darchitectures, cest-à-dire des techniques qui permettent de supporter sur une architecture des programmes au niveau binaire qui fonctionnaient sur une autre architecture. Ce genre de technique permet dexploiter le potentiel de performance des nouvelles architectures (et de leurs implémentations) pour « récupérer » lexistant.
· Microprocesseurs - Introduction 1998 (article)
1. Évolution technologique
2. Évolution des performances
3. Marché des microprocesseurs
Dans ces articles, les microprocesseurs sont abordés sous langle
de leur architecture et de leur utilisation et non pas sous langle
de la technologie et des processus industriels qui en permettent lexistence.
En particulier, les relations avec le logiciel : systèmes
dexploitation et compilateurs y sont abordés.
Le terme architecture fait référence au répertoire dinstructions utilisable par les programmeurs : cest linterface entre le matériel et le logiciel. On parle, aussi dimplémentation dune architecture : ce terme désigne une réalisation particulière dune architecture, ici sous la forme dun microprocesseur. Une même architecture est susceptible davoir plusieurs implémentations répondant par exemple à des objectifs différents en matière de performance, de consommation dénergie Du point de vue du logiciel d'application, ces différentes implémentations sont compatibles. Ainsi, des systèmes fondés sur des implémentations différentes peuvent exécuter les mêmes programmes.
Devant la variété des microprocesseurs disponibles et plutôt que de traiter superficiellement lensemble du sujet, après lexposé général de chacun des aspects, sont développés les microprocesseurs de haut de gamme.
· Architecture des serveurs 1997 (article)
1. Analyse des besoins
2. Évolution des technologies
2.1 Performance
2.1.1 Processeurs
2.1.2 Mémoires
2.2 Hiérarchie de mémoire
2.3 Parallélisme
2.4 Contrainte de compatibilité binaire
2.5 Architecture 64 bits
2.6 Systèmes dexploitation
2.7 Sous-systèmes de stockage
2.8 Sous-systèmes de communication
3. Options darchitecture
3.1 Multiprocesseurs symétriques (SMP)
3.2 Clusters
3.3 Machines massivement parallèles (MPP)
3.4 Synthèse des caractéristiques darchitecture
4. Relations entre les architectures de systèmes et de RDBMS
5. Comparaison des architectures SMP, cluster et MPP
5.1 Caractéristiques des SMP
5.2 Caractéristiques des clusters
5.3 Caractéristiques des MPP
5.4 Modèles de programmation
6. Performance des serveurs
6.1 Performance des processeurs
6.2 Performance au niveau système
6.2.1 SPEC
6.2.2 TPC
7. Perspectives
Pour en savoir plus
Les serveurs sont devenus lun des éléments essentiels dans linfrastructure informatique des sociétés. Dans le schéma traditionnel de linformatique des entreprises tel quon la connu jusquau milieu de la décennie précédente, lordinateur de type « mainframe » centralisait linformation et les connections des stations de travail qui nétaient autres que des terminaux sans intelligence. Lavènement des stations de travail intelligentes (PC), la diminution rapide des coûts du matériel, la mise en place progressive des architectures distribuées avec le client/serveur et lévolution dune informatique de production vers une informatique plus stratégique intégrant le support à la décision ont conduit au concept de serveur. Cette diminution des coûts du matériel a aussi entraîné le passage du serveur multifonction (un même système supportant plusieurs applications portant sur des données communes ou indépendantes) au serveur dédié.
Le propos de cet article est dintroduire et de commenter les différentes options en matière darchitecture de serveur. Lune des fonctions principales des serveurs est le support des bases de données dune part pour les applications transactionnelles en ligne (On Line Transaction Processing OLTP) et dautre part pour laide à la décision (Decision Support Systems DSS).
Les exigences de ces applications en matière de disponibilité et de performance ont conduit à des solutions adaptées tant au niveau du matériel que du logiciel. En particulier les gestionnaires de bases de données relationnelles (Relational Data Base Management Systems : RDBMS) sont capables dexploiter le parallélisme. Cet article étudie donc les différentes options darchitecture de serveur en relation avec les architectures des gestionnaires de bases de données relationnelles et compare leurs avantages et inconvénients respectifs. Les architectures multiprocesseurs symétriques (Symmetric MultiProcessing : SMP), les clusters et les machines massivement parallèles (Massively Parallel Processing : MPP) sont examinés ainsi que leurs évolutions (exemple : architecture CC-NUMA pour les multiprocesseurs symétriques ; § 3.1.).
| Caractéristiques comparées des systèmes transactionnels et des systèmes daide à la décision | |
| Systèmes transactionnels | Systèmes daide à la décision |
| Partage : base de données partagée (lecture et mise à jour) par lensemble des utilisateurs. | Partage : bases de données en lecture essentiellement partagées par un petit nombre dutilisateurs et souvent distinctes des bases de production. Des bases spécialisées peuvent être créées pour des populations particulières dutilisateurs (datamarts). |
| Flux de requête irrégulier : les requêtes individuelles des utilisateurs ne peuvent pas être planifiées. | Flux de requête irrégulier : les requêtes individuelles des utilisateurs ne peuvent pas être planifiées. |
| Travail répétitif : les utilisateurs demandent au système lexécution de fonctions appartenant à un ensemble prédéfini (typiquement de 100 à 1 000 fonctions). | Travail non répétitif : les utilisateurs demandent au système lexécution de requêtes variées ne correspondant pas à un répertoire préétabli. |
| Fonctions simples : la plupart des fonctions sont peu complexes (typiquement de 105 à 107 instructions et environ 10 entrées/sorties). | Fonctions complexes : les requêtes sont souvent complexes et mettent en jeu un grand volume de données. |
| Transactions de type « batch » : il existe quelques transactions qui ont une durée égale à celle des travaux « batch », elles se distinguent de ces travaux par leurs propriétés ACID. |
Transactions de type « batch » Certaines requêtes particulièrement longues peuvent être exécutées en « batch ». |
| Grand nombre de terminaux : pour les grands systèmes, de 1 000 à 10 000 terminaux. | Petit nombre de stations de travail. |
| Clients intelligents : stations de travail, PC, autres systèmes. | Clients intelligents : stations de travail et PC. |
| Haute disponibilité : exigence typique des systèmes transactionnels. | La haute disponibilité nest pas une exigence des systèmes daide à la décision. |
| Recouvrement effectué par le système : lintégrité
des données doit être assuré automatiquement.
Le recouvrement est fondé sur les propriétés
ACID. |
|
| Taille des bases de données : proportionnelle à lactivité de la société. | Taille des bases de données : proportionnelle à lhistorique de lactivité de la société. |
| Peu de données touchées par une transaction. | Beaucoup de données touchées par une requête. |
| Équilibrage de charge automatique : haut débit et temps de réponse garantis. | Recherche de la performance au moyen du parallélisme intra-requête. |
http://www.techniques-ingenieur.fr

