Threads x procesy

martin.kula na deltaes.cz martin.kula na deltaes.cz
Čtvrtek Říjen 11 13:03:17 CEST 2001


On Thu, 11 Oct 2001, Michal Dobes wrote:

> > Mozne reseni je obsluha sekvencne jednim procesem nebo soucasna obsluha
> > ....
> 
> Resim neco podobneho, akorat ta doba je takova, ze mam rucit za to, ze
> to
> 8 let nezdechne.

Tak nejak ;-))))))

> 
> > Pro druhy pripad mam nasledujici dilema:
> > pozit fork a 1-mnoho stejnych procesu nebo threads.
> 
> Jestli pouzijete fork nebo thready je na vas, ale doporucuji
> spustit maximalni pocet pripustnych treadu/uloh hned pri startu
> a predavat jim jen pozadavky k vyrizeni a jinak necht cekaji,
> protoze pokud budete vtvaret a likvidovat procesy podle prichozich
> pozadavku, tak po nejake dobe se to pravdepodobne zacne pokladat
> na nechutnosti typu VM: tryng free pages (ci jak to presne zni),
> zvlaste v pripade, ze vyuzivate dostupnou pamet celkem na doraz
> a 99% vykonu CPU to travi v real time casti (po nekolika tydnech
> behu uplynulo v linuxu nekolik minut).
> 
> Nejlepe si je vse hned pri startu spustit a naalokovat staticky,
> vcetne veskere pameti a delat si v ni vlastni rizeni.

Jo s tim pocitam

> Aspon s kernelem 2.2.19+RT Linux 3.1.

Ja to nemam tak uplne RT a navic jsem nucen pozivat jadra rady 2.4.x
(pravdepodobne 2.4.10-acX) takze jsem se RTlinuxu zatim nepoohlizel ;-)

> Zatim to ve svem vidim na thready: jeden obsluhuje data tekouci
> z RT casti, dalsi dela spravu pameti, treti vyrizuje komunikaci
> pres RPC-XML a posledni signalizacni komunikaci pres UDP.
> 
> Pri pouziti vicero procesu se clovek musi strasit se sdilenou
> pameti pres IPC, coz muze byt zdroj problemu.

Bohuzel tomu se nevyhnu protoze tam pobezi jeste procesy
(asynchronne) ktere budou muset s daty taky pracovat ;-(

> 
> Dalsi vyhodou pri doprednem spusteni a naalokovani vseho je 
> rychlejsi odezva. Ale to zalezi na vasi aplikaci.
> 
Right ;-)

Dik

Martin



Další informace o konferenci Linux