[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux-team] resultats bizarre pour context switch process/thread
Je ne suis pas bien sur de comprendre... tu as utilise quelle librairie pour les threads ? Quelle version du kernel ? Comment mesures-tu ?
Pour la vitesse, on ne gagne a utiliser des threads qu'au moment ou on les cree. En regime, les resultats devraient etre les memes ou a peu de chose pres entre threads et processus.
Je veux bien voir le code.
Tu peux faire quelquechose de relativement simple pour mesurer le temps du context switching sans introduire de perturbation.
N'sais plus la syntaxe mais voici le "pseudo-code":
<compteur_partage y>
void X () {
unsigned int i;
<attente sur y != 0>
for (i=0; i<100000000; i++); /* faut tuner la valeur */
}
main () {
<y=0>
<demarrer 100 threads sur la fonction X> /* threads NON detaches */
<y=1>
<signaler y (reveiller tous les threads en attente)>
}
Comme ca, il n'y a plus de synchronisation (sauf une seule fois au demarrage, ce qui est negligeable).
Of course, faut adapter le programme pour les processus.
Fred.
Frederic Dumont wrote:
>
> Voici le probleme grave et angoissant auquel je suis confronte : je voulais
> mesurer le temps d'un switch de contexte pour voir la difference entre
> processus et threads (bien que sous Linux, ce n'est pas si different).
>
> J'ai trouve un programme sur LinuxKernel (la m/l), qui s'occupe des threads.
> A partir de ce dernier, j'ai bricole un programme equivalent mais pour des
> processus (en utilisant IPC pour synchroniser).
>
> Et la, surprise : le context switch entre processus est systematiquement
> meilleur sur ma machine que le context switch entre thread.
>
> Alors, bien sur, grosse question : mais que ce passe-t-il ? La meilleure
> explication que j'ai pu trouvee est que les mecanismes de synchro du programme
> pour thread sont tres couteux. Une autre explication possible est que mon
> programme est completement foireux. Mais les resultats ont l'air coherent, et
> il n'y a pas beaucoup de place pour se tromper.
>
> Quelqu'un a-t-il une solution a cet epineux probleme ? Vais-je pouvoir dormir
> a nouveau (j'ai dit que j'etais angoisse).
>
> Je tiens a la disposition des curieux les programmes en question.
>
> --
> Frederic Dumont / / (_)__ __ ____ __
> frederic.dumont@gate71.be / /__/ / _ \/ // /\ \/ /
> PGP key 0711F125 /____/_/_//_/____/ /_/\_\ forever!!!!!!!
> Linux? It's an OS, Jim, but not as we know it.
> ---------
> Visit the Linux Supertore Online: http://www.redcorp.com !
> If you want to be deleted from the list, send a mail to
> majordomo@rtfm.be with "unsubscribe linux-team" in the body.
--
------------------------- * oOo * -------------------------
CiscoSystems
Frederic Detienne, CSE II
Security & Network Services
Tel 32 2 705 55 55
---------
Visit the Linux Supertore Online: http://www.redcorp.com !
If you want to be deleted from the list, send a mail to
majordomo@rtfm.be with "unsubscribe linux-team" in the body.