NUMA (acceso a memoria no uniforme)

NUMA (acceso a memoria no uniforme) es un método para configurar un clúster de microprocesador en un sistema de multiprocesamiento para que puedan compartir memoria localmente, mejorando el rendimiento y la capacidad del sistema para expandirse. NUMA se utiliza en un sistema de multiprocesamiento simétrico (SMP). Un sistema SMP es un sistema "estrechamente acoplado" que "comparte todo" en el que varios procesadores que trabajan bajo un solo sistema operativo acceden a la memoria de los demás a través de un bus común o ruta de "interconexión". Por lo general, una limitación de SMP es que a medida que se agregan microprocesadores, el bus compartido o la ruta de datos se sobrecargan y se convierten en un cuello de botella de rendimiento. NUMA agrega un nivel intermedio de memoria compartida entre algunos microprocesadores para que todos los accesos a datos no tengan que viajar en el bus principal.

Se puede pensar en NUMA como un "grupo en una caja". El clúster generalmente consta de cuatro microprocesadores (por ejemplo, cuatro microprocesadores Pentium) interconectados en un bus local (por ejemplo, un bus de interconexión de componentes periféricos) a una memoria compartida (llamada "caché L3") en una sola placa base (también podría probablemente se denominará tarjeta). Esta unidad se puede agregar a unidades similares para formar un sistema de multiprocesamiento simétrico en el que un bus SMP común interconecta todos los clústeres. Un sistema de este tipo contiene típicamente de 16 a 256 microprocesadores. Para un programa de aplicación que se ejecuta en un sistema SMP, todas las memorias de los procesadores individuales se ven como una sola memoria.

Cuando un procesador busca datos en una determinada dirección de memoria, primero busca en el caché L1 del microprocesador mismo, luego en un chip de caché L1 y L2 algo más grande cercano, y luego en un tercer nivel de caché que la configuración NUMA proporciona antes. buscando los datos en la "memoria remota" ubicada cerca de los otros microprocesadores. Cada uno de estos grupos es visto por NUMA como un "nodo" en la red de interconexión. NUMA mantiene una vista jerárquica de los datos en todos los nodos.

Los datos se mueven en el bus entre los clústeres de un sistema NUMA SMP utilizando tecnología de interfaz coherente escalable (SCI). SCI coordina lo que se denomina "coherencia de caché" o consistencia entre los nodos de los múltiples clústeres.

Los sistemas SMP y NUMA se utilizan normalmente para aplicaciones como la minería de datos y el sistema de apoyo a la toma de decisiones en las que el procesamiento se puede dividir en varios procesadores que trabajan colectivamente en una base de datos común. Sequent, Data General y NCR se encuentran entre las empresas que producen sistemas NUMA SMP.