[SOS] phénomène étrange dans mon scheduler tous simple...

Daniel Lezcano dlezcano at free.fr
Mar 22 Nov 15:01:23 CET 2005


Romain LABBE wrote:

>Salut Daniel,
>
>Parfaite cette explication, tres simple tres clair.
>Je vois un peu mieux ou situer ces caches dans la pyramide.
>
>Est-ce que tu aurais un ordre de grandeur du nombre de threads (si
>simple) qu'il est possible de faire tourner sur un OS standard ou sur
>SOS ?
>
>Merci pour ces explications.
>  
>
Sur SOS, je ne sais pas, je n'ai pas lu tout le code. Je suis un peu a 
la bourre sur les
chapitres. Mais ce que je sais sur linux, c'est que sur un noyau 2.4 
l'ancien scheduler
est de type O(n) (si me souviens bien) et donc plus il y a de threads 
plus ca rame
parce-que la recherche du processus eligible est plus longue.
Dans le noyau 2.6, le scheduler est de type O(1), ce qui veut dire que 
quelque soit le
nombre de threads, le temps pour la recherche du processus eligible est 
constant.

Ca c'est du point de vue du scheduler donc du noyau. Mais du point de 
vue applicatif,
plus tu as de threads, moins tu as de quantum de temps pour l'execution 
et plus tu as
de context switch donc tout depend de la puissance de la machine.

Dans la theorie, le nombre de threads est illimite, dans la pratique la 
valeur max de
threads est de l'ordre de 32000. Mais si toutes les threads 
"travaillent", a partir de 2000
threads, ca commence vraiment a ramer... sur un P4 bi - Xeon hyperthreade.

Ce qui fait la difference est la puissance de ta machine, ce qui est 
finalement le but
recherche...

    - Daniel

ps :  j'ai un clavier anglais, donc pas d'accent...



Plus d'informations sur la liste de diffusion Sos