fork() a thready (was Re: Linux vs. NT III. (o 266% r ychlej±í, NT))

Zbynek Vyskovsky rat na atrey.karlin.mff.cuni.cz
Pondělí Červen 28 15:54:32 CEST 1999


On Mon, Jun 28, 1999 at 12:10:44PM +0100, Petr Novotny wrote:

> >    Jeneze pokud je fork na Linuxu temer to same to pthread_begin, tak je
> > potom jedno, jestli je server multithreadovany, nebo neni.
> 
> No jo, to je.
 Dle meho nazoru zdaleka ne, je o dost "levnejsi" - krome duvodu uvedenych
nize jeste jedna podstatna vec pri vytvareni - nemusi se vsechny stranky
mapovat read-only, vytvaret nove strankovaci tabulky apod.

> Ted se nezlobte, budu-li rikat nesmysly, ale takhle jsem to slysel: 
> Kdyz Intel procesor prepina kontext mezi procesy, musi toho 
 Konkretne Linux nevyuziva Intelovskych instrukci urcenych k prepinani
procesu, pouze loaduje task-register (jenom to dvoubytove cislo).

> reloadovat vyrazne vice, nez kdyz prepina kontext mezi thready - v 
> druhem pripade jen reloaduje obsahy registru a nedela vubec nic s 
> pameti. Switch je tedy rychlejsi. Neumim odhadnout, o kolik 
> procent se tu jedna. Navic nevim, zda pri context switchi mezi 
> procesy neni cast pametove cache invalidovana (meni ci nemeni se 
> selektory?).
 Selektory se meni, neni vsak treba menit cr3 a nedochazi tedy ke znevalidneni
strankovaci cache. Pri Intelim zpusobu prepinani se meni uplne vsechno.

> Pokud kecam blbosti, hned me zarazte. Rad bych mel argument, 
> proc ze jsou thready na WinNT spatne ci nanic :-)
 Spatne jsou z toho duvodu, ze nemaji zcela sdilenou pamet. Coz ma na druhe
strane sice vyhody, ale to je vec jina :-)

-- 
	Zbynek Vyskovsky
		rat na atrey.karlin.mff.cuni.cz
		http://atrey.karlin.mff.cuni.cz/~rat


Další informace o konferenci Linux