Dos núcleos, una máquina: proponen en Linux soporte experimental para la arquitectura "multikernel"

Dos núcleos, una máquina: proponen en Linux soporte experimental para la arquitectura "multikernel"

Se parece a las máquinas virtuales, pero es más sencillo y más cercano al hardware.

image

En el kernel de Linux propusieron soporte experimental para una arquitectura «multinúcleo» — la posibilidad de ejecutar varias instancias independientes del kernel en un mismo equipo físico. Cada instancia del kernel puede asignarse a sus propios núcleos de CPU dedicados, a la vez que comparten recursos de hardware comunes.

Ese enfoque ofrece varias ventajas. Proporciona un mejor aislamiento entre cargas de trabajo, aumenta la seguridad mediante la separación a nivel del kernel, permite utilizar los recursos de forma más eficiente en comparación con máquinas virtuales clásicas como KVM o Xen e incluso, teóricamente, abre la vía para actualizar el kernel «en caliente» mediante el mecanismo Kernel Hand Over.

La implementación se basa en la infraestructura de kexec: a través de ella se pueden cargar y gestionar varias imágenes del kernel, asignando a cada una núcleos de procesador concretos. Para el intercambio de datos entre instancias se añadió un mecanismo separado de interrupciones interprocesador (IPI), que les permite coordinar su funcionamiento. El conjunto de parches incluye también una interfaz en /proc para monitorizar las instancias activas, un kexec revisado con contabilización dinámica de las imágenes cargadas y mecanismos de arranque de procesadores específicos de x86.

Por ahora esto es solo un RFC — solicitud de comentarios. Los autores subrayan que la arquitectura ya funciona, pero quedan muchos detalles por pulir. El objetivo principal ahora es obtener retroalimentación de la comunidad. El código se probó únicamente en la máquina del desarrollador con parámetros de arranque fijados de forma rígida, por lo que hacen falta pruebas en otras plataformas y configuraciones. No se recomienda usar la novedad fuera de experimentos por el momento.

La nueva arquitectura abre escenarios interesantes: ejecución paralela de un kernel de tiempo real y de un kernel general en el mismo hardware, asignación de instancias separadas a aplicaciones críticas o a cargas de trabajo específicas. Es solo un marco básico, pero será sobre él que la comunidad podrá construir sus propias soluciones para futuros sistemas.

¿Estás cansado de que Internet sepa todo sobre ti?

¡Únete a nosotros y hazte invisible!