CacheLib é o novo mecanismo de cache do Facebook

CacheLib é o novo mecanismo de cache do Facebook

O Facebook anunciou formalmente o CacheLib na semana passada como seu novo mecanismo de cache de código aberto. O CacheLib foi projetado para serviços de escala da web e para fazer um cache de memória não volátil eficaz para compensar os custos crescentes de DRAM.

O desenvolvimento do CacheLib foi motivado em parte pelo aumento dos preços da memória do sistema. O anúncio do Facebook destacou o seguinte:

À medida que os caches de memória dinâmica de acesso aleatório (DRAM) tradicionais se tornam mais caros e exigem mais potência para escalar, empresas como o Facebook estão explorando opções de hardware, como unidades de memória não volátil (NVM) para aumentar seus sistemas de cache. Este modelo híbrido DRAM e NVM é um passo à frente, mas designs de cache inovadores são necessários para aproveitar todo o potencial do cache híbrido.

CacheLib é o novo mecanismo de cache do Facebook

CacheLib é o novo mecanismo de cache do Facebook

O CacheLib é baseado em C ++ e é um mecanismo de cache em processo plugável. O CacheLib está sendo usado agora por mais de 70 sistemas de grande escala no Facebook, de seu gráfico social ao CDN.

O cache desempenha um papel importante em ajudar as pessoas a acessarem suas informações de maneira eficiente. Por exemplo, quando um aplicativo de e-mail é carregado, ele armazena temporariamente em cache algumas mensagens, para que o usuário possa atualizar a página sem que o aplicativo recupere as mesmas mensagens. No entanto, o armazenamento em cache em grande escala tem sido um desafio complexo de engenharia. As empresas devem equilibrar a experiência rápida que as pessoas esperam do armazenamento em cache com a manutenção de sistemas de alto desempenho e com boa relação custo-benefício.

Aqueles que desejam aprender mais sobre esse mecanismo de cache de código aberto podem ler o anúncio do Facebook Engineering. Há também um site de projeto em Cachelib.org e o código licenciado Apache 2.0 está hospedado no GitHub.

Hoje, estamos anunciando o lançamento do CacheLib, um mecanismo de cache em processo conectável para construir e escalar serviços de alto desempenho de forma colaborativa. A biblioteca C ++ do CacheLib permite que os desenvolvedores criem e personalizem caches escalonáveis ??e simultâneos por meio de sua API simples. Também estamos abrindo o CacheBench, uma ferramenta de benchmarking para avaliar o desempenho do cache em diversas cargas de trabalho de produção.

CacheLib é o novo mecanismo de cache do Facebook

CacheLib é aproveitado como um cache em processo em mais de 70 sistemas de grande escala no Facebook, incluindo o gráfico social, rede de distribuição de conteúdo, armazenamento e caches de valor-chave look-away. Essa escala existente e o potencial para adoção de código aberto tornam o CacheLib um ponto de agregação para otimizações e o CacheBench uma ferramenta de benchmarking eficaz para avaliar novas ideias em diversos aplicativos de cache.