¿Cómo verificar si el servidor está habilitado para NUMA?

11

Mi jefe quiere saber si el HP DL320 G5 está habilitado para NUMA. He intentado buscar en Internet, pero no puedo encontrar ninguna información específica.

¿Alguien sabe de inmediato si este servidor es adecuado para ejecutar aplicaciones NUMA?

Eamorr
fuente
44
Pregúntale a HP? Ellos deberían saberlo.
Sven

Respuestas:

21

Opterons y Nelahem (55xx y posteriores) Los Xeons tienen una arquitectura NUMA: cada socket tiene su propio bus de memoria y hay un enlace entre los sockets. Este enlace se llama Hypertransport en los sistemas Opteron y Quickpath en Xeons. El G5 es anterior a Nelahem y todavía usa el bus frontal anterior, que no es una arquitectura NUMA.

Los opterones y los Xeons 35xx / 55xx o posteriores pueden usar un modo de direccionamiento NUMA puro, donde la memoria de cada socket vive en una sección contigua del espacio de direcciones físicas. Si desea ejecutar una aplicación que tenga en cuenta NUMA (por ejemplo, soporte para la afinidad del procesador), puede configurar el sistema para que se ejecute en este modo.

Los sistemas de este tipo también tienen un modo heredado donde las páginas 4K individuales se alternan entre los sockets, por lo que el acceso a la memoria se mezcla finamente entre los sockets. Esto tiene una ligera sobrecarga de rendimiento, ya que la mitad de todos los accesos a la memoria tienen que pasar por el bus Hypertransport al otro socket (Quickpath en el caso de Xeons). Sin embargo, la mayoría de los accesos se almacenarán en caché, por lo que la sobrecarga de rendimiento es relativamente pequeña.

Este modo permite que los sistemas ejecuten aplicaciones no compatibles con NUMA de manera eficiente, y generalmente es el modo predeterminado en el que se inicia el sistema. Normalmente, puede configurar esto en el BIOS.

Su G5 no funcionará en modo NUMA porque tiene una arquitectura de bus frontal. FSB es un bus único compartido por la memoria y todos los zócalos del procesador, por lo que tiene características de acceso de memoria uniformes , es decir, no NUMA. No conozco ninguna aplicación wintel o lintel que dependa de una arquitectura NUMA; lo más probable es que la aplicación no necesite NUMA pero la admitirá si está presente. Probablemente aún pueda ejecutar la aplicación en su sistema G5 anterior. Si esto es relevante depende de la aplicación y de lo que desea lograr.

Soporte NUMA en aplicaciones

Algunas aplicaciones (SQL Server es un ejemplo) pueden obtener importantes beneficios de rendimiento al optimizar la memoria, la utilización de E / S y la programación para minimizar las penalizaciones por acceso no local. La implementación del soporte NUMA en una aplicación requiere que las instalaciones de soporte estén disponibles desde el sistema operativo, tales como:

  • Afinidad del programador: un subproceso se puede colocar en un grupo que tiene preferencia para programar en uno o un grupo de procesadores. Tenga en cuenta que NUMA puede tener más de un procesador en un solo bus de memoria; en el caso de un Opteron o Xeon de múltiples núcleos, todos los núcleos de un dado comparten el mismo bus. Esto permite que el hilo solicite memoria local o use grupos de memoria local para el grupo de CPU. Además, cuando un subproceso se mantiene en una CPU local, minimiza el intercambio de caché a medida que se programa el subproceso: el conjunto de trabajo es solo el conjunto de subprocesos de trabajo que utilizan ese núcleo en particular.

  • Afinidad de memoria: un subproceso puede solicitar memoria y especificar que debe o debe estar disponible desde la memoria local a un socket. Mantener el uso de la memoria y la CPU en el mismo bus minimiza la sobrecarga del acceso a la memoria no local. La sobrecarga no es tan grande en los sistemas NUMA modernos, pero el acceso no local fue mucho más lento en los sistemas más antiguos, como los primeros equipos secuenciales.

  • Afinidad de E / S: los buses periféricos se pueden vincular a una CPU local, por lo que el manejo de E / S se puede programar en procesadores cercanos a la E / S. La mayoría de los sistemas NUMA tienen múltiples buses de E / S, por lo que programar manejadores de interrupciones y DMA en la memoria local ofrece alguna ventaja en el rendimiento de E / S.

Preocupado por TunbridgeWells
fuente
1
Información muy útil. Muchas gracias por ahorrarme tanto tiempo.
Eamorr
5

Los primeros NUMA Xeons fueron la serie 55xx, que su G5 no puede soportar, por lo que no lo es.

Chopper3
fuente
Saludos por la respuesta y aclarándome eso.
Eamorr