Multikernel quiere ejecutar varios kernels de Linux en un servidor físico sin hipervisor

Multikernel Technologies propone una alternativa a la virtualización tradicional: ejecutar varias instancias independientes del kernel de Linux sobre un mismo servidor físico, con recursos de hardware asignados a cada una y sin recurrir a un hipervisor convencional. El proyecto, asociado a Cong Wang, busca reducir la sobrecarga que puede introducir la virtualización en determinadas cargas de trabajo. Sus primeros resultados apuntan a una latencia inferior a la de KVM en algunas configuraciones, aunque todavía hace falta evaluar el alcance real de esas mejoras y sus implicaciones para producción.

Las claves de Multikernel en 20 segundos

  • Multikernel plantea ejecutar varios kernels de Linux en una sola máquina física, directamente sobre el hardware.
  • Cada instancia recibe recursos dedicados, en lugar de compartirlos mediante un hipervisor tradicional.
  • Las primeras pruebas comunicadas muestran menor latencia que KVM en determinadas configuraciones.
  • Los resultados dependen del ajuste y no demuestran mejoras generales en todas las cargas de trabajo.
  • La propuesta requiere validar el aislamiento, la gestión de recursos y la estabilidad antes de usarla en producción.

La idea aborda una de las decisiones habituales al diseñar infraestructuras de servidores: cómo separar servicios sin multiplicar las máquinas físicas. Las máquinas virtuales permiten ejecutar sistemas operativos aislados sobre un mismo servidor, mientras que los contenedores comparten el kernel del sistema anfitrión. Multikernel busca una vía distinta, con varios kernels independientes que se ejecutan sobre el hardware sin incorporar la capa de un hipervisor convencional.

Esta diferencia puede resultar interesante en entornos donde cada microsegundo de latencia importa o donde conviene mantener separadas distintas cargas de trabajo. Pero eliminar una capa de virtualización no garantiza por sí solo un mejor rendimiento general. El resultado depende de cómo se reparten los recursos, de la arquitectura de la solución y del tipo de aplicación que se ejecuta.

Varios kernels de Linux en una sola máquina

En un servidor convencional con virtualización, el hipervisor administra las máquinas virtuales y distribuye recursos físicos como los procesadores, la memoria y los dispositivos de entrada y salida. En Linux, KVM (Kernel-based Virtual Machine) utiliza las capacidades de virtualización del procesador y se integra con el kernel para ejecutar máquinas virtuales.

Multikernel propone cambiar esa organización. En lugar de colocar varios sistemas invitados bajo un hipervisor convencional, asigna recursos dedicados a instancias independientes del kernel que se ejecutan directamente sobre el hardware, una configuración conocida como bare metal.

El objetivo es reducir parte del trabajo que aparece al gestionar máquinas virtuales y evitar que determinadas cargas compitan por recursos que podrían reservarse de forma más estricta. Para aplicaciones sensibles a la latencia, como algunos servicios de red o sistemas de procesamiento en tiempo real, esta separación puede merecer una evaluación.

No obstante, que cada instancia tenga recursos dedicados no significa que desaparezca toda interacción entre ellas ni que el aislamiento sea automáticamente equivalente al de una máquina virtual. Para determinar el nivel de separación hacen falta detalles técnicos sobre el control de memoria, los dispositivos, las interrupciones, los accesos al hardware y los mecanismos que impiden que un kernel interfiera con otro.

También importa cómo se administran estas instancias. Un entorno de producción necesita herramientas para arrancar y actualizar los kernels, asignar recursos, supervisar fallos y recuperar servicios cuando una instancia deja de funcionar. La facilidad con la que se pueden integrar esas tareas en las herramientas existentes de Linux será un factor práctico para los equipos de sistemas.

La comparación con KVM necesita más pruebas

Los primeros benchmarks difundidos por el proyecto indican que Multikernel puede conseguir una latencia menor que KVM en algunas configuraciones. Es un resultado que justifica seguir investigando la propuesta, pero no permite concluir que vaya a ser más rápido en cualquier servidor o aplicación.

Las pruebas de rendimiento dependen de muchos factores: el modelo de procesador, la topología de memoria, la distribución de los núcleos, la configuración de la red, el acceso al almacenamiento y el tipo de carga ejecutada. También es importante conocer qué versión de KVM se utiliza como referencia y cómo se han ajustado ambos entornos.

Para valorar la diferencia con rigor, sería necesario comparar configuraciones equivalentes, publicar las condiciones de las pruebas y medir tanto la latencia media como los percentiles altos, el rendimiento sostenido y el consumo de recursos. En servicios de baja latencia, por ejemplo, una mejora en el promedio puede tener menos valor que una reducción de los picos que experimentan las solicitudes más lentas.

Tampoco hay base suficiente para extrapolar los resultados a las GPU. Las pruebas citadas no demuestran que Multikernel mejore el rendimiento de aceleradores gráficos ni que permita compartirlos con menos sobrecarga que otras alternativas. Ese aspecto requiere evaluaciones específicas que contemplen los controladores, la asignación de dispositivos y las características de cada carga de trabajo.

La comparación con las máquinas virtuales también debe incluir la seguridad y la recuperación ante fallos, no solo la velocidad. Una arquitectura puede reducir la latencia y, aun así, necesitar mecanismos adicionales para alcanzar el aislamiento y la capacidad operativa que exige un entorno empresarial.

Dónde podría tener sentido Multikernel

La separación de cargas de trabajo confiables y los servicios sensibles a la latencia son dos ámbitos en los que la propuesta merece un análisis técnico. Un operador podría estudiar si conviene dedicar recursos físicos a una instancia del kernel para un servicio concreto y reservar otra instancia para tareas diferentes, reduciendo así ciertas interferencias.

Pero la decisión no debería basarse únicamente en una cifra de benchmark. Una prueba de laboratorio tendría que medir el comportamiento con las aplicaciones reales, comprobar qué sucede cuando una instancia falla y verificar si los recursos reservados se aprovechan de manera eficiente. También convendría probar actualizaciones, reinicios y tareas de mantenimiento para determinar si la arquitectura simplifica o complica la operación diaria.

En entornos donde la flexibilidad sea prioritaria, las máquinas virtuales seguirán ofreciendo ventajas conocidas, como la movilidad de cargas, la administración mediante herramientas consolidadas y una amplia compatibilidad con plataformas de infraestructura. Multikernel tendrá que demostrar qué ventajas aporta frente a esas capacidades y qué compromisos introduce.

La cuestión principal es si una menor sobrecarga compensa el coste de adoptar una arquitectura distinta. Para servicios con requisitos estrictos de latencia, la respuesta podría ser favorable en determinadas condiciones. En otros escenarios, el rendimiento adicional quizá no justifique modificar las herramientas y procedimientos que ya funcionan.

Por ahora, Multikernel debe considerarse una opción que conviene evaluar, no un reemplazo general de KVM ni una garantía de mayor seguridad. La publicación de más resultados reproducibles y documentación sobre su modelo de aislamiento permitirá determinar mejor en qué casos ofrece una ventaja práctica.

Preguntas frecuentes

¿Qué es Multikernel para Linux?

Es una propuesta de Multikernel Technologies para ejecutar varias instancias independientes del kernel de Linux en un mismo servidor físico, con recursos dedicados y sin un hipervisor convencional.

¿En qué se diferencia de KVM?

KVM permite ejecutar máquinas virtuales mediante las capacidades de virtualización del procesador y su integración con Linux. Multikernel plantea una organización diferente, con varios kernels que se ejecutan directamente sobre el hardware.

¿Multikernel es más rápido que KVM?

Los primeros benchmarks comunicados muestran menor latencia en determinadas configuraciones. Para confirmar esa ventaja en otros entornos hacen falta pruebas comparables con distintas cargas de trabajo y hardware.

¿Puede sustituir a las máquinas virtuales en producción?

Todavía no puede afirmarse de forma general. Antes de adoptarlo conviene evaluar el rendimiento, el aislamiento, la compatibilidad con dispositivos, la recuperación ante fallos y las herramientas de administración.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana. Recuerda revisar tu email para confirmar la suscripción.

Scroll al inicio
×