SMP a preruseni

valter valter na atlas.cz
Sobota Srpen 19 11:05:21 CEST 2000


Miroslav Petricek wrote:
> 
> marek cervenka wrote:
> 
> > idealni by tedy bylo pokud po pridani druheho procesoru
> > napr. jeden procesor obsluhoval 2 NIC a druhy treba dalsi 3 NIC
> 
> Tohle SMP neumí. Písmeno S ve zkratce znamená symetrický. To říká,
> že proces (přerušení) neběží vždy na tom samém procesoru. Jádro využívá
> strojový čas poskytovaný všemi procesory a symetricky jim předává
> úlohy ke zpracování podle toho který z procesorů je zrovna "volný".
> V SMP tedy nelze vyhradit jeden procesor, pro běh jedné jediné úlohy,
> nebo pro zpracovávání jen a jen přerušení od NIC. Lze ale nařídit
> zpracovávání všech přerušení jednomu (tzv. bootovacímu) procesoru.

Po aplikaci naleziteho patche na kernel umi Linux pridelovat
proces
urcitemu procesoru (standartne se sice snazi udrzet proces na tom
CPU, na
kterem ho spustil, ale neda se explicitne urcit, ktery to bude).

To se tyka procesu, obsluha preruseni je ale neco jineho.
Poznatky z praxe tvrdi, ze misto nekolika 100MB sitovych karet,
ktere 
produkuji pomerne dost INT pozadavky je vyhodnejsi pouzit jednu
GB 
sitovku.
(Tohle je z informacnich sprav a benchmarku)

Je to zpusobeno tim, ze kazda obsluha INT vola funkce jadra a to
se 
na urcitou dobu zamkne a neni k dispozici dalsim CPU.
Nazorny priklad spomaleni vypoctu zpusobeneho prave zamykanim
jadra 
je klient SETI na Home. kde pri dvou klientech na 2 CPU dojde k
narustu
dobe vypoctu o 50%.
(A tohle mam overene na vlastnim pocitadle)

-----------------------------------------
Valter @ SFK Acorn Senec, Slovak Republic
Europe, Earth, Solar System, Milky Way
134-th Dimension, Universe #6482311246243



Další informace o konferenci Linux