FERRAMENTAS LINUX: O Engenheiro do Facebook propõe um novo controlador de memória de placas para Linux - economizando muita memória RAM

sexta-feira, 6 de setembro de 2019

O Engenheiro do Facebook propõe um novo controlador de memória de placas para Linux - economizando muita memória RAM



Confira !



Roman Gushchin, da equipe de engenharia de kernel Linux do Facebook, propôs um novo controlador de memória de laje para o kernel Linux.

Roman encontrou o que ele chama de "falha muito séria" no controlador de memória de placas existente, que leva à baixa utilização nos dias de hoje com os cgroups. "A verdadeira razão pela qual o design existente leva a uma baixa utilização de laje é simples: as páginas de laje são usadas exclusivamente por um cgroup de memória. Se houver apenas algumas alocações de determinado tamanho feitas por um cgroup, ou se alguns objetos ativos (por exemplo, dentries) forem deixados após a exclusão do cgroup, ou se o cgroup contiver um aplicativo de thread único que mal está alocando objetos do kernel, mas sempre em uma nova CPU: em todos esses casos, a utilização da laje resultante é muito baixa. Se a contabilidade do kmem estiver desativada, o kernel poderá usar espaço livre nas páginas da laje para outras alocações. "

O novo controlador de memória de placas analisado visa proporcionar uma melhor utilização através do compartilhamento de páginas de placas entre vários cgroups de memória.

Com o teste interno desse código pelo Facebook, ele salvou "grandes quantidades de memória" de até 650 ~ 700Mb para um front-end da Web, 750 ~ 800Mb para um cache de banco de dados e cerca de 700Mb para um servidor DNS. No geral, ele deve economizar 30 a 40% da memória da laje em comparação com a implementação existente.

Mais detalhes sobre a implementação técnica através desta série de patches . O novo controlador está sob um sinalizador "solicitação de comentários", portanto veremos aonde isso leva. Roman diz que eles não encontraram regressões notáveis, mas serão necessários testes mais amplos antes de serem considerados para a linha principal. Se tudo correr bem, esperamos ver isso no kernel da linha principal em 2020.


Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário