Re: karty i/o

Autor: Krzysztof Halasa (khc_at_intrepid.pm.waw.pl)
Data: Wed 08 Jan 1997 - 09:37:36 MET


Jarek Lis <lis_at_ict.pwr.wroc.pl> writes:

> In pl.comp.pecet Krzysztof Halasa <khc_at_intrepid.pm.waw.pl> wrote:
> : Praktyka pokazuje, ze obciazenie komputera Pentium-75 z dolaczona karta
> : 16*16550A i do nich ok. 10 modemami @ 57kbps nie wprowadza zauwazalnego
> : obciazenia maszyny (pracujacej pod Linuxem).
>
> A te modemy cos robia? Karta PCI, VLB, czy z wlasnym procesorem?

Jasne. Obsluguja klientow. Mozna przyjac np. 40% wykorzystanie modemow
28.8, bo to userzy z WWW, a tam sie zwykle czeka na zakonczenie transmisji,
i przy kilku polaczeniach tcpip na raz (kilka obrazkow na raz ciagnietych
przez netscape) powinno wyjsc 100%. Ale niech bedzie 40%.

Karta ISA, z 16550A. Wszystko interrupt-driven, na 1 przerwaniu. Chyba nie
ma rejestru, z ktorego mozna odczytac, ktory port wystawil przerwanie
- trzeba sprawdzic wszystkie.

Wlasciwie sklamalem troche - porty sa ustawione na 57kbps, ale to zwykle
modemy 28.8, a wiec znakow przychodzi/wychodzi tyle ile dla 28.8kbps.

> 10modemow w pelnym obciazeniu to transmisja ~60KB/s. Kazdy bajt
> to co najmniej dwie operacje I/O - na ISA po ~1.5us kazda.
> To juz wychodzi 180ms/s spedzone na obsludze portow.
> A inne instrukcje, narzut na obsluge przerwan, przelaczanie procesow?
> W dodatku owi uzytkownicy cos zapewne robia - czy to z sieci, czy
> z dysku korzystaja.
> W mniej niz 40% obciazenia nie uwierze...

Liczby liczbami, ale faktem jest, ze system nie jest zbytnio obciazony
- tzn. roznica z pracujacymi modemami i bez nich jest malo wyczuwalna
przy pracy w X (wlasciwie, to nie wiem, czy bylbym w stanie stwierdzic,
kiedy modemy pracuja, a kiedy nie).

Ale tak swoja droga, to cos zmyslasz. Jesli kazdy bajt to dla Ciebie
1.5us, to w takim razie Adaptec przy 5MB/s zuzywalby 5*10^6*1.5*10^-6 s/s,
czyli ok. 7.5 s/s (chodzi o rzad wielkosci, wiem ze to bus master).
To troche nierealne, nieprawdaz? A Adapteca daje sie uzywac z wieksza
szybkoscia niz 5 MB/s...

Chociaz jesliby dac te 5MB/s dla Adapteca, czyli 2.5M dostepow na sekunde,
i powiedziec, ze zajmuje to 100% czasu, to wtedy 2.5M^-1=400ns na dostep.
A wiec dla 10 modemow * 3KB/s =30 KB/s, po 2 operacje na bajt, czyli
30K*800ns=24ms/s, a wiec 2.4% czasu szyny ISA, po dodaniu narzutu na CPU
(iP75) - 5% czasu. To jest mozliwe :)
Nie wiem, czy 16550A nie mozna odczytywac ok. 1 operacja/bajt - ma bufor
16 bajtow, moze mozna odczytac, ile w nim znakow. To by jeszcze polepszylo
wyniki.

-- 
Krzysztof Halasa
Network Administrator of The Palace of Youth in Warsaw


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:51:19 MET DST