|
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
|