Multikernel Linux quer matar o hipervisor à força bruta
Projeto open-source permite correr múltiplos kernels Linux em bare metal, sem hipervisor nem containers. Menos camadas, mais isolamento, mas também novas dores de cabeça para quem administra.
Projeto open-source permite correr múltiplos kernels Linux em bare metal, sem hipervisor nem containers. Menos camadas, mais isolamento, mas também novas dores de cabeça para quem administra.
Multikernel Linux não é mais uma distro obscura, é uma proposta agressiva: arrancar o hipervisor do caminho e pôr vários kernels Linux a correr em paralelo, diretamente em bare metal. A equipa lançou agora o mklinux v7.0-mk2 como primeira versão pública de teste, com código aberto no GitHub, e o alvo é claro: workloads de IA, serviços de baixa latência e tudo o que exige isolamento duro sem pagar a factura completa das máquinas virtuais clássicas.
O truque passa por um kernel anfitrião que parte o hardware em fatias: pools de CPUs, memória e dispositivos PCI são divididos em instâncias, e cada instância arranca o seu próprio kernel Linux, com acesso nativo aos recursos que lhe foram atribuídos. Sem emulação, sem hipervisor a interceptar syscalls, sem segundo conjunto de tabelas de páginas. Os recursos só são partilhados se forem explicitamente cedidos, o que é praticamente o oposto da mentalidade “põe tudo no mesmo nó e deixa o Kubernetes resolver”.
As instâncias são definidas através de device trees, e o roadmap aponta para overlays dinâmicos: a capacidade de mover CPUs, memória e dispositivos entre o pool e instâncias já em execução, sem reboot. Quando uma instância é desligada, os recursos voltam ao pool. Em teoria, isto permite fazer o que muitos gostariam de fazer com VMs e containers, mas raramente conseguem sem truques: dar a uma aplicação sensível a latência o seu próprio kernel, ou separar o código de aplicação dos drivers de dispositivos físicos de forma quase cirúrgica.
O argumento de performance vem com números: segundo Cong Wang, fundador e CEO do Multikernel Project, testes iniciais mostram ganhos entre 1,07× e 2,5× face a guests KVM, consoante a carga. Mudanças de contexto 2,5× mais rápidas, largura de banda e latência de memória praticamente idênticas. “Comparado com VMs, não há segunda camada de tabelas de páginas nem device model”, resume Wang. Para quem passa dias a espremer microsegundos em infraestruturas de IA, isto não é detalhe de rodapé.
Para um operador em Portugal, a conversa é mais pragmática. A promessa de isolamento mais forte do que containers sem o overhead típico das VMs é sedutora num mundo em que se empilham Kubernetes, service meshes e sidecars até à náusea. Mas Multikernel Linux também empurra complexidade para outro lado: gerir device trees, orquestrar instâncias, garantir segurança entre kernels e integrar isto com tooling existente não vai ser trivial. Não é um drop-in replacement para o cluster de containers da empresa, é um modelo diferente de multi-tenant. E como já se viu em tecnologias como eBPF no Linux, quanto mais perto do kernel se mexe, maior o poder e maior o potencial estrago.
Nesta fase, o alvo é claro e limitado: x86_64, baseado no Linux 7.0, focado em treino e inferência de IA, serviços ultra-sensíveis a latência e workloads que exigem isolamento forte, como se fossem appliances dedicadas dentro do mesmo ferro. Para data centers europeus e operações on-prem que andam entre SR-IOV, DPDK e VMs afinadas à mão, Multikernel Linux é mais uma peça para o arsenal, não a substituição mágica. Se vai sair da fase de “brinquedo para sysadmins curiosos” para algo que a NOS, MEO ou um banco português arrisquem em produção, isso depende menos dos benchmarks e mais de tooling, integrações e quem se comprometer a suportar isto quando rebentar às 3 da manhã.
Fonte: Open Source For You
Comentários · 0