Em setembro, Roman Gushchin, engenheiro do Facebook estava trabalhando em uma nova implementação de controlador e alocador de memória slab. Por sua vez, isso poderia fornecer melhor utilização de memória e menos uso de memória de slab. Isso não estava pronto a tempo para o kernel 5.5. No entanto, uma série de patches revisada foi enviada na semana passada. O engenheiro do Facebook propõe novo controlador de memória de placas para Linux. Assim, espera economizar muita memória RAM. Portanto, o Facebook aposta no Linux para reduzir consumo de memória RAM.
Ele 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.
Roman continua a falar sobre esse novo controlador de memória de slab, resultando muito melhor do que o código de memória já existente. Então, segundo ele, as atividades de produção do Facebook está vendo apenas 45 a 65% de utilização de slab e, na melhor das hipóteses, cerca de 85%.
Facebook aposta no Linux para reduzir consumo de memória RAM
Esse retrabalho do controlador visa a uma melhor utilização da slab e também o compartilhamento de páginas de slab entre vários grupos de memória. A contabilidade da memória é feita agora por objeto e não por página, entre outras alterações.
Em seus testes, eles descobriram que, ao executar um front-end da Web, ele usava cerca de 42% menos memória de slab. Do mesmo modo, um servidor de cache de banco de dados usava cerca de 35% menos e um servidor DNS usava cerca de 36% menos. Então, no geral, há uma economia de 30 a 40%, além de outros benefícios, como menor fragmentação da memória. Entretanto, há o risco de possíveis regressões da CPU ainda serem exploradas.
Os interessados neste importante trabalho de engenharia de kernel do Facebook e o que poderia estar a caminho de um kernel estável em 2020 podem ser encontrados nesta série de patches.