Se presenta Multikernel, un mecanismo para ejecutar múltiples kernels de Linux simultáneamente.

Una serie de parches desarrollados por el proyecto Multikernel, recientemente convertido a código abierto y que ahora se desarrollará en colaboración con la comunidad, han sido presentados para su discusión por los desarrolladores del kernel de Linux. Multikernel permite ejecutar múltiples instancias independientes del kernel de Linux en un solo equipo. Estas instancias tienen acceso directo a los recursos de hardware y pueden utilizarse para ejecutar múltiples entornos de sistema aislados. El proyecto fue creado por Multikernel Technologies, una empresa fundada y dirigida por Cong Wang, responsable del mantenimiento del subsistema de Control de Tráfico (TC) del kernel de Linux.

Se propone una llamada kexec mejorada para iniciar y administrar kernels. A diferencia de la llamada kexec clásica, no se limita a reemplazar el kernel en ejecución y permite iniciar instancias de kernel adicionales que se ejecutan en paralelo. Se implementa la interfaz "/proc/multikernel" para la monitorización y depuración de instancias de kernel en ejecución, y se propone el marco de comunicación Multikernel IPI para la mensajería y coordinación entre kernels.

 Se presenta Multikernel, un mecanismo para ejecutar múltiples kernels de Linux simultáneamente.

El multikernel se presenta como una nueva arquitectura de aislamiento que cubre la brecha entre la virtualización basada en hipervisor y el aislamiento de contenedores de kernel compartido. A diferencia de la virtualización, el multikernel no requiere un hipervisor, simplifica la creación de entornos para la ejecución aislada de aplicaciones individuales y permite un alto rendimiento sin la sobrecarga de la virtualización. A diferencia de los contenedores, el multikernel proporciona alto nivel de aislamiento y permite el uso de un kernel separado en cada entorno aislado.

 Se presenta Multikernel, un mecanismo para ejecutar múltiples kernels de Linux simultáneamente.

Se estima que el rendimiento con Multikernel es similar al de la ejecución en hardware dedicado. Esto se logró eliminando la sobrecarga inherente a la virtualización, como los controladores de salida de máquinas virtuales, la traducción de IOMMU y la intervención del hipervisor en operaciones privilegiadas. Se admite la asignación dinámica de recursos a los entornos de ejecución, lo que garantiza un rendimiento predecible.

La ejecución simultánea de múltiples núcleos se logra sin virtualización, mediante un controlador SMP que distribuye las CPU disponibles entre las instancias del kernel de Linux. Cada instancia del kernel de Linux se asigna a uno o más núcleos de CPU dedicados a su ejecución, mientras que los demás recursos de hardware se comparten.

Las principales ventajas de Multikernel:

  • Aislamiento mejorado de fallas en entornos de ejecución.
  • Mayor seguridad mediante la separación a nivel de kernel.
  • Utilización de recursos más eficiente en comparación con las máquinas virtuales tradicionales basadas en hipervisor, como KVM y Xen.
  • Es posible actualizar el kernel sin detener el trabajo utilizando el mecanismo KHO (Kernel Hand Over).
  • Soporte para la integración con infraestructuras de nube estándar y la capacidad de realizar una transición sin problemas desde los sistemas tradicionales de virtualización y aislamiento de contenedores.
  • Compatibilidad total con las aplicaciones e interfaces de sistema Linux existentes. Multikernel solo realiza modificaciones menores en el kernel, manteniendo la compatibilidad total con las API.

Fuente: opennet.ru

Añadir un comentario