[gull] ralentissement
Daniel Cordey
dc at mjt.ch
Wed Dec 20 09:16:03 CET 2006
On Tuesday 19 December 2006 18:40, Daniel Pfenniger wrote:
> Une autre facon de bourrer une machine est de saturer les accès à la
> RAM de manière non-séquentielle, ce qui cause des fautes de cache.
> Les FFT entrent dans cette catégorie je crois.
C'est possible. Cela depend simplement de la taille du vecteur. Le phenomene
de "cache thrashing" est bien connu et present justement dans les problemes
de calculs; surtout lors du traitement de matrices. Dans ce cas, tout est
affaire de taille et de sens dans lequel les matrices sont parcourues.
Probleme connu des lignes/colonnes contre colonnes/lignes. Dans ce genre de
situation, il y a simplement un seuil de performances des que la cache du CPU
est remplie. Si l'on peut tracer l'evolution de la performance de petites
matrices/vectuer avec la fonction AX + B, des que l'on atteind la limite de
la cache CPU (Je passe sur L1, L2, etc), seul le coefficient B change. Mais
cela ne mene pas au probleme mentionne par Cedric.
Dans tous les cas, le process accumule du temps CPU, qu'il accede la memoire
suite a un cache-miss ou effectue une boucle a l'interieur du CPU... Donc, ce
process ne devrait pas pouvoir monopolyser autant de ressources simplement
sur la base de cache-miss. Je vais examiner les vmstat/iostat ce matin quand
j'aurai un moment.
Il est vrai comme tu l'as mentionne qu'il y a un antagonisme entre les besoins
d'un serveur qui veut maximiser le throughput
A plus tard
dc
More information about the gull
mailing list