Chapitre 3. Puissance de traitement et largeur de bande

Des deux ressources examinées dans ce chapitre, la largeur de bande est souvent de compréhension difficile pour les administrateurs alors que la puissance de traitement est un concept beaucoup plus simple à saisir.

De plus, ces deux ressources ne semblent pas vraiment étroitement liées — alors pourquoi les regrouper ?

Ces deux ressources sont examinées ensemble car sont toutes les deux basées sur le matériel à la base de la capacité d'un ordinateur à déplacer et traiter des données. Dans ce sens, ces deux ressources entretiennent souvent une relation d'interdépendance.

3.1. Largeur de bande

Au niveau le plus élémentaire, la largeur de bande représente la capacité de transfert de données — en d'autres termes, la quantité de données pouvant être transférée d'un point à un autre au cours d'une durée déterminée. Toute communication de données point à point nécessite deux éléments :

À ce titre, deux types de composants système satisfont ces obligations :

Les sections suivantes abordent chacun des deux composants de manière détaillée.

3.1.1. Buses

Comme nous l'avons précisé précédemment, les buses permettent une communication point à point et utilisent un certain type de protocole pour assurer que toutes les communications aient lieu de manière contrôlée. Néanmoins, les buses affichent d'autres caractéristiques particulières :

  • Des caractéristiques électriques normalisées (telles que le nombre de conducteurs, niveaux de tension, vitesses de signalisation, etc.)

  • Des caractéristiques mécaniques normalisées (telles que le type de conducteurs, la taille de la carte, disposition physique, etc.)

  • Protocol normalisé

Le terme "normalisé" est important car les bus représentent le moyen de base selon lequel les différents composants du système sont reliés entre eux.

Dans bien des cas, les bus permettent l'interconnexion du matériel conçu par de multiples fabricants, une opération qui s'avérerait impossible en l'absence de normalisation. Toutefois, même dans les situations où un bus est la propriété d'un fabricant particulier, la normalisation est importante car elle permet à ce dernier d'implémenter plus facilement différents composants grâce à une interface commune — le bus lui-même.

3.1.1.1. Exemples de bus

Où que vous regardiez dans un ordinateur, vous remarquerez la présence de bus. Parmi les plus courants figurent :

  • Les bus de stockage de masse (ATA et SCSI)

  • Les réseaux[1] (Ethernet et Token Ring aussi appelé anneau à jetons)

  • Les bus mémoire (PC133 et Rambus®)

  • Les buses d'expansion (PCI, ISA, USB)

3.1.2. Chemins des données

Les chemins des données peuvent être plus difficiles à identifier mais, tout comme les bus, ils sont présents partout dans un ordinateur. De même que les bus, les chemins des données permettent également une communication point à point. Toutefois, à la différence des bus, les chemins aux données :

  • utilisent un protocole plus simple (s'ils en utilisent un)

  • ne respectent que peu (voire pas du tout) la normalisation méchanique

Ces différences s'expliquent par le fait que les chemins des données sont généralement internes à certains composants système et ne sont pas utilisés pour faciliter l'interconnexion improvisée de différents composants. En tant que tels, les chemins des données sont particulièrement adaptés pour des situations où une vitesse élevée et un coût moindre représentent une priorité importante par rapport à des situations disposant d'une souplesse générale obtenue grâce à une vitesse basse et un coût élevé.

3.1.2.1. Exemples de chemins des données

Ci-après figurent certains chemins des données typiques :

  • CPU vers le chemin aux données d'un cache sur puce

  • Processeur graphique vers le chemin aux données de la mémoire vidéo

3.1.3. Problèmes potentiels liés avec la largeur de bande

Les problèmes en relation avec la largeur de bande peuvent se produire de deux manières (aussi bien pour les bus que pour les chemins des données) :

  1. Les bus et les chemins des données peuvent constituer une ressource partagée. Dans ce cas, un haut degré de contention pour le bus réduit l'efficacité de la largeur de bande disponible pour tous les périphériques sur le bus.

    Un bus SCSI doté de plusieurs disques durs très actifs illustre bien cette situation. Les disques durs très actifs saturent le bus SCSI, ne laissant disponible qu'une largeur de bande très faible pour tout autre périphérique sur le même bus. En conséquence, toutes les activités d'E/S vers tout autre périphérique seront lentes, et ce, même si aucun périphérique du bus n'est extrêmement actif.

  2. Il est possible que le bus ou le chemin des données représentent une ressource attitrée à laquelle un nombre fixe de périphériques sont reliés. Dans ce cas, les caractéristiques électriques du bus (et dans une certaine mesure, la nature du protocole utilisé) limitent la largeur de bande disponible. Cette situation est toutefois plus courantes avec les chemins d'accès qu'avec les bus. C'est d'ailleurs une des raisons pour lesquelles les adaptateurs graphiques ont tendance à être plus lents lorsqu'ils fonctionnent à des degrés élevés de résolution et/ou d'intensité de couleur — pour tout rafraîchissement d'écran, davantage de données doivent être transmises le long du chemin des données reliant la mémoire vidéo et le processeur de graphiques.

3.1.4. Solutions potentielles à des problèmes liés à la largeur de bande

Heureusement, il existe des solutions aux problèmes liés à la largeur de bande. En fait, il est possible d'adopter plusieurs approches :

  • Distribution de la charge

  • Réduction de la charge

  • Augmentation de la capacité

Les sections suivantes abordent chacune de ces approches de manière plus détaillée.

3.1.4.1. Répartition de la charge

La première approche consiste à répartir l'activité du bus de manière plus équilibrée. En d'autres termes, si un bus particulier est surchargé et qu'un autre est inactif, peut-être que la situation pourrait être améliorée en transférant une partie de la charge sur le bus inactif.

En tant qu'administrateur système, cette approche devrait être la première à considérer, particulièrement lorsque de nombreux bus supplémentaires existent déjà sur le système. Par exemple, la plupart des ordinateurs comportent au moins deux canaux ATA (juste un autre nom pour un bus). Si vous disposez de deux disques durs ATA et de deux canaux ATA, pourquoi les deux disques durs devraient-ils se trouver sur le même canal ?

Même si votre configuration système n'inclut pas de bus supplémentaires, la répartition de la charge peut toujours représenter une approche valable. Les coûts au niveau matériel associés à une telle approche seraient moins élevés que de remplacer un bus existant par un matériel à capacité supérieure.

3.1.4.2. Réduction de la charge

Au premier abord, la réduction et la répartition de la charge semblent représenter l'endroit et l'envers de la même médaille. Après tout, la répartition de la charge ne permet-elle pas aussi de la réduire (du moins sur le bus surchargé)?

Alors que ce point de vue est tout à fait correct, répartir la charge ne revient pas à réduire la charge globalement. La clé ici consite à déterminer si un certain aspect de la charge du système est à l'origine de la surcharge d'un bus particulier. Par exemple, est-ce qu'un réseau doit faire face à une lourde charge à cause d'activités qui ne sont pas vraiment nécessaires ? Ou peut-être qu'un petit fichier temporaire est le destinataire d'activités d'E/S intenses. Si ce fichier temporaire figure sur un serveur de fichiers réseau, une grande partie du trafic réseau pourrait être éliminée simplement en travaillant localement avec ce fichier.

3.1.4.3. Augmentation de la capacité

La solution la plus évidente au problème de largeur de bande insuffisante consiste à augmenter cette dernière d'une manière ou d'une autre. Cette approche est néanmoins souvent assez coûteuse. Imaginez par exemple un contrôleur SCSI avec un bus surchargé. Afin d'augmenter sa largeur de bande, il faudrait remplacer le contrôleur SCSI (et vraisemblablement tous les périphériques connectés à ce dernier) par du matériel plus puissant. Dans le cas où le contrôleur SCSI est une carte indépendante, le processus est relativement simple ; en revanche, si le contrôleur SCSI fait partie de la carte mère du système, il est beaucoup plus difficile de justifier le coût d'une telle opération.

3.1.5. En résumé…

Tous les administrateurs système devraient disposer de connaissances sur la largeur de bande et sur l'impact que la configuration et l'utilisation du système ont sur la largeur de bande disponible. Malheureusement, la distinction existant entre un problème lié à la largeur de bande et un autre problème n'est pas toujours très claire. Quelquefois, le problème n'est pas le bus lui-même mais plutôt les composants qui sont reliés au bus.

Par exemple, imaginez un adaptateur SCSI relié à un bus PCI. S'il existe des problèmes de performance au niveau des E/S du disque SCSI, peut-être qu'un adaptateur SCSI à faible performance en est la cause, même si les bus SCSI et PCI eux-mêmes sont bien loin de leur capacité au niveau de leur largeur de bande.

Notes

[1]

Les réseaux sont plus comparables à un bus inter-système qu'à un bus intra-système