O Google confirmou que planeja contribuir com alguns de seus códigos internos de threading para o kernel Linux, mas não revelou suas motivações além do desejo de compartilhar.
O agendamento e o gerenciamento de threads são importantes quando você deseja garantir que seus núcleos de CPU não fiquem ociosos se houver trabalho que eles possam fazer de maneira útil. O encadeamento M:N é uma abordagem normalmente mais eficiente do que a 1:1 que a maioria dos kernels tende a usar.
Google planeja contribuir com alguns de seus códigos internos de threading para o kernel Linux
Conforme descrito por Peter Oskolkov na lista de e-mails do kernel:
[A tecnologia é] um subsistema de threading do espaço do usuário M:N apoiado pela API privada SwitchTo Linux Kernel do Google. Este subsistema fornece serviços sensíveis à latência no Google com controle/agendamento refinado do espaço do usuário sobre o que está sendo executado e quando; e este subsistema é amplamente usado internamente (chamado de schedulers ou fibers).
O site The Register pediu ao Google que explicasse o que está acontecendo com essa contribuição para o kernel e foi informado que a tecnologia de threading é amplamente usada no Google; o que faz muito sentido, já que o Google tenta extrair o máximo de sua colossal frota de servidores. O site também informa que o Google quer abrir o código-fonte de APIs de produção úteis.
De acordo com Oskolkov, os patches mais recentes são o primeiro passo para abrir o código deste trabalho. Embora a postagem na lista de discussão do kernel tenha como alvo a versão 5.9 do kernel Linux, o Google disse:
Não há prazo definido para compartilhar [a API SwitchTo] no momento.
O Google discutiu esse trabalho pela primeira vez em 2013 em uma palestra; e o longo tempo decorrido desde o evento pode significar que o Google agora executa um código de agendamento mais avançado internamente.
A dependência do Android no kernel do Linux pode ser outro fator, já que muitos smartphones agora têm processadores multi-core. Com a janela de mesclagem do Linux 5.9 aberta no momento, saberemos em breve se ela chegará ao kernel mais cedo ou mais tarde.
Fonte: The Register
Kernel Linux 5.8 ganha primeira atualização e já está pronto para ser usado