El segundo de los cambios fundamentales en Linus 2.6 ha sido en la dirección exactamente opuesta: hacer Linux un kernel aceptable en servidores tan grandes como sea posible. (Algunos de estos servidores están basados en procesadores i386, otros no.) La gran diferencia en este sentido es el nuevo soporte en Linux para servidores NUMA. Tras la arquitectura SMP, NUMA (Non-Uniform Memory Access, o "Acceso No Uniforme a Memoria") es un paso más dentro del multiproceso: trae consigo una mayor eficiencia al trabajar con muchos procesadores. Los sistemas multiprocesador actuales fueron diseñados con las mismas limitaciones que los mono-procesador, ya que disponen de un único espacio de memoria para todos los procesadores. Al aumentar su número, la altísima tasa de contención entre las CPUs y el bus compartido de memoria crea un cuello de botella que obstaculiza el rendimiento. Los servidores NUMA están basados en la idea de que, para cada procesador, parte de la memoria está más cerca que el resto; así se evita la congestión de accesos. Una forma sencilla de entender su funcionamiento, y no del todo incorrecta, es imaginarse un sistema con tarjetas separadas, cada una con CPUs, memoria, y posiblemente otros componentes (como podría ser entrada/salida). Hay muchas tarjetas similares, que por supuesto pueden hablar entre sí; pero está claro que a cada CPU le será más fácil comunicarse con su memoria local, la de la misma tarjeta. Puede imaginarse la arquitectura NUMA como un cluster integrado en los niveles más bajos del hardware.
Para poder trabajar con estas nuevas máquinas NUMA, ha habido que adaptar Linux en varios sentidos para crear un modelo eficiente. Para empezar, ha sido necesario crear una API (Application Programmer Interface, o "Interfaz de Programación de Aplicaciones") de topología interna, que permita a los entresijos del kernel entender las relaciones que cada procesador y cada memoria tienen entre sí y con los dispositivos de entrada salida. Relacionado con lo anterior, el planificador de procesos [process scheduler] de Linux es ahora capaz de entender estas relaciones, e intentar optimizar las tareas haciendo el mejor uso posible de los recursos locales. Por otro lado, muchas máquinas NUMA se fabrican con "agujeros" en el espacio de memoria "entre" nodos. El nuevo kernel puede tener en cuenta estas discontinuidades de una forma razonable. Hay múltiples cambios internos que han ayudado al buen uso de los recursos en estos super-servidores, y que han permitido refinar el funcionamiento del kernel. Sin embargo, quedan bastantes posibilidades de mejora en este área, y mucho trabajo por hacer para conseguir un rendimiento óptimo. En el próximo año, veremos seguramente aún más mejoras en el soporte de máquinas de gama altísima.