Optimisation des taux de
transferts des modems

2ème partie

Dernière Mise à Jour, 19 septembre 2000



Comprendre les Surcharges
des ports de communication

L'optimisation de vos valeurs de MaxMtu et de RWIN n'est pas tout ce qu'il est possible de faire pour optimiser les taux de transfert des modems. Cette section vous enseignera encore quelque trucs et astuces pour augmenter les taux de transfert de votre modem à leur maximum .

Des taux de transferts élevés ne sont pas nécessairement une garantie par le seul fait que vous obtenez de belles valeurs lors de vos téléchargements tel que semble le démontrer votre programme de surveillance des activités modems. En effet, sous ces valeurs peut se cacher un ennemi vicieux qui, la majeure partie du temps demeurera invisible pour ces programmes et je parle ici de la surcharge du port de communication sur lequel est branché votre modem.

Les débordements des ports de communications sont des problèmes qui surgissent lorsque les données emmagasinées dans la mémoire tampon du FIFO situé à l'intérieur du UART qui est en charge de votre port de communication sur lequel est relié votre modem ne sont pas vidées assez rapidement. Ce phénomène est ce qui se produit lorsqu'on utilise une valeur RWIN trop grande mais cette fois, c'est au niveau de votre PC que le problème est localisé.

Supposons un instant que notre modem souffre de débordement du port COMM. Pour savoir ce qui pourrait se produire. Un débordement du port de communication est provoqué par le CPU qui ne répond pas assez rapidement à la requête d'interruption transmise par le modem qui exige que son tampon mémoire soit vidé. Dans la plupart des ordinateurs modernes, il s'agit d'une petite région de mémoire d'une largeur de seulement 16 bits. Cet espace de 16 bits dans la pratique n'est jamais totalement utilisé. Le nombre de bits disponible dépend de la façon que vous avez ajusté les paramètres du port de communication sur lequel votre modem est relié dans Win95 . Par défaut, cette valeur est de 8 ainsi le circuit de déclenchement permettra seulement à 8-bits d'être emmagasiné dans la mémoire tampon du FIFO avant que la demande de le vider soit faite. Cette valeur peut être ajustée de 1 à 14 dans vos configurations de port de communication de Win95. Les valeurs plus basses sont habituellement employées pour traiter les problèmes de débordement tandis que les valeurs plus élevées sont employées pour rehausser les performances du taux de transferts.

Le fait que le CPU n'ait pas répondu sufisamment rapidement pour vider le tampon mémoire du FIFO n'empêche pas les données de continuer à entrer et d'écraser les données déjà emmagasinées dans cet espace de mémoire. Ces données ainsi écrasées seront manquantes et le serveur distant devra les retransmettre!

Il y a seulement une seule façon de savoir avec certitude si vous éprouvez réellement des débordement de COMMsports de communication et c'est en activant le journal de bord dans la configuration accès réseau distant de Win95. Quand vous avez le journal de bord activé, vous faites une session Internet intensive en utilisant tous les logiciels Internet avec lesquels vous travaillez habituellement et après quelques heures, vous vous débranchez et vous consultez le journal de bord du modem. S' il y a eu des débordements, leur nombre total sera affiché dans le journal.

Les débordements dépassant 50 par période d'une heure devraient êtres considérés comme sérieux! Maintenant, si vous obtenez des débordements supérieurs à 100 dans une session d'une heure bien vous avez un réellement un gros problême et vous devrez en déterminer la cause exacte.

La plupart des cas de débordements de ports de communications sont provoqués par quelque chose qui occupe l'attention du CPU et qui la ralentit assez pour qu'il ne puisse plus rafraichir la mémoire tampon du FIFO assez rapidement ainsi, toute nouvelle entrée de données écrase celles déjà présentes en attente de transfert. Cette situation est souvent provoquée par la carte vidéo qui requiert souvent beaucoup de puissance de la part du CPU. Par exemple j'ai eu ce problème avec ma carte Matrox Millenium 4Wram et il a été résolu en ajoutant la ligne suivante dans la section 386(enh) du fichier system.ini

[mga.drv]
PCIChipSet=1

cette ligne a pour effet de désactiver le traitement en priorité du bus PCI sur lequel loge la carte graphique. Désactiver cette option a pour effet de ralentir sensiblement les performances de la carte graphique mais c'était le sacrifice à faire du moins dans mon cas.

Une des causes les plus connues pour les dépassements des ports de communications sont les cartes vidéo basées sur le Chipset graphique S3 qui obtienne des performances élevées grâce à leurs pilotes qui volent littéralement les cycles d'interruptions du CPU! Ce qui a pour résultat de tenir votre CPU si occupé qu'il n'a plus le temps pour répondre aux requêtes d'interruptions exigées par les ports de communications. La solution est une mise à jour de ces pilotes, et d'utiliser l'option pour mettre le mode "speed-up" à OFF.

Une autre façon de résoudre le problème consisterait aussi à réduire vos déclenchements de mémoire tampon du FIFO. Votre configuration du port de comunication dans Win95 vous permet d'ajuster cette valeur de 1 à 14. Des valeurs plus basses pourraient vous aider à traiter quelques-uns ou la plupart de vos dépassements mais en contre-partie, cela exigera davantage de puissance du CPU. Par exemple l'utilisation d'une valeur de 4 (deuxième position du curseur) indiquera au déclencheur du FIFO de demander l'interruption du CPU pour chaque 4 bits emmagasiner dans sa mémoire tampon. Les chances de dépassement sont ainsi reduites au minimum car les données emmagasinées y resteront pendant une plus courte période. D' autre part, l'utilisation de la valeur 14 pourrait également aider parce qu'elle permet à la mémoire tampon d'emmagasiner davantage de données donc nécessitant une intervention moins fréquente du CPU. La seule façon de savoir si vous obtiendrez du succès avec cette méthode est par l'expérimentation!

En résumé, les débordements du port de communication peuvent provenir de plusieurs endroits dans votre ordinateur et vous pourriez devoir faire plusieurs tentatives avant de pouvoir résoudre le problème mais vous n'avez pas tellement d'autres choix si vous voulez réellement optimiser vos performances de taux de transfert et vous allez devoir trouver ce qui empêche le CPU de répondre!

Suite: Un driver Winsock plus efficace