Accueil Recherche | Plan Technique | Liens | Actualités | Formation | Emploi | Forums | Base
logo CERIG NOTE TECHNIQUE cerig.efpg.inpg.fr 
Vous êtes ici : Accueil > Technique > Informatique générale > Nouvelles interfaces pour les disques durs           Révision : 04 juin 2003
Note précédente Liste des notes     Optimiser son système informatique     Page technique Note suivante
 
Jean-Claude Sohm (CERIG / EFPG)
(02 juin 2003)
 

Les avatars de l'économie vont-ils introduire un peu d'ordre dans le marché de l'informatique, mettant fin au "hype" et au surdimensionnement ? Nous ne tarderons pas à le savoir, lorsque la prochaine innovation technique -- le passage des interfaces des disques durs de l'architecture parallèle à l'architecture série -- atteindra pour de bon le marché des micro-ordinateurs.
   L'interface Serial ATA (ou SATA) est destinée à remplacer l'actuelle interface ATA parallèle qui, depuis plus de quinze ans, gère les échanges d'information entre l'unité centrale et le disque dur de nos micro- ordinateurs. L'interface SCSI va également être dotée de l'architecture série, et changer son nom en Serial Attached SCSI (ou SAS). Les vitesses de transfert associées à ces nouvelles interfaces sont très élevées : 150, puis 300 Mo/s pour SATA ; 375 Mo/s pour SAS. Mais ces chiffres ne doivent pas faire illusion : les vitesses effectives de transfert ne sont pas limitées par les contrôleurs d'interface, mais par les caractéristiques techniques des disques eux-mêmes. Le changement d'architecture des interfaces devrait donc être transparent pour l'utilisateur.
   En fait, le choix d'un disque et celui de son interface doivent être replacés dans le cadre plus général de l'optimisation d'une machine en fonction du service demandé. Un exemple pratique, relatif à l'exploitation d'une base de données, est analysé de manière détaillée.

 

Préambule

En savoir plus sur les interfaces :

Que la capacité des disques augmente sans cesse (et double tous les deux ans environ), tout le monde le sait. Que la vitesse de transfert dédits disques croisse dans les mêmes proportions, chacun s'en doute sans connaître les chiffres. Mais que les interfaces des disques soit sur le point de passer du mode parallèle au mode série semble ignoré de tous, ou presque. Quelques rares articles paraissent par-ci par-là dans les revues spécialisées, mais on n'entend pas d'annonce fracassante, pas d'exagération médiatique, pas de discours commerciaux abscons... Le "hype" aurait-il disparu, victime de l'éclatement de la bulle Internet ? Ce serait trop beau, et l'on a peine à y croire. Nihil nove sub sole !

Comme chacun sait, deux interfaces distinctes sont à notre disposition pour gérer les échanges d'information entre un disque dur (ou plus exactement son contrôleur) et le bus principal de l'ordinateur (ou plus exactement son adaptateur) :

    l'interface ATA, plus connue sous le nom commercial IDE, utilisée dans les micro-ordinateurs ;
  l'interface SCSI, utilisée dans les serveurs et les stations de travail.

La comparaison des mérites des interfaces ATA (ou IDE) et SCSI fait couler des flots d'électrons sur le web. Mais le marché a tranché de manière indiscutable, et ce pour les bonnes raisons suivantes :

    l'interface ATA est moins onéreuse que l'interface SCSI. Tous les constructeurs de PC le savent, et Apple l'a appris à ses dépends. C'est la raison pour laquelle l'interface ATA est systématiquement utilisée dans les micro-ordinateurs, dont les prix sont très tirés ;
  l'interface SCSI possède des propriétés qui la rendent préférable à l'interface ATA dans les applications multi-utilisateurs, la gestion des disques durs groupés en RAID, et l'échange direct de données entre périphériques. De plus, les disques durs les plus rapides sont dotés d'une interface SCSI uniquement. Ce sont les raisons pour lesquelles l'interface SCSI est systématiquement utilisées dans les serveurs et les stations de travail.

Ces deux interfaces fonctionnent en mode parallèle. Toutes les deux datent du milieu des années 80, et ont depuis suivi l'évolution de la micro-informatique : plus vite, toujours plus vite. Aujourd'hui, les taux de transfert atteignent des valeurs telles qu'il faut, pour des raisons purement techniques, abandonner l'architecture parallèle au profit de l'architecture série. Cette mutation sera transparente pour l'utilisateur et pour le logiciel qu'il utilise, et c'est peut-être la raison pour laquelle on en parle si peu.

Cette note technique a un triple but :

    passer en revue les propriétés des deux interfaces et leur évolution dans le temps ;
  replacer le choix de l'interface dans le cadre plus général de l'optimisation d'une machine pour les tâches auxquelles elle est destinée ;
  juger de l'impact de la transition de l'architecture parallèle à l'architecture série sur l'avenir des deux interfaces.

 
L'interface ATA

Comme monsieur Jourdain faisait de la prose sans le savoir, l'utilisateur d'un PC se sert en permanence de l'interface ATA sans s'en rendre compte. Et pourtant cette interface est l'un des grands succès de la micro-informatique : à ce jour, un milliard de disques durs ont été fabriqués au standard ATA, dont 170 millions pour la seul année 2002. A titre de comparaison, on a construit en tout 500.000 disques au standard Fibre Channel.

ATA, IDE ou quoi ?

Le terme ATA est le seul correct pour désigner l'interface entre le bus de l'ordinateur et le disque dur d'un PC. Les termes IDE, EIDE, Fast IDE, Ultra IDE, etc. proviennent des services commerciaux  des constructeurs de disques et ne correspondent à aucune norme reconnue.

Le sigle ATA signifie Advanced Technology Attachment, mais l'interface correspondante est plus connue sous le nom IDE, sigle qui signifie Integrated Drive Electronics. En fait, ces deux termes recouvrent deux concepts différents, datant tous deux de 1986. Le premier définit effectivement l'interface entre le disque dur et le bus de la carte-mère, le second précise simplement que le contrôleur du disque est regroupé avec ce dernier. Pour être rigoureux, nous réserverons le terme ATA à l'interface, et nous utiliserons le terme IDE pour désigner le connecteur qui permet de relier les disques durs ATA à la carte-mère du PC. C'est le constructeur de micro-ordinateurs Compaq (aujourd'hui absorbé par HP) qui est, avec Western Digital et CDC, le créateur de l'interface parallèle ATA, utilisée pour la première fois dans le célèbre "Deskpro 386" -- modèle rapidement imité par les autres constructeurs de "compatibles".

Comme il est d'usage en informatique, l'interface ATA fut utilisée pendant plusieurs années avant d'être normalisée, ce qui ne manqua pas de créer des problèmes lorsque deux disques provenant de deux constructeurs différents étaient montés sur le même connecteur IDE. Un comité de constructeurs baptisé CAM (Common Access Method) fut créé pour y remédier. Il publia en 1989 un projet qui fut transmis à l'ANSI l'année suivante, et transformé en norme en 1994 (cette dernière est obsolète depuis 1999). Le comité CAM est depuis remplacé par le comité T13 de l'organisation américaine INCITS (InterNational Committee for Information Technology Standards).

Les premiers disques durs pour micro-ordinateurs firent leur apparition au début des années 80. C'étaient des périphériques externes, permettant de stocker quelques Mo seulement. Ils étaient reliés à la machine via une carte d'interface propriétaire. Rapidement, les constructeurs installèrent le disque dur dans l'ordinateur, certains le plaçant sur la carte d'interface elle-même. Cette dernière était reliée au bus principal de l'ordinateur, lequel s'appelait à l'époque le bus ISA. Depuis, ce bus ISA a cédé la place au bus VESA, qui s'est rapidement effacé devant le bus PCI, lequel est encore en usage de nos jours.

Des problèmes dus aux vibrations persuadèrent les constructeurs d'installer plutôt le disque dur (accompagné de son contrôleur) derrière la face avant de l'ordinateur. Un câble plat (appelé nappe) relie le contrôleur du disque à un connecteur IDE situé sur la carte-mère. La norme ATA a ensuite été étendue (norme ATAPI) pour permettre la connexion des lecteurs de CD-ROM. Aujourd'hui, une carte-mère de PC comporte deux connecteurs IDE, chacun pouvant accommoder deux dispositifs ATA, l'un maître et l'autre esclave. Outre le disque dur, les dispositifs ATA comportent d'autres dispositifs de stockage utilisant les divers disques compacts (CD-ROM, CD-R, et CD-RW), le DVD (enregistrable ou non), le ZIP, les lecteurs-enregistreurs de bandes, etc. On notera que l'interface ATA n'est utilisée que pour les périphériques internes.

Bus masteringL'interface ATA a fait l'objet de sept normes successives, au cours desquelles la vitesse de transfert maximale théorique a évolué comme le montre le tableau ci-dessous. Techniquement, le mode PIO (Programmed Input Output) a été remplacé parle mode DMA (Direct Memory Access), puis par le "bus mastering" du bus PCI, dans le but de moins solliciter le microprocesseur durant le transfert d'information. La figure ci-contre, qui représente le taux d'occupation du microprocesseur lors de la copie d'un fichier, illustre l'effet de bus mastering. On voit que le taux d'occupation du processeur ne dépasse jamais 20 % au cours de cette opération.

Norme Année Vitesse
(Mo/s)
Fréquence bus
(MHz)
Remarques
ATA-1 1994 3,3 - 8,3 8,33 Modes PIO 1,2,3
ATA-2 1996 11,1 - 16,7 8,33 Mode PIO 4
ATA-3 1998 inchangée   La norme porte sur la fiabilité
ATA/ATAPI-4 1998 33 33 Synonyme : Ultra ATA 33
ATA/ATAPI-5 ? 66 66 Synonyme : Ultra ATA 66
ATA/ATAPI-6 2002 100 100 Synonyme : Ultra ATA 100
ATA/ATAPI-7 en cours 133 133 Synonyme : Ultra ATA 133

La version 133 Mo/s de l'interface ATA a été annoncée par Maxtor (un fabricant de disques durs) en 2001, et on la trouve effectivement sur le marché ; la version 100 Mo/s reste néanmoins la plus répandue.

La normalisation de la nouvelle architecture série de l'ATA a été confiée au comité T13 de l'INCITS.
 

L'interface SCSI

L'histoire du SCSI commence lorsque A. Shugart, de Shugart Associates, crée une interface parallèle pour disque dur baptisée SASI, et tente de la faire adopter en tant que norme par l'ANSI. La norme est effectivement publiée en 1986 sous le nom SCSI. Le succès aidant, deux nouvelles normes (SCSI-2 et SCSI-3, cette dernière divisée en quatre) font évoluer l'interface dans de multiples directions :

    élargissement du bus de 8 bits (SCSI) à 16 bits (WIDE SCSI) ;
  élévation progressive de la fréquence du bus de 5 MHz à 10 MHz (Fast SCSI), 20 MHz (Fast-20 SCSI), 40 MHz (Fast-40 SCSI) et enfin à 80 MHz (Fast-80 SCSI) ;
  extension à des périphérique de stockage autres que les disques durs ;
  nouvelles commandes, etc.

Actuellement, la vitesse de transfert théorique maximale du WIDE SCSI vaut 320 Mo/s. Elle pourrait atteindre 640 Mo/s avant que l'actuelle architecture parallèle ne soit remplacée par la nouvelle architecture série. Le tableau ci-dessous résume l'évolution de la vitesse maximale théorique de transfert de l'interface SCSI.

Norme Nom interface Largeur bus
(bits)
Fréquence bus
(MHz)
Vitesse transfert
(Mo/s)
SCSI-1 SCSI 8 5 5
SCSI-2 Fast SCSI 8 10 10
  Wide SCSI 16 5 10
  Fast Wide SCSI 16 10 20
SCSI-3 Ultra SCSI 8 20 20
  Wide Ultra SCSI 16 20 40
  Ultra2 SCSI 8 40 40
  Wide Ultra2 SCSI 16 40 80
  Ultra 160 SCSI 16 40 160
  Ultra 320 SCSI 16 80 320

Contrairement à l'interface ATA, qui ne peut être utilisée que pour des périphériques internes, l'interface SCSI permet de connecter des périphériques internes ou externes. Mais le développement de l'interface USB (versions 1 et 2), et celui du FireWire, font que le SCSI externe n'est plus guère utilisé. Le bus 8 bits est également en voie de disparition.

D'une manière générale, les disques les plus récents (et donc les plus performants) sont mis sur le marché dotés d'une interface SCSI uniquement. C'est ainsi qu'à l'heure actuelle, les disques tournant à 7.200 rpm existent en version SCSI et ATA, mais que les disques tournant à 10.000 rpm ou 15.000 rpm n'existent qu'en version SCSI. L'augmentation de la vitesse de rotation a posé des problèmes de bruit et d'échauffement, qui sont aujourd'hui résolus. La densité d'enregistrement augmente beaucoup plus vite que la vitesse de rotation. Actuellement, les fabricants logent facilement 40 Mo sur une galette de 3,5" ; mais ils savent déjà faire deux fois mieux, et ils envisagent d'atteindre 120 Go par galette dans quelques années.

Le principal avantage du contrôleur SCSI réside dans sa faculté de travailler avec plusieurs périphériques simultanément, ce qui rend son usage fort avantageux dans les machines possédant plusieurs disques durs, surtout si ces derniers sont intégrés à un système RAID.

La normalisation de la nouvelle architecture série du SCSI (encore appelée SAS) a été confiée au comité T10 de l'INCITS.
 

Le rôle du disque dur

Les vitesse de transfert des interfaces ATA et SCSI correspondent à des valeurs nominales. Mais les commandes et les signaux qui régissent le transfert des données (les "overheads") consomment de la bande passante, ce qui diminue d'autant la vitesse utile de transfert. De plus, ce sont généralement les performances du disque, et non celles de l'interface, qui déterminent la vitesse réelle de transfert des données. Il n'y a rien là d'anormal : le disque comporte des pièces mécaniques en mouvement, alors que l'interface est constituée de composants électroniques.

Lorsqu'une information est lue ou enregistrée, le bras (qui porte la tête de lecture) se déplace jusqu'à atteindre la piste requise. Ensuite, la piste est lue jusqu'à ce que le bon cluster soit atteint, ce qui requiert en moyenne un demi-tour. Si l'information que l'on désire lire se trouve sur une seule piste, le temps total (appelé access time) est d'environ 14 ms (pour un disque de qualité courante commercialisé en 2003), si bien que l'utilisateur a l'impression que l'opération est presque instantanée. Ce temps peut être décomposé ainsi :

    moins d'une milliseconde pour la préparation de la lecture (détermination de la piste et du cluster par consultation de la FAT, File Allocation Table) ;
  environ 9 millisecondes de délai avant que que le bras ne soit positionné sur la bonne piste (valeur appelée seek time) ;
  4 millisecondes pour lire la moitié de la piste (valeur appelée rotational latency) sur un disque tournant à 7.200 rpm. La somme de ce temps et du précédent est appelée mechanical latency, ou tout simplement latency ;
  moins d'une milliseconde pour transmettre le résultat.

Aujourd'hui, les contrôleurs de disques durs comportent tous une mémoire cache. A l'heure où nous écrivons ces lignes, la capacité du cache varie de 2 Mo pour les disques courants à 8 Mo pour les disques haut de gamme. Si la quantité d'information à écrire sur le disque est inférieure à la capacité du cache, le temps requis pour opérer le transfert est déterminé par la rapidité de l'interface. Si cette dernière est une ATA 100, ce temps est inférieur au dixième de seconde. A partir du moment où l'information est dans le cache, le processeur est libéré pour les tâches suivantes. De nouveau, l'utilisateur a l'impression que l'opération est presque instantanée.

Lorsque l'information se trouve déjà dans le cache du disque, la vitesse de lecture est limitée par la vitesse de transfert de l'interface laquelle -- comme nous l'avons vu -- est fort rapide. Mais la probabilité pour que cet événement se réalise est plutôt mince. La capacité des disques s'exprime en dizaines de Go, et celle de leur cache ne dépasse pas 8 Mo ; nous avons donc une chance sur dix mille pour que notre information soit en cache. La réalité est un peu moins noire, et la probabilité peut atteindre quelques pourcents, parce que le cache est géré de façon déterministe. Par exemple, si nous commençons à lire une piste, le contrôleur du disque met la suite en cache, pensant que nous ne nous arrêterons pas en si bon chemin. Comme on le voit, le rôle accélérateur du cache est plutôt mince, si bien que les constructeurs ne font guère d'efforts à son propos.

La vitesse de transfert en continu

C'est la valeur qui compte pour la manipulation des gros fichiers. Actuellement, pour un disque de qualité courante, on admet une valeur moyenne (lecture / écriture) de l'ordre de 15-25 Mo/s. Les constructeurs avancent des chiffres plus élevés, de l'ordre de 50 Mo/s.

Lorsqu'un fichier est suffisamment lourd pour s'étendre sur plusieurs pistes, les temps requis pour mouvoir le bras (9 ms pour les disques courants) et pour lire la piste (8 ms à 7.200 rpm) s'additionnent, et le processus se répète autant de fois que nécessaire. On définit alors une vitesse moyenne de transfert (sustained transfer rate ou sustained data rate), que les constructeurs se hasardent rarement à indiquer dans les notices techniques relatives à leurs disques durs. En fait, il faudrait donner deux valeurs -- l'une en écriture, l'autre en lecture -- parce que la première opération est réputée plus lente que la seconde. Certains des programmes qui sont censés mesurer les performances des ordinateurs, les fameux "benchmarks", fournissent des valeurs de vitesse moyenne de transfert -- mais ces valeurs varient d'un benchmark à l'autre. Avec les disques courants du marché, on pourrait tabler sur 10-15 Mo/s en écriture, et 20-30 Mo/s en lecture. Même si ces ordres de grandeur doivent être manipulés avec précaution, ils montrent de manière indiscutable que ce n'est pas l'interface (ATA ou SCSI) qui limite la vitesse de transfert entre le disque dur et le reste de la machine.

En fait, les chiffres précédents supposent que le fichier ait été enregistré de manière séquentielle, c'est à dire que chaque piste ait été complètement remplie avant de passer à la piste suivante. Dans le cas inverse, c'est à dire si chacun des clusters occupé par le fichier est aléatoirement distribué sur l'ensemble du disque, la vitesse de transfert tombe à des valeurs extrêmement basses -- le chiffre de 0,3 Mo/s ayant par exemple été cité -- parce que le bras saute sans cesse de piste en piste, et que la lecture d'une piste ne rapporte que le contenu d'un cluster, soit quelques Ko. Il est donc fortement recommandé de défragmenter le disque dur avant d'effectuer un test de lecture, et d'utiliser un disque peu rempli avant d'effectuer un test d'écriture. Tordons le cou au passage à un mythe qui veut que certains systèmes d'exploitation fragmentent, et que d'autres ne fragmentent pas. Par la force des choses, ils fragmentent tous le disque dur, mais plus ou moins vite. Cependant, vous êtes libre de croire au père Noël, et de vous imaginer que votre SE chéri peut enregistrer le gros fichier que vous venez de modifier, sans le fragmenter,  alors que votre disque est déjà bien garni.

Il faut enfin bien comprendre que les valeurs obtenues constituent de moyennes -- pour ne pas dire de simples ordres de grandeur. Un disque dur tourne à vitesse constante, et la densité d'enregistrement est uniforme sur toute la surface du plateau. Il en résulte que la quantité d'information lue pendant le temps d'une rotation est plus grande pour une piste située à la périphérie que pour une piste située près du centre ; la variation va du simple au double.

Notons pour terminer que l'on rencontre dans la littérature commerciale relative aux disques durs toutes sortes de vitesses dont la définition est loin d'être claire : disk transfer rate, host transfer rate, internal transfer rate, burst data transfer rate, external data transfer rate, etc. Comme d'habitude en informatique, tout ce fatras n'a qu'un seul but : tromper le client avec des valeurs mirifiques que les chiffres réels, mesurés dans des conditions réelles, n'atteindront jamais. Le "hype" se porte toujours bien, merci.
 

Du rêve à la réalité

Copier un gros fichier et mesurer le temps qui s'écoule grâce à la trotteuse de sa montre n'est pas une opération qui demande des moyens élaborés. Nous nous sommes livrés à cette expérience sur les deux machines suivantes :

    la première est un PC datant du milieu de l'année 2001. Elle est dotée d'un processeur Pentium 4 cadencé à 1,5 GHz, et de 256 Mo de mémoire vive. Elle possède deux disques durs IDE (ATA 100) de 40 Go de capacité, comportant deux plateaux, tournant à 7.200 rpm, et gérés sous NTFS. Le système d'exploitation est Windows XP (service pack 1) ;
  la seconde est un PC musclé datant de l'année 2003. Elle est dotée d'un processeur Pentium 4 cadencé à 2,6 GHz, et de 1 Go de mémoire vive. Elle possède deux disques durs SCSI (Ultra 320) de 35 Go de capacité, tournant à 10.000 rpm, gérés sous NTFS. Le système d'exploitation est Windows XP (service pack 1).

Les temps mesurés lors de la copie d'un gros fichier (634 Mo), tantôt d'un disque vers l'autre, tantôt vers le même disque, sont rassemblés dans le tableau ci-dessous. Nous voyons immédiatement que, même dans le cas le plus favorable (transfert entre deux disques), les débits réels mesurés sont faibles devant les débits théoriques des interfaces : 13 Mo/s avec l'interface ATA (théorique : 100 Mo/s) et 53 Mo/s avec l'interface SCSI (théorique : 320 Mo/s).

Copie : PC n°1 PC n°2
entre disques 50 sec.
(13 Mo/s)
12 sec.
(53 Mo/s)
sur le même disque 130 sec. 105 sec.

La fragmentation du disque peut jouer un rôle. En effet, lorsqu'un fichier est fragmenté, les mouvements du bras sont plus nombreux, si bien que la vitesse effective de lecture diminue. Même résultat si un fichier est enregistré près du centre du disque : le nombre de secteurs par piste étant plus faible, les mouvements du bras seront plus nombreux pour transférer le même volume d'information. Nous avons donc défragmenté les disques du premier PC, et cette fois la recopie du fichier a nécessité... 130 secondes ! Grosse surprise, que nous pouvons expliquer par le fait que le défragmenteur fourni par Microsoft rend contigus les secteurs et le pistes occupés par un fichier, mais il laisse de grands vides entre les enregistrements. Lors de la défragmentation, le fichier a peut-être été déplacé de la périphérie vers le centre du disque (lequel est rempli à 50 %). De là à conclure que le mieux est l'ennemi du bien, et qu'il ne faut jamais défragmenter son disque... D'autant que, quelques jours plus tard, le fichier en question étant de nouveau fragmenté, la vitesse de transfert est revenue à sa valeur initiale !
 

L'évolution récente de l'informatique

Après des débuts héroïques à la fin des années 70, la micro-informatique s'est affirmée comme un outil professionnel dès le début des années 80. L'accroissement de la puissance de traitement et de la capacité de stockage, a permis à un nombre croissant d'applications de migrer des grosses machines vers les mini-ordinateurs, puis des minis vers les micros. Bureautique, PAO, CAO/DAO, SIG, SGBD, applications multimédia, etc... tout y passe peu à peu, la situation étant caractérisée par le fait que, depuis une dizaine d'années, la capacité du stockage de masse et la taille des plus gros fichiers croissent plus vite que la capacité de traitement des machines. Résultat : pour les gros fichiers, le temps de traitement par les applications s'allonge au-delà de ce que notre patience a l'habitude de tolérer.

Premier point : la capacité des disques croît plus vite que les autres caractéristiques des machines. Pour un disque dur de qualité courante, cette capacité vaut actuellement 40 Go, mais elle atteindra bientôt 80 Go. Si vous en avez les moyens, vous pouvez dès maintenant vous offrir 200 Go. Ne parle-t-on pas, pour les magnétoscopes numériques à disque dur, de capacités de 500 Go en 2005, à un prix acceptable par le grand public ?

Deuxième point : la vitesse de transfert des disque croît comme leur capacité. La taille des plateaux étant constante, et le nombre de plateaux étant limité, l'augmentation de capacité provient de l'accroissement de la densité de stockage. Il en résulte que la vitesse de transfert augmente d'autant. Supposons en effet que la densité double : dans un même laps de temps, un tour de piste fournira deux fois plus de données -- et pour un même volume de données, les déplacements requis du bras seront deux fois moins nombreux. Conséquence : la vitesse de transfert doublera. La situation réelle est même encore plus favorable, car la vitesse de rotation des disques augmente progressivement dans le temps, tandis que les mouvements du bras deviennent de plus en plus rapides. Un disque courant tournait à 5.400 rpm il y a quelques années ; il tourne à 7.200 rpm aujourd'hui, et il tournera à 10.000 rpm demain.

Troisième point : la taille des plus gros fichiers croît plus vite que tout le reste. Aujourd'hui, stocker sur son disque dur un fichier de 500 Mo, voire de plusieurs Go, contenant du son, de la vidéo ou une base de données, ne fait plus peur à personne. Mais, lorsqu'on retravaille ce fichier à l'aide d'un logiciel ad hoc, le temps de traitement peut se mesurer en dizaines de minutes, sinon plus.

Conclusion : il faut choisir les caractéristiques d'une machine en fonction du service que l'on s'apprête à lui demander. Le choix de l'interface du disque dur n'est qu'un point particulier d'un problème plus vaste, celui de l'optimisation du matériel, et même de l'ensemble du système matériel + logiciel.
 

Optimiser sa machine

Le micro-ordinateur standard, "bonne à tout faire" de l'informatique, a vécu. Plus le temps passe, et plus les machines devront être adaptées à leurs tâches -- même si les vendeurs de PC ne veulent pas, ou ne savent pas, nous l'expliquer. Cette spécialisation est fonction à la fois de l'application que l'on veut faire tourner, et de la taille des fichiers que l'on veut manipuler.

Ce qui fait la qualité d'une machine bureautique, aujourd'hui, ce n'est ni sa puissance de traitement, ni sa capacité de stockage. Quand vous saisissez du texte au clavier, c'est vous qui ralentissez la machine, et non l'inverse : un processeur plus rapide ne vous sera d'aucun secours. Issue d'un traitement de texte, une page A4 bien remplie occupe 25 Ko. Sur un disque dur de 40 Go, vous pouvez enregistrer 1,6 millions de pages : allez donc les écrire ! Par contre, vous apprécierez un écran plat à cristaux liquides (plus reposant pour la vue qu'un CRT), une machine compacte qui ne prend pas trop de place sur votre bureau (déjà bien encombré), et un design qui fait plaisir à voir (et vous donne envie de travailler) -- le tout pour un prix fort raisonnable, si vous y prenez garde. Quant à vos fichiers, leur taille ne dépassera pas quelques centaines de Ko (voire quelques dizaines de Mo si vous vous forcez à rédiger un gros rapport), et n'importe quel disque dur les avalera à toute vitesse, même s'il date de Mathusalem.

Si vous utilisez un SGBD qui fonctionne sur micro (Access, de Microsoft, étant le plus courant dans cette catégorie), et si vous introduisez vos données à la main, quelques milliers d'enregistrements vous paraîtront bien suffisants, et vous rendront un bon service. Même si vous concevez des requêtes fort subtiles, elles s'exécuteront en moins de dix secondes. Mais si vos données sont importées, ou si elles ont été générées par ordinateur, un ou deux millions d'enregistrements, contenus dans un fichier de un ou deux Go, n'auront rien d'extraordinaire. Si vous tentez alors de fusionner deux tables (en éliminant les doublons), vous avez largement le temps d'aller déjeuner avant que l'opération ne soit terminée. Dans un autre domaine, si vous transformez votre machine en table de mixage de bandes sonores, ou en station de montage vidéo, les fichiers grossiront à toute vitesse, et les temps de traitement deviendront prohibitifs.

En milieu professionnel, on réagit souvent à une telle situation en abandonnant le micro pour une station de travail, plus puissante et nettement plus onéreuse. Mais un particulier n'a généralement pas les moyens de s'offrir un tel luxe, lequel n'est d'ailleurs pas toujours justifié. Or les appareils photographiques numériques font fureur, et les caméscopes numériques de plusieurs millions de pixels se démocratisent ; le traitement des gros fichiers n'est donc plus réservé aux professionnels, loin de là.

Avant de conclure qu'un micro ne peut en aucun cas convenir, il faut y regarder de plus près ; et si l'on doit recourir à une station de travail, encore faut-il savoir laquelle. Car en matière de surdimensionnement du matériel informatique, les exemples abondent dans les entreprises. Les esprits chagrins vous diront même qu'en matière de serveur ou de station de travail, le surdimensionnement est la règle et l'optimisation l'exception -- pour le plus grand bonheur des constructeurs, bien entendu. Cependant, depuis deux ans, les services informatiques des entreprises ont dû apprendre à se serrer la ceinture, et le "rien n'est trop beau, rien n'est trop cher" touche probablement à sa fin.

Les principaux points sur lesquels nous puissions jouer lorsque nous commandons une machine sont :

    le processeur : le type, la fréquence d'horloge ;
  la mémoire vive : le choix se réduit essentiellement à la taille ;
  la mémoire de masse : le nombre de disques, leur capacité, leur vitesse de rotation, leur interface (ATA ou SCSI),  et l'usage éventuel d'un système RAID.

La machine étant livrée, nous pourrons encore jouer sur quelques paramètres -- la taille de la mémoire virtuelle, la préférence donnée au cache ou aux programmes -- deux dispositions dont il ne faudra pas attendre des miracles.

Pour savoir comment une machine occupe son temps, il faut surveiller simultanément :

    le voyant du disque dur, pour voir si ce dernier échange des données ;
  le graphique qui donne le taux d'occupation du processeur, pour voir si ce dernier travaille effectivement.

Lorsque la machine est optimisée pour l'application utilisée et la taille des fichiers manipulés, le processeur et le disque dur doivent être bien occupés tous les deux pendant le fonctionnement de l'application.

Si le disque se tourne les pouces, tandis que le processeur travaille comme un fou, le verdict est clair : votre machine est sous-motorisée pour l'usage que vous en faites. Remplacer le processeur est rarement une bonne opération, car elle entraîne généralement le changement simultané de la carte-mère. Mieux vaut, si vous le pouvez, recycler la machine pour une application moins exigeante, et en racheter une nettement plus puissante. Si vous voulez procéder à des calculs démentiels, il vous faudra une machine à plusieurs processeurs, et vous entrerez de plein pied dans le domaine des stations de travail. La solution alternative consiste à laisser votre machine tourner seule pendant les nuits, les week-ends, les jours de fête, les vacances, les ponts du mois de Mai et les jours de grève, en priant le ciel qu'il n'y ait pas de coupure de courant. Cela s'appelle amortir à fond son matériel.

Si vous êtes dans le cas inverse du précédent -- le disque dur tourne sans arrêt et le processeur ne fiche pratiquement rien pendant la majeure partie du temps -- le diagnostic est un peu plus délicat à établir. Si vous le pouvez, la bonne solution consiste à installer un deuxième disque dur (ce n'est pas sorcier), et à y déverser le gros fichier. Examinez alors dans quel est le cas vous vous trouvez :

    le premier disque dur travaille comme un fou, le processeur ne se fatigue guère, et le second disque se repose. La machine "swappe" les données entre la mémoire vive et la mémoire virtuelle. C'est l'indice d'un manque cruel de mémoire vive ;
  le second disque tourne beaucoup, le processeur n'est pas très occupé (le premier disque non plus, probablement). L'exécution est limitée par le transfert des données entre le disque et la mémoire vive. La vitesse de transfert du second disque est trop faible.

Premier cas : la machine swappe. Pour traiter les données, le programme d'application va les chercher sur le disque et les transfère en mémoire vive. Malheureusement, la capacité de cette dernière est insuffisante, et le système d'exploitation déverse l'excès de données dans le mémoire virtuelle (sur le premier disque). Ensuite, le logiciel d'application reprend les données par petits paquets dans la mémoire virtuelle, les traite, les renvoie dans la mémoire virtuelle, et ainsi de suite (d'où le nom de swapping, qui signifie permutation). Le disque tourne sans arrêt, le taux d'occupation du processeur est faible, le temps passe, et le traitement traîne interminablement. Ne vous désolez pas, le remède est à portée de la main ; il vous suffit de renforcer la mémoire vive de la machine, opération simple à réaliser, et dont le coût n'est pas dramatique. A titre d'exemple, si le système vous indique qu'il utilise effectivement 350 Mo de mémoire virtuelle, renforcez votre mémoire vive de 512 Mo, il vous en coûtera environ 2 kF HT.

Deuxième cas : la vitesse de transfert du disque est trop faible. Vérifiez d'abord que votre second disque ne date pas de la préhistoire, ou que vous ne l'avez pas monté comme esclave d'un lecteur de CD-ROM sur un même connecteur IDE (ne riez pas, même des professionnels font des bourdes pareilles). Si tel n'est pas le cas, vous êtes dans de sales draps. Car pour bénéficier d'un disque au transfert plus rapide, il vous faudra abandonner l'ATA pour le SCSI, nettement plus cher. Vous glissez sur la pente fatale, celle qui mène à la station de travail, dont le coût risque d'être plusieurs fois celui d'un micro standard.

Actuellement, les disques courants (ceux qui tournent à 7.200 rpm) peuvent être achetés dotés d'une interface ATA ou SCSI. Acquérir la version SCSI constitue un parfait exemple de dépense inutile, puisque la vitesse de transfert est limitée par le disque et non par l'interface. Par contre, pour acheter un disque offrant un transfert plus rapide, vous n'avez pas le choix : de tels disques ne sont vendus que dotés de l'interface SCSI. Si vous vous offrez ce qui se fait de mieux actuellement (15.000 rpm), il vous en coûtera entre 5 et 10 kF, adaptateur SCSI compris. Pour ce prix, la vitesse de transfert sera multipliée deux environ.

Si cela ne suffit pas, vous pouvez vous offrir un système RAID 0 : plusieurs disques sont montés sur le même bus SCSI, et une carte RAID (montée dans un connecteur PCI) fait en sorte que les données soient également réparties entre eux. Grâce à l'adaptateur SCSI, ces disques travaillent simultanément (ce que l'ATA ne saurait pas faire). Pour le système d'exploitation, tout se passe comme si vous disposiez d'un seul disque n fois plus rapide (n étant le nombre de disques). Cette solution n'est pas donnée, mais sa rapidité décoiffe.
 

De la théorie à la pratique

Pour observer le taux d'occupation du processeur, appelez le gestionnaire de tâches via la célèbre combinaison de touches Ctrl+Alt+Suppr. Cliquez sur le bouton "Gestionnaire des tâches", et choisissez l'onglet "Performances". Vous pouvez :

    régler la vitesse de défilement du graphique (ou mettre en pose) à l'aide de la fonction "Affichage" / "Fréquence d'utilisation" du menu ;
  afficher (en rouge) la part d'occupation du processeur due au système d'exploitation ;
  jouer sur la taille du graphique en modifiant celle de la fenêtre.

La figure ci-dessous représente la courbe obtenue pendant l'exécution d'un programme manipulant, à l'aide du PC courant décrit plus haut, les objets d'une base de données. Cette dernière est gérée à l'aide du SGBD Access de Microsoft, et contenue dans un fichier de 620 Mo. L'essentiel des données est rassemblé dans trois tables totalisant presque 1,5 millions d'enregistrements. Nous en déduisons que la plus grosse table (700.000 enregistrements) occupe un peu moins de 300 Mo. Impossible de la transférer en mémoire vive (dont 170 Mo seulement sont environ disponibles, le solde étant occupé par le logiciel et le système d'exploitation) sans faire appel à la mémoire virtuelle. Nous nous attendons donc à observer du swapping, ce que l'expérience va confirmer.

Exemple de swapping

Sur la figure ci-dessus, nous distinguons deux types extrêmes de comportement :

    le processeur est très occupé, le second disque tourne nettement plus que le premier (exemple : les 3 premières minutes). Le programme traite des tables de dimensions telles (moins de 100.000 enregistrements) que leurs données peuvent être chargées en mémoire vive. Il y a peu de swapping, les creux dans l'occupation du processeur correspondent à des échanges intenses de données avec le second disque ;
  le processeur est très peu occupé, le premier disque tourne sans arrêt, le second ne tourne pas du tout (exemple : les périodes qui s'écoulent entre les minutes 3 à 5 et 12 à 17). Le système traite de grosses tables, qui ne peuvent pas tenir en mémoire vive. Le swapping est permanent et il limite les performances du système.

Le diagnostic est clair : la machine manque de mémoire vive. D'ailleurs le SGBD refuse d'effectuer certaines opérations (telle que le changement de type de données d'un champ), en invoquant explicitement ce motif. Le premier palliatif auquel on songe consiste à augmenter la taille de la mémoire virtuelle mais, comme on pouvait s'y attendre, l'effet est presque négligeable. Le second palliatif consiste à favoriser (en mémoire vive) la mémoire cache au détriment des applications (en prenant soin de fermer celles qui ne sont pas actives). Pour ce faire, effectuez un clic droit sur l'icône poste de travail, choisissez "Propriétés" puis l'onglet "Avancé", appuyez sur le bouton "Paramètres", choisissez l'onglet "Avancé" et, dans la rubrique "Utilisation de la mémoire", cochez le bouton radio "Le cache système". Ouf ! vous y êtes. Un effet bénéfique se manifeste, mais il n'est pas renversant ; dans le meilleur des cas, nous avons observé un raccourcissement du temps de traitement de 10 %.

Par contre, l'installation de 256 Mo de mémoire vive supplémentaire améliore nettement la situation, comme le montre la figure ci-dessous. L'opération précédente ne dure plus que 14 minutes au lieu de 21 précédemment. Le swapping n'a pas disparu, mais si nous comparons les deux figures précédentes, nous voyons que les périodes pendant lesquelles il sévit sont moins longues (elles sont principalement situées entre les grands pics d'activité).

Le swapping a diminué

Pour frapper un grand coup, nous avons changé de machine (il s'agit du PC musclé cité plus haut) en jouant sur tous les tableaux :

    le processeur est plus rapide (2,6 GHz au lieu de 1,5 GHz) ;
  la mémoire vive est plus vaste (1 Go au lieu 512 Mo) ;
  les disques durs sont plus performants (10.000 rpm), ce qui implique l'abandon de l'interface ATA pour sa concurrente SCSI.

Le résultat est spectaculaire, comme le montre la figure ci-dessous. Cette fois, la même opération ne dure guère plus de 4 minutes, au lieu de 14 dans le cas précédent et 21 aux premiers essais.

Le swapping a disparu

La nouvelle situation est caractéristique d'une machine optimisée pour l'application considérée :

    le processeur est très occupé. Les périodes pendant lesquelles son taux d'activité est faible (il attend les données que le disque dur va lui fournir) sont de courte durée ;
  le disque contenant les données tourne de manière presque continue. Il n'a de brefs arrêts que lorsque le processeur est occupé à près de 100%.

 
Pourquoi la nouvelle interface série ?

Interface parallèle ou série ?

Aujourd'hui, pour obtenir des vitesses de transfert élevées, on remplace l'interface parallèle par l'interface série... que l'on avait abandonnée il y a 20 ans pour le même motif.

Dans les débuts de la micro-informatique, on pratiquait essentiellement l'interface série, considérée comme la plus simple à réaliser. C'est ainsi que l'on reliait les claviers et les imprimantes aux machines. La vitesse de transfert de l'information augmentant, l'interface parallèle s'imposa, qu'il s'agisse de l'imprimante, du disque dur ou du lecteur de CD-ROM. Les sorties série des PC furent de plus en plus réservées aux périphériques dotés de performances modestes : clavier, track-ball, douchette (lecteur de codes-barres), etc. La fréquence de fonctionnement des composants s'élevant sans cesse, et les vitesses de transfert augmentant toujours, l'interface série fait un retour en force pour des raisons techniques (problème de synchronisation des signaux propagés en parallèle). On la trouve dans l'USB (versions 1 et 2) pour connecter les périphériques externes, dans le FireWire (nom commercial de IEEE 1394) pour relier les caméscopes numériques et les disques durs externes aux ordinateurs, et dans le FibreChannel pour déporter les dispositifs de stockage externe et créer un SAN (Storage Area Network). Il n'est donc pas surprenant qu'on la trouve demain dans la nouvelle interface ATA (SATA), et après-demain (vers 2004) dans la nouvelle mouture de l'interface SCSI, appelée Serial Attached SCSI -- SAS en abrégé.

A l'heure où nous écrivons ces lignes (avril 2003), on ne trouve pas encore sur le marché de micro-ordinateur utilisant l'interface Serial ATA, encore appelée SATA. Mais quelques modèles de disque dur et de carte-mère sont disponibles, ce qui permet aux spécialistes de se faire la main. Des études peu nombreuses, mais bien documentées, ont déjà été publiées sur le web, dont celle de Tom's Hardware Guide (12 août 2002), et celle plus récente de The Tech Report (19 mars 2003). Il en ressort que, pour l'instant, ouvrir son porte-monnaie pour s'offrir le Serial ATA ne sert à rien -- si ce n'est à dire que l'on s'est mis à jour avant les autres, et que l'on fait partie des pionniers (bref, que l'on est "tech savvy").

C'est pourquoi les pages web -- encore rares -- qui traitent de la nouvelle interface, mentionnent principalement ses avantages secondaires (voir par exemple  Explosive Labs) :

    les câbles sont beaucoup plus minces, les connecteurs plus petits. Ils sont plus faciles à monter, ils prennent moins de place dans la machine, la ventilation se fait mieux ;
  il n'y a plus de cavalier à installer ou de micro-interrupteur (dip) à basculer pour déclarer le périphérique comme maître ou comme esclave ;
  les disques durs peuvent être connectés et déconnectés sans arrêter l'ordinateur (hot plug) ;
  la longueur maximale du câble (entre carte-mère et disque) est plus grande (1 m contre 0,6 m) ;
  les connecteurs sont plus petits et plus faciles à utiliser (blind mate) ;
  des adaptateurs arrivent sur le marché, qui permettent d'utiliser les anciens disques durs avec les nouvelles cartes-mères (l'inverse ne sera sans doute pas possible).

 
L'avenir

Serial ATA

Les premiers micro-ordinateurs équipés en standard de la nouvelle interface Serial ATA doivent faire leur apparition sur le marché à la fin de l'année 2003. Il faudra sans doute 1-2 ans pour que cette nouvelle interface s'impose à la totalité des machines.

A en croire les constructeurs, les premiers micro-ordinateurs utilisant la nouvelle interface Serial ATA devraient faire leur apparition sur le marché vers la fin de l'année en cours (2003). Il s'agira, dans un premier temps, des modèles haut de gamme uniquement. La présence de cette nouveauté sera sans doute utilisée comme argument pour essayer de réveiller un marché qui est en croissance lente. Les fabricants de disques durs ne s'attendent pas à recevoir des commandes conséquentes avant le début de l'année 2004. En effet, il faudra compter un à deux ans pour que la nouvelle interface se répande dans toute la gamme des PC.
 

Serial Attached SCSI

De parallèle, l'interface SCSI va, à son tour, devenir série et, par la même occasion, compatible avec le Serial ATA. Les premiers matériels ne sont pas attendus sur le marché avant 2004.

Comme nous l'avons déjà signalé, l'ATA est utilisé pour les PC, et le SCSI pour les serveurs et les stations de travail. Il n'y a pas de raison pour que le passage de l'ATA d'une interface parallèle à une interface série modifie cette situation, parce que le SCSI deviendra bientôt, lui aussi, une interface série (Serial Attached SCSI) ; les premières réalisations sont attendus sur le marché en 2004 au plus tôt. Ce nouveau SCSI devrait posséder toutes les propriétés de l'ancien. De plus, il devrait être compatible avec le Serial ATA, ce qui facilitera la cohabitation de disques SATA et SAS sur la même machine.
 

Conclusion

Les dispositifs de stockage interne utilisent l'interface ATA (mieux connue sous le nom IDE) dans les micro-ordinateurs et l'interface SCSI dans les serveurs. Ces deux interfaces, qui fonctionnent aujourd'hui en parallèle, fonctionneront demain en série. Cette transformation, qui intéresse essentiellement les constructeurs, sera transparente pour les utilisateurs.

L'ATA et le SCSI garderont leurs marchés respectifs. Ce ne sont pas ces interfaces, mais les performances des disques durs eux-mêmes, qui limitent la vitesse de transfert de l'information entre la mémoire vive et la mémoire de masse des machines, et cette situation perdurera.

Note précédente Liste des notes Page technique  Note suivante 
 
Accueil | Technique | Liens | Actualités | Formation | Emploi | Forums | Base
 
Copyright © CERIG/EFPG 1996-2003
Mise en page : J.C. Sohm