en SMP, c'est comme les Xéons et les Athlon MP, donc tu as des CPUS qui accèdent à une zone mémoire uniforme. En K8, vu que la mémoire est séparée sur chaque CPU, tu peux avoir des accès locaux et des accès distant, ça dépend quelle zone mémoire un process doit accéder. Du point de vue du CPU, toutes les adresse mémoire ne sont pas équivalentes niveau performance (Non Uniform Memory Architecture).
Sur K8, si on a un OS SMP classique, il voit l'ensemble de la mémoire comme uniforme et l'utilise comme telle. C'est pourquoi il vaut mieux entrelacer les quatres canaux.
Par contre, un OS NUMA sait quelle zone mémoire est directement connectée à quel CPU. Il peut donc optimiser en allouant de la mémoire dans une zone locale au process. Dans ce cas là, chaque process accède ses données en local, et les perfs sont meilleures.
Sous Linux, le noyau SMP classique marche comme il faut. Il existe un noyau avec le support NUMA. Je pense qu'on gagne un peu en perfs, mais je sais pas si c'est déjà finalisé et stable.
Message édité par deltaden le 23-07-2004 à 15:27:03