Re: Bi Processeur : question bete

Top Page

Reply to this message
Author: Olivier_Allard-Jacquin
Date:  
CC: guilde
Subject: Re: Bi Processeur : question bete
> > Bonjour à tous,
> >
> > une question bête : j'ai un serveur Bi Processeur (Bi Ppro 200), et
> > j'aimerais que certaines taches s'effectuent sur un processeur, et
> > d'autre sur l'autre, pour repartir la charge du système. Qu'en

pensez-vous ?
>
> Je ne pense pas que ça soit plus efficace que de laisser faire le
> scheduler - surtout celui du 2.6 qui est assez efficace.


        Je ne suis pas tout à fait du même avis : Dans le cas d'un process 
faisant des calculs en continus et assez petit pour tenir dans la cache 
d'un CPU, on doit pouvoir gagner quelques pourcentages de vitesse en le 
faisant tourner tout seul sur un seul CPU. C'est a mon vis spécialment 
intéressant pour les processeurs qui ont un mécanisme de synchronisation 
de cache pas très optimisé. Je pense notament aux Athlons montés sur des 
CM à chipsets MP et non MPX.


        Cela peut être aussi intéressant si on veut limiter l'augmentation 
de température d'un des CPU. Sur mon bi-athlon par exemple, le processeur 
situé le plus près du centre de la machine est 5 degrès plus chaud que 
celui situés sur le bord, ce qui représente 10% d'écart quand même... Dans 
le même registre des observations, lorsque je lance un calcul important et 
suffisament long, je vois nettement que le process passe successivement 
d'un processeur à l'autre au bout d'une durée variable assez longue (une 
trentaine de seconde par exemple).


        Il existe un patch du kernel qui a été developpé afin de régler 
l'affinité (c'est le terme employé pour ce problème là) d'un process sur 
l'un ou l'autre des CPU : 
http://linux-diag.sourceforge.net/Cpu_affinity.html . Il se présente sous 
la forme d'un module du kernel, avec qui on dialogue dans le user-space 
via un programme. Pour des raisons évidentes, il faut avoir les droits 
root pour utiliser ce programme.


        Je l'ai essayé l'année dernière, et il marche plutôt bien. D'après 
le site web, il est maintenant intégré dans le kernel 2.5 et a été rétro 
porté dans le le 2.4.


Olivier