1 / 18

Web Caching with Consistent Hashing

Web Caching with Consistent Hashing. Problemas com a Web. Redes congestionadas Servidores atolados. Web Caching. Utilizar conteúdo de um servidor intermediário ao invés de utilizar o conteúdo do servidor original Implementações Tradicionais Cache centralizado

Download Presentation

Web Caching with Consistent Hashing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Caching with Consistent Hashing

  2. Problemas com a Web • Redes congestionadas • Servidores atolados

  3. Web Caching • Utilizar conteúdo de um servidor intermediário ao invés de utilizar o conteúdo do servidor original • Implementações Tradicionais • Cache centralizado • Cache centralizado cooperativo • Cache hierárquico • Diretório

  4. Hashing • Mapeia endereços diretamente para máquinas cache • Não há necessidade de dados duplicados • Não há necessidade de servidores centralizados • Não há necessidade de comunicação entre as máquinas cache • Porém a utilização de uma função hash padrão não suporta servidores dinâmicos

  5. Consistent Hashing • Utilização de uma função (f) hash normal [0,M] • Divide-se o valor obtido pela função pelo seu valor máximo (M) [0,1] • É formado o círculo unitário • Cada cache é associado a um ponto no círculo unitário • Cada endereço é associado ao cache que esteja localizado no círculo unitário mais próximo dele caminhando no sentido horário

  6. Consistent Hashing

  7. Consistent Hashing • Pode ser implementado utilizando uma árvore binária • Tempo médio de busca para n caches é O(log(n)) • Lógica de busca fica no browser • Ou no DNS, que acabou sendo a solução escolhida

  8. Propriedades • Para m máquinas cache e c clientes (com cada com a visão de metade das máquina cache) • Balanço: Em qualquer visão, os endereços estão distribuídos uniformemente sobre as máquinas caches • Carga: Em todas as visões, nenhuma máquina tem mais do que O(log(c)) vezes em média o número de endereços • Espalhamento: Nenhum endereço é armazenado em mais do que O(log(c)) caches

  9. Consistent Hashing • Resultados para 26804 endereços diferentes:

  10. Implementação • Apesar de parecer bastente simples implementar Consistent Hashing, os browsers atuais não provêm bons mecanismos de extensão • Solução híbrida utilizando JavaScript + DNS (Cache Resolver)

  11. Implementação • Parte JavaScript: • Realiza um hash padrão sobre o endereço mapeando-o para um intervalo de 1000 nomes de caches virtuais • Parte DNS: • Mapeia uma cache virtual para um endereço IP físico utilizando Consistent Hashing

  12. Implementação • Foi utilizado BIND 8.0 sem modificações • Em conjunto com BIND, um processo chamado dnshelper monitora os caches e envia sinais para o BIND notificando-o sobre novos endereços mapeados

  13. Consistent × Central

  14. Consistent × Cooperative

  15. Consistent × Cooperative

  16. Extensões • Localidade • Mecanismo para clientes utilizarem caches geograficamente mais próximos • Utiliza o serviço DNS em duas camadas • Balanceamento de Carga Avançado • Identifica as Hot Pages • Utiliza DNS para referenciar Hot Pages para vários caches diferentes • Tolerância a Falhas • A implementação de Consistent Hashing já é bastante tolerante a falhas

  17. Conclusão • Caching é uma solução para os problemas de tráfego enfrentados pela Web • Consistent Hashing é uma alternativa simples e eficiente para implementar caching • O uso eficiente de caching e consistent hashing pode aumentar significativamente a eficiência da Web

  18. Como vender isso? • Venda caching para os servidores, não para os clientes • www.akamai.com

More Related