¿Qué es el acceso a memoria no uniforme (NUMA)?

Last Updated: 2020-12-09
4.6
(5)
Resumen:NUMA, abreviatura de Non-Unified Memory Access, es un diseño de memoria de computadora para multiprocesamiento. Busque aquí una introducción completa a NUMA.

Definición

NUMA es una arquitectura de multiprocesamiento en la que la memoria se divide en almacenamiento estrecho y distante, y el tiempo de acceso a la memoria depende de la ubicación de la memoria en relación con el procesador.

Bajo NUMA, los procesadores acceden a su memoria local más rápido que la memoria no local. Los beneficios de NUMA se limitan a cargas de trabajo específicas, especialmente en servidores donde los datos suelen estar fuertemente asociados con tareas o usuarios específicos.

Los sistemas de acceso a memoria no uniformes son plataformas de servidor avanzadas con múltiples buses de sistema. Estas plataformas pueden utilizar varios procesadores en una sola placa y todos los procesadores tienen acceso a toda la memoria de la placa base.

Las arquitecturas NUMA siguen lógicamente el escalado de una arquitectura SMP (multiprocesamiento simétrico). En comparación con SMP, la arquitectura NUMA escala a un mayor número de CPU.

Concepto basico

Las CPU modernas funcionan mucho más rápido que la memoria principal que utilizan. En las primeras etapas de la computación y el procesamiento de datos, la CPU generalmente funciona más lento que su memoria. Limitar el número de acceso a la memoria es la clave para obtener un alto rendimiento de las computadoras modernas.

Sin embargo, el fuerte aumento en el tamaño del sistema operativo y las aplicaciones que se ejecutan en el sistema operativo a menudo abruma estas mejoras de procesamiento de caché. Un sistema multiprocesador sin NUMA empeora aún más el problema.

NUMA intenta abordar este problema proporcionando memoria separada para cada procesador, evitando un impacto en el rendimiento cuando varios procesadores resuelven la misma memoria.

Además, los sistemas NUMA incluyen otro hardware o software para mover datos entre bancos de memoria. Esto reduce la velocidad de los procesadores conectados a estos bancos. Por lo tanto, el aumento de velocidad general debido a NUMA depende principalmente de la naturaleza de la tarea en ejecución.

NUMA coherente en caché (ccNUMA)

Casi todas las arquitecturas de CPU aprovechan las ubicaciones de referencia en el acceso a la memoria con una pequeña cantidad de memoria no compartida de alta velocidad denominada almacenamiento en caché.

ccNUMA adopta la comunicación entre procesadores entre controladores de caché para mantener imágenes de memoria consistentes cuando varios cachés almacenan la misma ubicación de memoria. Como resultado, ccNUMA tiene un rendimiento deficiente cuando varios procesadores intentan acceder rápida y continuamente a la misma área de memoria.

Apoyar a NUMA en el sistema operativo intenta reducir la frecuencia de dicho acceso mediante la asignación de procesadores y memoria de una manera amigable con NUMA y evitando la programación y los algoritmos de bloqueo necesarios para hacer que el acceso no sea amigable con NUMA.

Soporte de software

Debido a que NUMA influye en gran medida en el rendimiento del acceso a la memoria, se requiere cierta optimización de software para permitir que los subprocesos y procesos de programación accedan a sus datos de memoria.

  • Silicon Graphics IRIX admite la arquitectura ccNUMA sobre 1240 CPU y Origin Server Series.
  • Microsoft Windows 7, así como Windows Server 2008 R2, han aumentado la compatibilidad con más de 64 núcleos lógicos de la arquitectura NUMA.
  • Java 7 agrega soporte para asignadores de memoria y recolectores de basura compatibles con NUMA.
  • La versión 3.13 del kernel de Linux introdujo varias políticas para colocar procesos cerca de la memoria y manejar situaciones como el uso de grandes páginas transparentes o compartir páginas de memoria entre procesos. La nueva configuración de sysctl permite habilitar o deshabilitar el equilibrio NUMA y configurar varios parámetros de equilibrio de memoria NUMA.
  • OpenSolaris usa lgroups para modelar la arquitectura NUMA.
  • FreeBSD agrega la relevancia inicial de NUMA y la configuración de políticas a la versión 11.0

¡Línea de fondo!

En resumen, después de pasar por esta página, comprenderá mejor la definición, el concepto básico y la forma de trabajo del Acceso a la memoria no unificada. También sabrá que NUMA afecta el rendimiento del acceso a la memoria, por lo que algún software lo optimiza para admitirlo.

 

¿Qué tan útil fue esta publicación?

¡Haz clic en una estrella para calificarla!

Puntuación media4.6/ 5. Recuento de votos:5

¡Hasta ahora no hay votos! Sea el primero en calificar esta publicación.

Artículo anterior

¿Cómo revertir el último icono de Google Chrome para Mac al original? Resumen: NUMA, abreviatura de Non-Unified Memory Access, es un diseño de memoria de computadora para multiprocesamiento. Busque aquí una introducción completa ...

Artículo siguiente

¿Cómo recuperar videos eliminados de Mac? Resumen: NUMA, abreviatura de Non-Unified Memory Access, es un diseño de memoria de computadora para multiprocesamiento. Busque aquí una introducción completa ...

Acerca de la recuperación de datos de Bitwar

3 pasos para recuperar más de 500 tipos de documentos, fotos, videos, audios y archivos de archivo eliminados, formateados o perdidos de varios escenarios de pérdida de datos.

Aprende más

Artículos calientes

    Artículos relacionados