Parker: A nova tecnologia que permite executar vários kernels Linux sem virtualização

  • Parker é a proposta da ByteDance para executar vários kernels Linux sem virtualização.
  • Cada kernel opera em sua própria partição de CPU, memória e dispositivos.
  • O kernel principal gerencia o hardware, enquanto os kernels secundários operam de forma independente.
  • A versão inicial não tem isolamento de falhas entre kernels.
  • Seu principal objetivo é melhorar a escalabilidade em sistemas com grande número de núcleos.

ByteDance-Parker-multikernel

Há alguns dias foi divulgada a notícia de que a empresa ByteDance (criador do TikTok), surpreendeu a comunidade de software livre com o Publicação de Parker (PARtitioned KERnel), uma tecnologia experimental que permite que você execute vários kernels Linux simultaneamente em uma única máquina física, sem depender de soluções de virtualização tradicionais como KVM.

Este avanço, proposto pela lista de discussão de desenvolvedores do kernel Linux, visa resolver um dos desafios mais importantes dos sistemas modernos: escalabilidade em computadores com grande número de núcleos de CPU.

Olá a todos,

Parker é um recurso proposto no Linux para permitir a execução de vários kernels Linux.
simultaneamente em uma única máquina, sem a virtualização KVM tradicional. Isso
É possível particionar os núcleos da CPU, memória e dispositivos para
kernel Linux com reconhecimento de partição.

Parker, uma solução sem hipervisores ou máquinas virtuais

Parker É baseado em um conceito de particionamento de hardware físico, dividindo núcleos de CPU, memória e dispositivos de entrada/saída em regiões independentes. Cada instância do kernel (chamado kernel do aplicativo) opera com seus próprios recursos alocados, enquanto o kernel de inicialização gerencia a configuração inicial do sistema e a alocação de hardware.

Ao contrário da virtualização tradicional, Todas as instâncias do Parker compartilham a mesma imagem do kernel, o que simplifica a implementação e reduz a sobrecarga de execução. No entanto, Cada um pode ter suas próprias otimizações, configurações e parâmetros desempenho, adaptando-se a diferentes cargas de trabalho ou cenários de uso.

Funcionamento interno e gestão de recursos

Mecanismo central de Parker usa kexec para carregar dinamicamente novas instâncias do kernel em regiões de memória reservadas. Antes de iniciar essas instâncias, o kernel principal libera núcleos da CPU, reservar memória física usando CMA (Alocador de Memória Contígua) e desvincula dispositivos PCI que será dedicado aos kernels secundários.

Cada partição requer seus próprios dispositivos PCIe, como unidades NVMe ou adaptadores de rede dedicados, garantindo um ambiente de E/S completamente independente. A Parker também oferece uma interface de gerenciamento baseada em kernfs, que permite gerenciar partições e monitorar o status de cada kernel em execução.

Limitações atuais e roteiro futuro

Nesta primeira versão, todas as instâncias do kernel compartilham o mesmo domínio de isolamento, lou o que significa que uma falha em um deles pode afetar todo o sistemaA ByteDance reconhece essa limitação como uma decisão de design inicial, priorizando a simplicidade e a baixa sobrecarga em detrimento do isolamento completo.

No entanto, os desenvolvedores Eles já planejam aproveitar as capacidades de isolamento no nível do hardware, como tecnologias de virtualização assistida por CPU, para melhorar a tolerância a falhas e permitir que cada kernel opere de forma completamente autônoma e segura.

Embora Parker compartilhe o mesmo objetivo que o projeto Multikernel (recentemente introduzido por outros desenvolvedores no ecossistema Linux), Ambos diferem tanto na arquitetura quanto na abordagem técnica.Parker adota um modelo de kernel compartilhado e recursos fisicamente segmentados, enquanto o Multikernel busca um ambiente cooperativo entre vários kernels coordenados.

A ByteDance enfatiza que sua implementação é completamente independente e espera que a comunidade de desenvolvedores forneça informações e feedback para refinar essa tecnologia.

Cabe mencionar que Parker está se preparando para ser um experimento promissor o que poderia redefinir a forma como o kernel Linux escala em servidores multi-core. Ao remover a camada de virtualização tradicional e aproveitar diretamente os recursos físicos, Esta tecnologia abre caminho para maior eficiência e menor latência e configurações mais flexíveis em sistemas de alto desempenho.

Embora ainda em estágio inicial, a iniciativa da ByteDance demonstra o crescente interesse de grandes empresas de tecnologia em inovar dentro do kernel Linux, consolidando seu papel não apenas como usuárias do sistema, mas também como participantes ativos de sua evolução.

Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir