Projeto Multikernel abre as portas, com patches iniciais prontos para análise

A equipe do projeto Multikernel abriu o código de seu kernel, propondo um novo caminho para a escalabilidade em ambientes modernos de múltiplos núcleos e nuvem. Embora o Linux tenha escalado de forma impressionante ao longo dos anos, ainda está atrelado a uma visão de hardware de kernel único, o que pode mudar futuramente.

O Que é o Multikernel?

O Multikernel é um novo projeto de design de kernel Linux, que tem como objetivo escalar entre múltiplos nós. Agora, ele é oficialmente de código aberto. Junto com o código público, Cong Wang, um engenheiro de software do Google, submeteu o primeiro conjunto de patches para a Linux Kernel Mailing List (LKML).

Com esses patches, pode-se inicializar instâncias adicionais do Linux na mesma máquina e ligá-las. Cada instância roda como um kernel isolado, mas coopera com as outras para compartilhar cargas de trabalho. A ideia se inspira em projetos anteriores, como o Popcorn Linux, que também explorou modelos de kernel distribuídos.

Em vez de se apegar ao modelo monolítico tradicional, ele usa uma abordagem baseada em kexec. Hoje, para executar duas versões de kernel muito diferentes ao mesmo tempo, você precisa usar uma máquina virtual (VM). O Multikernel tenta resolver isso tratando múltiplos kernels como pares.

Desenvolvimento e Transparência

Os patches recém-lançados trazem a base para este design, incluindo a infraestrutura básica para gerenciar múltiplos kernels lado a lado. De acordo com a publicação de Wang, o objetivo é habilitar um ambiente multikernel funcional com mudanças mínimas no sistema.

O anúncio no site do projeto também descreve para onde o Multikernel está indo. A equipe pretende aumentar a adaptabilidade do Linux para implantações em nuvem e de hiperescala, onde a execução de cargas de trabalho em clusters de processadores — ou até mesmo em múltiplas máquinas — requer um modelo diferente do que uma única imagem de sistema.

A equipe do Multikernel acredita que as inovações de sistema mais impactantes surgem da colaboração. Por isso, eles estão se envolvendo com a comunidade do kernel Linux desde o início do processo, para garantir que o trabalho se beneficie da experiência coletiva.

O projeto se baseia em mecanismos já existentes do Linux, especificamente o subsistema kexec, que já faz parte do sistema operacional há mais de duas décadas. Para os desenvolvedores, isso significa que eles podem começar a experimentar a arquitetura sem reescrever partes importantes do kernel.

O projeto ainda está em seus estágios iniciais. Os desenvolvedores interessados em testar ou contribuir podem encontrar os patches na LKML e seguir o progresso do projeto em seu repositório no GitHub.

A equipe também está preparando uma série de vídeos educativos para explicar a solução multikernel e a infraestrutura kexec subjacente.

O futuro do desenvolvimento de kernels é colaborativo e transparente. O Multikernel busca feedback e parcerias com desenvolvedores que compartilham a visão de aprimorar a arquitetura do sistema operacional para a computação em nuvem.