FreeBSD a 2 procesory

Jozef Babjak jozef.babjak at stuba.sk
Wed Apr 14 10:37:37 CEST 2004


> Ja mam na tom FreeBSD 4.9 a bezproblemov. S podporou je na tom ovela 
> lepsie 5.x ako 4.x 

  ^-- Podpora SMP je aj v -stable aj v -current, pricom v -current je
skutocne prepracovana, lepsie povedane, prepracovava sa. V 4.9 budu na
rozlicnych procesoroch bezat rozlicne procesy, ale nie rozlicne vlakna v
jednom procese; preto napr. apache pouziva prefork modul. V 4.9 je kernel
aj ovladace pod Big Giant Lock, takze v kode jadra moze operovat naraz iba
jediny proces. V 5.x sa toto prepracovava na jemnejsie zaymkanie, takze v
rozlicnych castiach kodu jadra budu moct pracovat viacere procesy ci
vlakna. Pokial mi je zname, tak v sucasnosti ovladace v -current nepracuju
pod BGL, ale virtual file system, memory management a dalsie klucove veci
zatial idu stale pod BGL.

Co sa tyka migracie procesov z jedneho procesora na druhy, ide o osemetny
problem: Ano, preradovanie taskov z jedneho procesora na druhy je
"pomale", dochadza k tzv. prelievaniu cache pama:ti a tym aj k ich
vytrashovaniu (co ale v *BSD nie je vdaka farbeniu stranok take vazne ako
napr. v Linuxe 2.4.x).  Je vsak diskutabilne, ci je lepsie proces ponechat
na jednom procesore a druhy nechat (takmer) idle, alebo prepnut proces na
necinny procesor:  prepinanie je neefektivne, ak do skoncenia tasku chyba
cas porovnatelny s prepnutim; ak pozadovany cas na vykonanie tasku je ale
radovo va:csi ako cas potrebny na jeho prehodenie na necinny procesor,
oplati sa ho prehodit. Vtip je v tom, ze u ziadnej ulohy sa neda urcit,
ako dlho este bude trvat. A ak by to aj u kazdej ulohy bolo zname, tak
optimalne priradit procesy procesorom je NP uplny problem!

Takze moje odporucanie: ak chcete FreeBSD na MP stroji a ide Vam len o to,
aby sa vyuzili oba procesory, pouzite 4.9; ak vsak potrebujete vyuzivat
procesory "efektivnejsie" (napr. mate narocnu mnohovlaknovu aplikaciu),
pouzite -current; efektivita -current sa vsak aj podla samotnych vyvojarov
fbsd povazuje za nedostatocnu.

Btw, na SMP sa vraj horlivo pracuje u OpenBSD a dobre by na tom s SMP malo 
byt BSDi, ale o tychto veciach nic blizsie neviem... 

J. 




More information about the Users-l mailing list