[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