L'architecture NUMA (No Uniform Memory Access
ou No Uniform Memory Architecture) est 1 des 2 technique multiprocesseurs
avec le SMP
utilisée dans les serveurs réseaux. La
technologie permet de regrouper des groupes de processeurs, utilisant leur
propre mémoire locale, reliés entre-eux par des bus spécifiques. Dans un
système NUMA, l'accès à la mémoire est plus rapide pour un processeur vers
sa propre mémoire que vers les autres mémoires du système. Cette différence
de délais s'amenuise néanmoins, regroupant ainsi les architectures UMA (SMP) et
NUMA. Le partage de la mémoire et des périphériques internes implique que la
technique multiprocesseur NUMA exploite une gestion des cohérences de la mémoire cache
sur l'ensemble des processeurs attachés à la plate-forme. Ce mode permet le load-balancing
(équilibrage de charge).
Par rapport à la technique SMP, l'architecture
NUMA permet d'utiliser un plus grand nombre de processeurs simultanément. En effet, l'utilisation du bus
partagé est moins importante qu'en SMP. L'architecture en NUMA nécessite un
système d'exploitation autonome pour chaque
processeur alors qu'en SMP, un seul est utilisé conjointement par tous. Ceci le dédie plutôt pour des systèmes multi-processeurs UNIX
propriétaires.
Schéma de l'Architecture multiprocesseurs NUMA
L'opteron d'AMD utilise cette technologie en
multiprocesseur (biprocesseur ou quadriprocesseur). En effet, dans les opteron,
Phénom et Athlon 64, la mémoire est directement connectée sur le processeur (sans
passer par le northbridge).
Le bus système est appelé hyper-transport.
Pour rappel, l'utilisation des modes bi-processeurs
est réservée aux systèmes
d'exploitations versions Pro de Microsoft
(2000 et XP Pro).
Seules les versions serveurs (2000, 2003 ou 2008) acceptent plus de processeurs via
des versions. Les Dual-core
acceptent des versions standards.