Linux es ese gran desconocido para el público final en los sistemas informáticos de escritorio (hasta ahora, y pese a lo que se viene hablando de él como alternativa a Windows 10 desde que se anunciara el final del soporte para este sistema el próximo mes de octubre), pero muy utilizado en sistemas servidores, embebidos, y profesionales. Y es precisamente pensando en este público profesional que Cong Wang, desarrollador del kernel (núcleo) del sistema operativo del pingüino y que ha realizado contribuciones especialmente en el ámbito de la conectividad, ha propuesto añadir soporte para la ejecución multinúcleo en Linux.
Básicamente, lo que propone Wang es que una misma instalación de Linux pueda ejecutar múltiples núcleos del sistema en paralelo, cada uno de ellos sobre uno de los núcleos de la CPU (actualmente, cualquier procesador de ordenador de escritorio dispone de más de dos núcleos), y que se puedan comunicar entre ellos y compartir recursos.
Esta propuesta responde a múltiples finalidades: por un lado, tenemos la capacidad de mejorar el aislamiento de los fallos entre distintas cargas de trabajo, ya que cuando falle una tarea que afecte al núcleo, sólo lo hará para aquel sobre el que se ejecuta, y no en el resto. También mejora la seguridad global del sistema al separar cargas de trabajo a nivel del núcleo, y la gestión de las actualizaciones (que, por cierto, es un sistema parecido al que utiliza Android para la administración de estas).
Además, un aspecto que las organizaciones van a apreciar, es que optimiza el rendimiento y uso de recursos en la ejecución de varios sistemas en paralelo, mejor que una solución de virtualización, incluso las llamadas bare metal.
Otra de las funcionalidades que podría proporcionar esta capacidad multinúcleo, es la ejecución de núcleos preparados para tareas determinadas, como el trabajo con inteligencia artificial, en tiempo real, o para comunicaciones.
En la propuesta de Wang se encuentran más detalles técnicos de la forma en la que los núcleos se comunicarían entre ellos, y de cómo podría implementarse esta propuesta, en forma de un parche que sería el que introduciría la compatibilidad básica con la ejecución simultánea de diversos núcleos de forma paralela, y proporcionaría los elementos para facilitar la comunicación entre estos.
Su implementación mantendría una compatibilidad total con versiones anteriores de la implementación del mecanismo kexec, que permite cargar y ejecutar otro núcleo de Linux sin tener que reiniciar todo el ordenador, y que es el que modifica para poder utilizar, la presente propuesta.
Todo esto no deja de ser una propuesta que se ha presentado vía RFC (Request For Comments, solicitud para comentarios) para recibir feedback por parte de los demás desarrolladores y los testeadores del núcleo de Linux, por lo que no es seguro que se acabe implementando en el kernel.
A partir de aquí, es probable que se genere debate alrededor de la idea y, tal vez, más revisiones de la propuesta de parche que, finalmente, debería ser evaluado para su integración por parte del responsable del mantenimiento del código fuente del núcleo Linux en el área que corresponda.
Si, finalmente, no acaba concitando suficiente interés o los desarrolladores y mantenedores no lo aceptan, puede ser descartado, o se puede convertir en un proyecto externo al kernel pero que funciona sobre este.
Por el momento, las perspectivas para su adopción oficial son buenas, ya que la comunidad opina animadamente, y ha provocado cierto revuelo mediático como esta breve entrada en OSnews.



