JDNet | Solutions | Emploi | Votre high-tech
 
Linternaute | Copainsdavant
Séminaires & Evénements | Etudes
   

Rechercher  

 
Sociétés Prestataires Carnet Formations Progiciels Encyclo Fonds Guide d'achat Comparateur Téléchargement Livres
Actualités
   2003
   2002
   2001
   Livres
Rubriques
   Java/J2EE
   PHP
   XML
   Client Web
   Technos .NET
   Flash
   Algo/Méthodes
   Outils

Dossiers
   Tous les dossiers

   PHP, Flash, SVG
   Perl / CGI - SSI
   Langages Web
   Services Web
   Sécurité
Ressources
   Interviews

   Téléchargement
   Composants
   Documentation
Contacts
   Rédaction
   Webmaster
© Benchmark Group


Guide de l'acheteur


10. Guide de l'acheteur

Contenu de cette section

Une question fréquente est :

"Linux gère un nombre plutôt élevé de contrôleurs différents. Quel contrôleur dois-je acheter ?"

La réponse dépend des performances que vous espérez ou dont vous avez besoin, de la carte mère et des périphériques que vous avez l'intention de connecter à votre machine.

10.1 Types de transfert

Le facteur le plus important affectant les performances (en terme de débit et de temps de réponse lors des E/S SCSI) est le type de transfert utilisé. La table ci-dessous liste les divers types de transfert, les effets de chacun sur les performances et quelques recommandations sur leur emploi.

Type de transfert

Description / Performance / Recommandations

Scrutation pure (Pure Polled)

Une carte d'E/S scrutée conduit le processeur central à faire tout le traitement SCSI, y compris le protocole REQ/ACQ.

Même un processeur rapide va être plus lent à gérer les séquences REQ/ACQ qu'une simple machine à états finis. Le débit peut descendre à 150Ko/s sur une machine rapide et parfois 60Ko/s sur une machine lente (à travers le système de fichiers).

Le pilote doit également se mettre en boucle (tight loop) tant que le bus SCSI est occupé, ce qui conduit à une utilisation de 100% du processeur et à des temps de réponse déplorables lors des E/S SCSI. Les lecteurs de CDROM lents qui ne se déconnectent/reconnectent pas vont complètement écrouler le système avec de telles cartes.

Non recommandées.

Scrutation inter-verrouillée (Interlocked Polled)

Les cartes utilisant des E/S à scrutation inter-verrouillée sont principalement les mêmes que les cartes précédentes, le protocole REQ/ACQ étant effectué conjointement avec les signaux de protocole du bus PC. Tous les traitements SCSI hors protocole REQ/ACQ sont gérés par le processeur.

Avec de telles cartes, des pointes de 500-600Ko/s peuvent être mesurées à travers le système de fichiers.

De même qu'avec les cartes à scrutation pure, le pilote doit se mettre en boucle tant que le bus SCSI est occupé, ce qui rend l'utilisation du processeur dépendante des taux de transfert des périphériques et des déconnexions/reconnexions. L'utilisation du processeur peut varier de 25% pour des lecteurs de CDROM simple vitesse qui gèrent proprement les déconnexions/reconnexions, à 100% pour les périphériques rapides ou les lecteurs de CDROM déficients qui n'arrivent pas à se déconnecter/reconnecter.

Sur mon 486-66, avec une carte T128, j'utilise 90% du processeur pour un débit soutenu de 547Ko/s avec un disque dont le débit maximum est de 1080Ko/s.

Ces cartes sont parfois acceptables pour des périphériques lents (bandes, CDROM) lorsque le prix est le principal critère.

Scrutation par FIFO (FIFO Polled)

Les cartes implémentant une scrutation par FIFO utilisent un tampon de taille réduite (typiquement 8Ko) entre le processeur et le bus SCSI et possèdent quelque intelligence. Le processeur principal n'est plus mis à contribution que lors des transferts de données à pleine vitesse avec la FIFO ou lorsqu'il termine le traitement des interruptions FIFO pour les conditions vides, les déconnexions/reconnexions, etc.

Les taux de transfert maximums devraient être suffisants pour traiter la plupart des périphériques SCSI et peuvent atteindre 4Mo/s sur un Seagate Baracuda rapide avec une Adaptec 1520 en utilisant des commandes SCSI directes de lecture de blocs de 64Ko.

L'utilisation du processeur central dépend des taux de transfert des périphériques, les plus rapides générant le plus d'interruptions et demandant donc plus de temps processeur. Bien que le taux d'utilisation du processeur puisse être important avec des périphériques rapides (jusqu'à 75%), le système reste utilisable. Ces cartes offrent une excellente réponse interactive avec des périphériques défectueux qui ne se déconnectent/reconnectent pas (typiquement, des lecteurs CDROM bon marché).

Recommandées pour un usage personnel, pour un budget raisonnable.

DMA esclave

Les pilotes pour les cartes mettant en oeuvre du DMA esclave programment le contrôleur DMA du PC pour un canal lorsqu'elles font un transfert de données et rendent le contrôle au processeur principal.

Les taux de transfert sont habituellement pénalisés par les mauvaises performances des contrôleurs DMA utilisés sur les PC, une telle carte 8-bits ne pouvant pas dépasser les 140-150Ko/s.

La consommation du processeur est très raisonnable, légèrement moins qu'avec les cartes à scrutation par FIFO. Ces cartes tolèrent parfaitement les périphériques défectueux qui ne se déconnectent/reconnectent pas (typiquement, des lecteurs CDROM bon marché).

Acceptables pour les lecteurs CDROM lents, les lecteurs de bandes, etc.

DMA à contrôle de bus (Busmastering DMA)

Ces cartes sont intelligentes. Les pilotes pour ces contrôleurs envoient dans une structure d'E/S une commande SCSI, l'identificateur de la destination et de son unité logique, ainsi que l'adresse de fin des données, puis ils avertissent la carte qu'ils ont une commande pour elle. Le pilote rend la main au système et la carte répond plus tard pour signaler qu'elle a terminé l'E/S.

Puisque l'intelligence est dans le firmware du contrôleur et non dans le pilote, les pilotes pour ces cartes supportent classiquement plus de fonctionnalités - transferts synchrones, files marquées (tagged queuing), etc.

Avec les patches de lectures/écritures groupées, des taux de transferts à travers le système de fichiers atteignent pratiquement 100% des performances maximales en écriture et 75% en lecture.

L'utilisation du processeur est réduite à son minimum, quelle que soit la charge des E/S, avec 5% d'utilisation sur des accès à un CDROM double vitesse via une Adaptec 1540 et 20% lors d'un transfert soutenu à 1,2Mo/s sur un disque SCSI.

Recommandées dans tous les cas où le prix n'est pas la priorité, où la carte mère n'est pas défectueuse (certaines de ces cartes ne fonctionnent pas avec le contrôle de bus) et où des applications pour lesquelles le temps d'obtention des données est plus important que le débit (le supplément (overhead) dû à l'utilisation d'un contrôleur de bus est de 3-4ms par commande) ne seront pas utilisées.

10.2 Découpage/Réassemblage (Scatter/gather)

Le second point le plus important pour les performances est la gestion des E/S par découpage/réassemblage. Le supplément d'exécution d'une commande SCSI est non négligeable (de l'ordre de plusieurs millisecondes). Les contrôleurs de bus intelligents tels que l'Adaptec 1540 peuvent prendre 3-4ms pour traiter une commande SCSI avant même que la cible ne la reçoive. Sur les périphériques non bufferisés, ce supplément est toujours suffisant pour manquer un tour de galette, ce qui conduit à des taux de transfert de 60Ko/s (sur un lecteur à 3.600 tours/minute) par bloc transféré. Ainsi, pour maximiser les performances, il est nécessaire de minimiser le nombre de commandes SCSI envoyées pour transférer une certaine quantité de données en augmentant le nombre d'octets transférés pour chaque commande. La conception du cache des tampons de Linux fait que les blocs disque contigus ne sont pas contigus en mémoire. Avec les patches de lectures/écritures groupées, 4Ko utiles de données sont! ! ! contigus. La taille totale des blocs transférés en une seule commande SCSI est donc de 1Ko * nombre de régions de découpage/réassemblage sans le patch et de 4Ko * nombre de régions avec. Nous avons déterminé expérimentalement que 64Ko est une valeur raisonnable pour une seule commande SCSI - c'est-à-dire 64 buffers de découpage/réassemblage sans le patch, 16 avec. Suite au changement de 16Ko à 64Ko des transferts, nous avons observé une amélioration de 50% du débit maximal, à travers le système de fichiers, pour les écritures et les lectures, à 100% pour les premières et 75% pour les secondes, avec une carte Adaptec 1540.

10.3 BAL contre non-BAL (Mailbox vs. non-mailbox)

Certains contrôleurs intelligents, comme les cartes Ultrastor, WD7000, Adaptec 1540, 1740 et BusLogic ont utilisé une interface de type boîte aux lettres, dans laquelle les commandes SCSI sont exécutées simplement en plaçant une structure SCSI à une adresse mémoire donnée (BAL), en le signalant à la carte (c'est-à-dire en positionnant un indicateur d'émission pour la BAL), puis en attendant une réponse (courrier entrant). Grâce à cette interface de programmation de haut niveau, les utilisateurs peuvent souvent mettre à jour leur carte pour bénéficier des avantages des nouvelles fonctionnalités, telles que le FAST ou le WIDE SCSI, sans modifications du logiciel. Les pilotes ont tendance à être plus simples, à offrir plus de fonctionnalités et à être plus stables.

D'autres contrôleurs intelligents, comme la famille des NCR53c7/8xx ou les composants Adaptec AIC-7770/7870 (comprenant les cartes 274x, 284x et 2940) utilisent une interface de programmation de moins haut niveau. Leurs performances peuvent être meilleures, puisque la charge de travail peut être répartie entre le processeur de la carte et le processeur (plus rapide) principal de la machine. Ils offrent également une plus grande souplesse pour la réalisation de certaines fonctionnalités (le mode cible (target mode) pour certains périphériques par exemple). De plus, ces cartes peuvent être plus économiques à la production (dans certains cas, cette économie se retrouve au niveau du consommateur - voir les NCR). En contrepartie, les pilotes sont plus compliqués (comprenez : sont plus sujets à avoir des erreurs) et ils doivent être modifiés pour prendre en compte les fonctionnalités présentes sur les composants plus récents.

10.4 Les types de bus

Le type du bus est le prochain choix à considérer (ISA, EISA, VESA et PCI). Les personnes chargées du marketing clament souvent des débits maximums (bandwidth) absurdes, basés sur des taux de transfert en rafale (burst) qui relèvent presque de la fiction et qui ne servent de toute façon à rien. Par opposition, j'ai choisi de parler de valeurs réalistes, quotidiennes, basées sur les performances mesurées avec divers périphériques.

Bus

Débit maximum / description,

ISA

Le débit maximum est légèrement meilleur que 5Mo/s pour des cartes à contrôle de bus. Avec un bus ISA, l'arbitrage des contrôleurs de bus est réalisé par un vénérable DMA 8237 ; les temps d'acquisition du bus sont relativement médiocres. Les pilotes d'interruptions sont à trois états (tri-state) ou sur changement d'état (edge triggered). Cela signifie que les interruptions ne peuvent pas être partagées. Généralement, l'ISA n'est pas bufferisé et le bus mémoire de la machine hôte est occupé à chaque transfert. Aucun mécanisme n'existe pour empêcher une saturation du bus.

VESA

Le débit maximum se situe aux alentours de 30Mo/s. Certains systèmes VESA exploitent le bus en dehors de ses spécifications, ce qui les rend incompatibles avec certaines cartes. Tenez-en compte au moment d'acheter votre matériel s'il ne bénéficie pas d'une garantie. Généralement, le VESA est non bufferisé ; le bus mémoire de la machine hôte est occupé à chaque transfert.

EISA

Le débit maximum se situe aux alentours de 30Mo/s, les opérations de contrôle de bus étant généralement plus rapides que pour le VESA. Certains systèmes EISA bufferisent le bus, ce qui permet d'observer des transferts en rafale vers le bus mémoire de la machine hôte, plus rapide, et de minimiser l'impact sur les performances du processeur central. Les gestionnaires d'interruptions EISA peuvent être à trois états (tri-state), sur changement d'état (edge triggered) ou actifs sur collecteur ouvert (open collector level-active) ; cela permet le partage des interruptions avec les autres gestionnaires qui le gèrent. Puisque l'EISA alloue un espace d'adressage séparé pour chaque carte, il est habituellement moins sujet aux conflits de ressources que l'ISA ou le VESA.

PCI

Le débit maximum se situe aux alentours de 60Mo/s. La plupart des systèmes PCI utilisent des tampons d'écriture différée (write posting buffers) sur la carte, ce qui permet de minimiser l'effet des transferts rapides de part et d'autre sur les performances du bus et du processeur central. Les gestionnaires d'interruptions PCI sont actifs sur collecteur ouvert ; cela permet le partage des interruptions avec les autres gestionnaires qui le gèrent. Des mécanismes sont prévus pour éviter la saturation du bus et pour permettre à l'esclave et au maître de suspendre une opération de contrôle de bus.

Puisque le PCI offre un mécanisme plug-n-play via des registres de configuration réinscriptibles sur chaque carte, dans un espace d'adressage séparé, un système qui implémente correctement la gestion PCI est plug-and play.

Le PCI est très sévère sur la longueur des pistes, la charge, les spécifications mécaniques, etc. et devrait finalement être plus fiable que le VESA ou l'ISA.

Pour résumer, le PCI est le meilleur bus pour PC ; il a cependant des inconvénients. Le PCI en est encore à ses balbutiements et, bien que les constructeurs aient corrigé les problèmes, il circule toujours quelques vieilles cartes au composant PCI ou au BIOS défectueux. Je recommanderais pour cette raison que vous vous assuriez de pouvoir retourner le matériel en cas de défaut. Si les plus récentes cartes PCI sont véritablement plug-and-play, les anciennes cartes nécéssitaient une intervention de la part de l'utilisateur pour positionner correctement les cavaliers et configurer le logiciel (l'affectation des interruptions par exemple). Bien que la plupart des utilisateurs aient résolu leurs problèmes PCI, cela a demandé du temps et je déconseillerais l'achat d'une carte PCI si la disponibilité du système est très critique.

Pour de nombreux périphériques SCSI lents (disques à 2Mo/s ou moins, lecteurs de CDROM, lecteurs de bandes), il n'y a pas de grandes variations de débit en fonction de l'interface avec le bus du PC. Pour les disques SCSI actuels (typiquement, les derniers disques haut de gamme de plusieurs giga-octets ont un taux par tête de 4 à 5Mo/s et plusieurs compagnies expérimentent des disques à 14Mo/s par tête), le débit sera nettement meilleur avec des contrôleurs sur des bus plus rapides ; certains ont même relevé un facteur d'amélioration de 2,5 en passant d'une carte ISA Adaptec 1542 à une carte PCI NCR53c810.

A l'exception des cas où un mécanisme d'écriture différée ou de bufferisation des écritures est mis en oeuvre, lorsqu'un des bus de votre système est occupé, tous les autres bus sont inutilisables. Ainsi, bien qu'une saturation du bus n'affecte pas les performances SCSI, elle peut avoir un effet négatif sur la réponse interactive du système. Par exemple, si vous avez un disque SCSI à 4Mo/s en ISA, vous perdrez 80% de votre bande passante. Dans un système ISA/VESA, vous n'obtiendrez pas mieux que 6Mo/s. La plupart du temps, l'impact sur les tâches en arrière plan est également très sensible.

Notez bien qu'avoir plus de 16Mo de mémoire n'implique pas l'utilisation d'une carte SCSI à contrôle de bus ISA. Contrairement à certains autres systèmes d'exploitation, Linux effectue une double bufferisation lors des transferts à accès direct mémoire (DMA) sur un contrôleur ISA à destination d'une zone au-delà des 16Mo. De tels transferts ne sont pénalisés que de 1,5%, ce qui est très raisonnable.

Pour terminer, la différence de prix pour des cartes à contrôle de bus pour chacune de ces interfaces de bus est souvent minime.

Avec tout cela à l'esprit, en fonction de vos priorités, vos préférences iront vers

Comme je l'ai déjà mentionné plus haut, le contrôle de bus (bus mastering) plus que tout autre mode de transfert aura un impact bénéfique sur les performances de tout le système et il doit être plus important dans votre choix que le type de bus au moment de votre achat d'une carte SCSI.

10.5 Périphériques multiples

Si vous envisagez d'utiliser plusieurs périphériques sur votre bus SCSI, assurez-vous que votre contrôleur est capable de supporter plusieurs commandes en attente à un instant donné. C'est essentiel pour les lecteurs de bandes et souhaitable si vous comptez mélanger des périphériques de vitesses différentes (un lecteur de CDROM et un disque dur, par exemple). Si le pilote Linux ne gère qu'une seule commande à la fois, vous risquez de bloquer vos entrées/sorties avec vos disques durs pendant que le lecteur de bandes rembobine ou va à la fin de la cassette (cela peut durer une demi-heure). Avec deux disques, le problème n'est pas aussi sensible, bien que le débit atteigne la moyenne des deux transferts, plutôt que leur somme.

10.6 Les options SCSI-I, SCSI-II, SCSI-III FAST et WIDE, etc.

Au fil des ans, le SCSI a évolué, les nouvelles versions de la norme apportant de meilleures performances, des méthodes pour augmenter les débits, des commandes normalisées pour les nouveaux périphériques et de nouvelles commandes pour les périphériques déjà supportés.

En tant que telles, les évolutions de la version ne signifient rien. Exception faite de quelques détails mineurs (du genre : le SCSI-II n'autorise pas l'option "initiateur unique" du SCSI-I), les versions sont compatibles ascendantes, les nouvelles fonctionnalités étant intégrées en tant qu'options et n'étant pas obligatoires. La décision d'appeler un périphérique SCSI SCSI-I, SCSI-II ou SCSI-III est donc entièrement un choix de vente.

10.7 Comparaison des pilotes

Comparaison des pilotes (les chips supportés sont listés entre parenthèses)

Remarques :

  1. Les pilotes marqués d'un astérisque (*) ne sont pas inclus dans la distribution du noyau et des images de démarrage binaires peuvent ne pas être disponibles.
  2. Les nombres suffixés par un 's' représentent des limites arbitraires dans le logiciel, qui peuvent être changées par un #define au moment de la compilation.
  3. Les limitations matérielles sont indiquées par le suffixe 'h' et peuvent différer des limites logicielles actuellement imposées par les pilotes de Linux.
  4. Des nombres sans suffixe peuvent indiquer soit des limitations matérielles, soit des limitations logicielles.
  5. La version 5 du pilote NCR53c810 est incluse dans les noyaux standard 1.2.x et 1.3.x ; la version 10 peut être téléchargée par FTP anonyme.
  6. A l'exception de la AM53C974, les cartes à contrôle de bus DMA sont intelligentes ; les NCR exécutent du microcode depuis la mémoire principale, les AIC7770 exécutent leur microcode depuis de la mémoire embarquée sur le composant, toutes les autres utilisent une interface du style BAL (mailbox).

10.8 Comparaison des contrôleurs

(reportez-vous au chapitre Cartes contrôleurs multi-maîtres BusLogic pour des détails sur d'autres cartes BusLogic)

Remarques :

  1. Trantor a été récemment rachetée par Adaptec et certains de leurs produits sont maintenant vendus sous le nom d'Adaptec.
  2. Suite à un dépôt de bilan, il n'existe plus aucun support technique à cette heure pour les cartes Ultrastor.
  3. Le prix des cartes à contrôle de bus NCR53c810 n'est pas une erreur de frappe ; il inclut le paquetage standard des pilotes ASPI/CAM pour DOS, OS/2 et Windows (accès 32 bits) et d'autres pilotes peuvent être téléchargés gratuitement. Certains n'ont pas eu à se plaindre de la compagnie

    Au 23 décembre 1995, leur prix était de $53 pour les cartes '810.

  4. Les derniers composants SCSI d'Adaptec font montre d'une sensibilité inhabituelle aux problèmes de câblage et de terminaison. C'est pourquoi je ne recommanderais pas les cartes Adaptec 154x C et CF, pas plus que la série 2xxx. A remarquer que ces problèmes de fiabilité ne sont pas constatés sur les vieilles cartes 154x B et 174x A ou encore, d'après ce que j'en sais, sur les cartes à base des composants AIC-6360/AIC-6260 (1505, 1510, 1520, etc.). La qualité de leur support technique a également baissé, les délais se sont fréquemment allongés et les employés sont incompétents (arguant par exemple de certaines clauses de confidentialité sur des documents, alors qu'il n'y en avait pas), parfois hostiles (refusant de passer les questions à d'autres techniciens lorsqu'ils sont incapables d'y répondre eux-mêmes).
  5. Si des utilisateurs désirent une collaboration ou veulent établir des relations 'politiques' avec Adaptec, les remarques précédentes doivent êtres prises en considération. Cela étant, les Adaptec 152x/1510/1505 sont meilleures que les autres cartes ISA dans la même gamme de prix et il y a des affaires à faire avec des cartes usagées ou des surplus de 154x B et 1742, ce qui, à mon avis, doit faire oublier le problème du support.
  6. Toutes les cartes DPT peuvent être mises à jour avec des modules mémoire (cache) et raid. Toutes les cartes sont également disponibles en versions "Wide" et/ou différentielles.
  7. Les cartes NCR ne sont pas toutes équivalentes. Ainsi, alors que l'ASUS SC200 utilise une terminaison active, la plupart des autres cartes NCR53c810 utilisent une terminaison passive. Presque toutes les cartes '825 ont une terminaison active, mais certaines ont une ROM pour le BIOS tandis que d'autres ont une ROM Flash. La plupart des cartes '825 ont un large connecteur externe, un large connecteur interne et un connecteur interne fin, bien que quelques-unes n'aient pas ce dernier (les cartes bon marché de CSC).

10.9 Pour résumer

La majorité des utilisateurs de cartes ISA, EISA, VESA et PCI seront probablement mieux servis par les cartes multi-maîtres BusLogic, de par leur performance, leurs fonctionnalités (comme la terminaison active) et leur compatibilité avec les Adaptec 1540. Un certain nombre de modèles est disponible avec des interfaces EISA, ISA, PCI et VESA, en terminaison simple ou différentielle, en 8 ou 16 bits. Les tous récents modèles Ultra SCSI PCI, les BT-948/958/958D, incluent également une ROM Flash pour faciliter les mises à jour du firmware et une terminaison automatique "adaptative" (smart termination).

Les personnes désirant tirer les meilleures performances d'E/S peuvent envisager l'acquisition de cartes de chez DPT, qui sont les seules à gérer le RAID, le cache et plusieurs canaux SCSI.

Les personnes avec des systèmes PCI pourront regarder du côté des cartes basées sur le composant NCR53c8xx. Ce sont des cartes à contrôle de bus ; on peut trouver des '810 à $53 l'unité (c'est-à-dire moins chères que les Adaptec 1520). Le magazine C't a évalué certaines de ces cartes. Il ressort des tests qu'elles sont plus rapides que les Adaptec 2940 et les BusLogic BT-946C (sous DOS) et qu'elles s'en tirent honorablement sous Linux (jusqu'à 6Mo/s à travers le système de fichiers). Les inconvénients de ces cartes comparées aux BusLogic est qu'elles ne sont pas compatibles avec les Adaptec 1540, qu'elles peuvent être livrées avec ou sans terminaison active et que vous allez devoir récupérer les dernières versions des pilotes (standard dans les noyaux 1.3.5x et disponibles par FTP pour les noyaux 1.2.x) pour exploiter pleinement le matériel, et qu'enfin vous aurez peut-être plus de problèmes qu'avec des interfaces de type BAL (mailbox) comme sur les BusLogic ou les DPT.

S'il est important que tout marche du premier coup, une carte multi-maîtres BusLogic ou DPT est probablement le meilleur choix, la simplicité des interfaces de type BAL comparée à la complexité des interfaces des NCR53c8xx et des Adaptec AIC7xxx faisant la différence.

Ceux qui veulent des cartes non PCI pour un petit budget seront certainement heureux de trouver leur bonheur dans les surplus de cartes Adaptec 154x B ou 174x A, voire avec des clones d'Adaptec 1520 (aux alentours de $80) pour des cartes neuves. Ces cartes ont des débits et une réponse interactive acceptables pour un prix modique.

Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre

[22 février 2002, JDNet]

Société | Contacts | Publicité | Presse | Recrutement | Tous nos sites | Données personelles
Pour tout problème de consultations, écrivez au Webmaster.
© Benchmark Group, 4 rue diderot 92156 Suresnes Cedex