For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
Primero, tenga en cuenta que Intel Core i7 es solo una designación de marketing, y la frase Intel Core i7 (o posterior) es muy vaga. Entonces, ¿qué podría significar?
Las Kconfig
ediciones del texto de ayuda del kernel de Linux que mencionan un Intel Core 7i , luego corregido a Intel Core i7 , se realizaron en noviembre de 2008. El registro de confirmación dice:
x86: update CONFIG_NUMA description
Impact: clarify/update CONFIG_NUMA text
CONFIG_NUMA description talk about a bit old thing.
So, following changes are better.
o CONFIG_NUMA is no longer EXPERIMENTAL
o Opteron is not the only processor of NUMA topology on x86_64 no longer,
but also Intel Core7i has it.
Es razonable que solo se refiera a las CPU Intel Core i7 lanzadas o anunciadas según las especificaciones para ese momento. Esos serían los procesadores Bloomfield , basados en la microarquitectura Nehalem , que trasladó el controlador de memoria del Northbridge a la CPU (que AMD había hecho en 2003 con el Opteron / AMD64) e introdujo QuickPath Interconnect / QPI (como colgante del HyperTransport de AMD) para interconexión CPU / CPU y CPU / IOH (concentrador IO, ex-Northbridge).
Las CPU Bloom7 i7 fueron las primeras entradas en el nuevo esquema de nombres Core i {3,5,7} . Entonces, cuando se escribió ese texto de documento de Linux, i7 no se refirió específicamente al Core i7 en lugar de i5 (primero en 09/2009) o i3 (primero en 01/2010), pero con toda probabilidad a la nueva microarquitectura Nehalem con su controlador de memoria integrado y QPI.
Hay un comunicado de prensa de Intel del 11/2008 sobre el i7 ( Intel lanza el procesador más rápido del planeta ) que establece que el procesador Core i7 duplica con creces el ancho de banda de memoria de las plataformas Intel "Extreme" anteriores , pero no menciona NUMA en absoluto .
La razón es, creo, que NUMA no importa para las PC de escritorio, ni siquiera para las "extremas".
NUMA es importante para los servidores caros que tienen varios zócalos de CPU (no solo varios núcleos en un zócalo) con carriles de acceso de memoria física dedicados (no solo un controlador de memoria), de modo que cada CPU tiene su memoria local dedicada, que está "más cerca" de ella que la memoria de las otras CPU. (Piense en 8 sockets, 64 núcleos, 256 GB de RAM). NUMA significa que una CPU también puede acceder a la memoria remota (la memoria local de otra CPU) además de su propia memoria local, aunque a un costo mayor. NUMA es la síntesis de una arquitectura de memoria compartida como SMP, donde toda la memoria está igualmente disponible para todos los núcleos, y una arquitectura de memoria distribuida como MPP (procesamiento masivo en paralelo), que le da a cada nodo un bloque de memoria dedicado. Es MPP, pero parece SMP para la aplicación.
Las placas madre de escritorio no tienen dos sockets y las CPU de escritorio Intel, incluidas las ediciones i7 extremas, carecen del enlace QPI adicional para la configuración de doble socket.
Consulte el artículo de Wikipedia QPI para ver cómo QPI es relevante para NUMA:
En su forma más simple en una placa base de un solo procesador, se usa un solo QPI para conectar el procesador al IO Hub (por ejemplo, para conectar un Intel Core i7 a un X58). En instancias más complejas de la arquitectura, pares de enlaces QPI separados conectan uno o más procesadores y uno o más concentradores de E / S o concentradores de enrutamiento en una red en la placa base, permitiendo que todos los componentes accedan a otros componentes a través de la red. Al igual que con HyperTransport, la arquitectura QuickPath supone que los procesadores tendrán controladores de memoria integrados y permite una arquitectura de acceso no uniforme a la memoria (NUMA).
[...]
Aunque algunos procesadores Core i7 de gama alta exponen QPI, otros procesadores Nehalem "convencionales" de escritorio y móviles destinados a placas de un solo zócalo (por ejemplo, LGA 1156 Core i3, Core i5 y otros procesadores Core i7 de Lynnfield / Clarksfield y familias sucesoras) no exponga QPI externamente, ya que estos procesadores no están destinados a participar en sistemas multi-socket. Sin embargo, QPI se utiliza internamente en estos chips [...]
La forma en que una CPU Intel Nehalem en una placa de servidor multi-socket hace que el acceso a la memoria no local sea a través de QPI. También en el artículo sobre NUMA :
Intel anunció la compatibilidad NUMA para sus servidores x86 e Itanium a fines de 2007 con sus CPU Nehalem y Tukwila. Ambas familias de CPU comparten un conjunto de chips común; la interconexión se llama Intel Quick Path Interconnect (QPI). AMD implementó NUMA con su procesador Opteron (2003), utilizando HyperTransport.
Consulte este informe desde el 11/2008 para ver que Intel deshabilitó uno de los dos enlaces QPI en el i7, deshabilitando así la configuración de doble socket, donde se aplica NUMA:
Esta primera implementación de escritorio de gama alta de Nehalem lleva el nombre en código de Bloomfield, y es esencialmente el mismo silicio que eventualmente debería entrar en servidores de dos sockets. Como resultado, los chips Bloomfield vienen con dos enlaces QPI a bordo, como lo indica el disparo anterior. Sin embargo, el segundo enlace QPI no se utiliza. En los servidores 2P basados en esta arquitectura, esa segunda interconexión vinculará los dos sockets, y sobre ella, las CPU compartirán mensajes de coherencia de caché (usando un nuevo protocolo) y datos (ya que el subsistema de memoria será NUMA), de nuevo, muy similar. al Opteron.
Así que me he estado desviando de su pregunta sobre los resultados de mi investigación de Google ... ¿Se pregunta por qué los documentos de Linux comenzaron a recomendar activarlo a fines de 2008? No estoy seguro de que esta pregunta tenga una respuesta probablemente correcta ... Tendríamos que preguntarle al escritor del documento. Activar NUMA no beneficia a los usuarios de CPU de escritorio, pero tampoco los perjudica significativamente, a la vez que ayuda a los usuarios de múltiples sockets, entonces, ¿por qué no? Esta podría haber sido la razón. Encontró eso reflejado en una discusión sobre la desactivación de NUMA en el rastreador de Arch Linux ( FS # 31187 - [linux] - desactivar NUMA de los archivos de configuración ).
El autor del documento también podría haber pensado en el potencial NUMA de la arquitectura Nehalem de la cual, cuando se escribió el documento, los procesadores Core i7 11/2008 (920, 940, 965) eran los únicos representantes; Los primeros chips Nehalem para los que NUMA realmente tendría sentido son probablemente los procesadores Xeon Q1 / 2009 con doble enlace QPI como el Xeon E5520 .
CONFIG_NUMA
acore i7
?