Novo método de gerenciamento de memória do Facebook

Um dos membros da equipe de desenvolvimento da rede social Facebook, Roman Gushchin, propôs em uma newsletter de desenvolvedores um conjunto de patches para o kernel Linux, visando melhorar o desempenho da memória através da implementação de um novo controlador de gerenciamento — slab (controlador de memória slab).

A alocação de slab –– é um mecanismo de gerenciamento de memória projetado para uma distribuição mais eficiente da memória e para eliminar significativa fragmentação. A base deste algoritmo é manter a memória alocada, contendo um objeto de um determinado tipo, e reutilizar essa memória na próxima alocação para um objeto do mesmo tipo. Este método foi introduzido pela primeira vez no SunOS por Jeff Bonwick e é amplamente utilizado nos kernels de muitos sistemas operacionais Unix, incluindo FreeBSD e Linux.

A nova controladora baseia-se na transferência do controle de slab do nível de páginas de memória para o nível de objetos do kernel, permitindo o compartilhamento de uma página de slab entre diferentes cgroups, ao invés de alocar um cache separado para cada cgroup.

Os resultados dos testes indicam que o método proposto de gerenciamento de memória permite aumentar a eficácia da utilização de slab em até 45%, além de reduzir o consumo total de memória pelo kernel do sistema operacional. A diminuição do número de páginas alocadas para slabs também reduz a fragmentação da memória em geral, o que sem dúvida impacta no desempenho do sistema.

O novo controlador está sendo testado há vários meses em servidores de produção do Facebook e até agora esses testes podem ser considerados bem-sucedidos: sem perda de desempenho e aumento de erros, foi notada uma clara redução no consumo de memória — em alguns servidores, até 1GB. Esse número é bastante subjetivo, pois testes anteriores mostraram resultados ligeiramente menores:

  • 650-700 MB no frontend web
  • 750-800 MB em servidores com cache de banco de dados
  • 700 MB em servidores DNS

>>> Página do autor no GitHub


>>> Resultados de testes anteriores

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster