Arquitetura de Cluster do Google

  • 623 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
623
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
23
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • O PageRank é um conjunto de algoritmos que determinam a ordem de relevância de um conjunto de documentos na Internet. Um grande diferencial do Google foi analisar o código das páginas não como texto, mas como HTML. Entender qual a relevância que cada conjunto de caracteres tem dependendo de onde no HTML eles estavam localizados.
  • Retirado do diagrama em: http://www.google.com/corporate/tech.html
  • Exemplo, para a arquitetura do Google é melhor um processador de 1Ghz que custa R$ 100,00 (10Ghz/R$) do que um processador de 4Ghz que custa R$ 4000,00 (1Ghz/R$)

Transcript

  • 1. Busca na web para um planeta A Arquitetura de Cluster do Google
  • 2. Apresentado por:
    • Alison Miazaki
    • Filipe Morgado Simões de Campos
    • Guilherme Fré
    • Rafael Barbolo Lopes
    • Rafael Ivan Garcia
  • 3. Fonte de Dados
    • Dados apresentados com base em um artigo publicado pelo Google em 2003
    Web Search for a Planet: The Google Cluster Architecture Luiz Barroso, Jeffrey Dean, and Urs Hoelzle http://research.google.com/archive/googlecluster.html
  • 4. Resumo
    • “ Com extensivo uso de paralelização, a busca do Google permite que diferentes consultas sejam executadas em diferentes processadores, dividindo o índice de busca, também permitindo que uma única consulta seja executada por múltiplos processadores.
    • Para lidar com esta carga de trabalho, a arquitetura do Google é implementada com clusters de mais de 15.000 PCs simples com software tolerante a falhas. Essa arquitetura atinge performance superior por uma fração do custo de um sistema com menos servidores de alto padrão, porém mais caros.
  • 5. O Buscador Perfeito “ Entende exatamente o que você quis dizer e devolve exatamente o que você queria” Larry Page < html > < title > Corp. Info - Tech Overview </ title > < body > < h1 > Corporate Information </ h1 > < li >< a href= “/home.htm” > Home </ a ></ li > < h2 > Technology Overview </ h2 > < p > We stand alone in our focus on developing the &quot;perfect search engine, PageRank Análise e classificação do conteúdo HTML
  • 6. Ciclo de vida de uma consulta Um ciclo leva cerca de 0,5 segundo
  • 7. Requisitos de uma consulta
    • Processamento de centenas de megabytes
    • Bilhões de ciclos de CPU
    • Executar em paralelo com milhares de outras consultas
  • 8. Google: Alcançando Alta performance
    • Banco de Dados: BigTable
    • Sistema de Arquivos: Google File System
    • Arquitetura: Clusters de Multicomputadores baratos
  • 9. Clusters de Multicomputadores baratos
  • 10. Multicomputador Memória Processador Rede local: comunicação por passagem de mensagens P M P M P M P M P M P M P M P M P M P M P M P M P M P M P M P M
  • 11. Clusters do Google
    • Mais de 15.000 PCs básicos
    • Software tolerante a falhas de PCs
    • Custo efetivo total menor que o custo de usar servidores de alto padrão
    • Alta eficiência no consumo de energia
    • Alta razão performance/preço
    • Máquinas geograficamente distribuídas (evita falhas localizadas em data centers e diminui Round Trip Time de requisições)
  • 12. Paralelização
    • Diferentes consultas podem rodar em diferentes processadores
    • Uma única consulta pode utilizar diversos processadores
    • Desta forma, a performance máxima de um processador é menos relevante do que seu performance/preço (parecido com pipeline: importante é a vazão e não o tempo para executar uma única consulta)
  • 13. O que é melhor para o Google?
    • Um processador de 3GHz que custa R$ 4.000
    • Um processador de 1GHz que custa R$ 100
  • 14. O que é melhor para o Google?
    • Razão performance/preço = 0,75MHz/R$
    2. Razão performance/preço = 10MHz/R$
  • 15. Princípios da Arquitetura
  • 16. Princípios da Arquitetura
    • 1. Confiabilidade no software
      • Evita utilização de fontes de energia redundantes, discos redundantes (RAID) e componentes de alta qualidade
      • Os clusters possuem muitas máquinas simples e baratas
      • Máquinas podem falhar
      • A confiabilidade está focada no software
  • 17. Princípios da Arquitetura
    • 2. Replicação
      • Aumenta a vazão e disponibilidade dos serviços
      • Máquinas diferentes podem disponibilizar os mesmos serviços
      • Como a quantidade de máquinas para fornecer capacidade de processamento de dados é grande, o custo da replicação de serviços é baixo
  • 18. Princípios da Arquitetura
    • 3. Preço/performance é melhor que medidas de performance em pico
      • A escolha de qual máquina comprar depende da performance que será obtida por unidade de preço
      • CPUs que fornecem o melhor processamento de pico (clock nominal) são menos significantes se seu preço for alto.
  • 19. Princípios da Arquitetura
    • 4. Uso de PCs básicos
      • Aumenta o poder computacional para cada consulta que é feita
      • Permite usar algoritmos de busca mais custosos
      • Permite aumentar o índice de documentos buscados
      • Durabilidade de um PC básico é de 2 ou 3 anos
  • 20. Tratamento de consultas Servidor Web do Google Correção ortográfica Servidor de Anúncios Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos
  • 21. Tratamento de consultas Correção ortográfica Servidor de Anúncios Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidor Web do Google Recebe termos da consulta
  • 22. Tratamento de consultas Servidor Web do Google Servidor de Anúncios Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Correção ortográfica Você quis dizer:
  • 23. Tratamento de consultas Servidor Web do Google Correção ortográfica Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidor de Anúncios AdSense e links patrocinados
  • 24. Tratamento de consultas Servidor Web do Google Correção ortográfica Servidor de Anúncios Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Índice Índice invertido: palavra1: doc1 - doc12 - doc32 - doc43 - doc100 palavra2: doc12 - doc132 doc181 (cada máquina possui um pedaço do índice)
  • 25. Tratamento de consultas Servidor Web do Google Correção ortográfica Servidor de Anúncios Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Formatação do resultado: Extrai título e pequena descrição contendo termos da consulta de cada documento (cada máquina possui um conjunto de documentos)
  • 26. Tratamento de consultas Correção ortográfica Servidor de Anúncios Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidor Web do Google Retorna HTML com resultados da busca
  • 27. Tratamento de consultas Servidor Web do Google Correção ortográfica Servidor de Anúncios Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Índice Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos Servidores de Documentos
  • 28. Configuração das máquinas
    • Um rack do google possui cerca de 80 servidores x86 que possuem componentes equivalentes ao de um PC desktop, mas com disco rígido de grande capacidade
    • CPUs: de processadores com apenas um núcleo como o Intel-Celeron 533 MHz a processadores com dois núcleos como o Intel Pentium III 1.4GHz
    • Servidores de Índice possuem menos espaço de disco porque possuem carga de trabalho definida por intenso uso de CPU
    • Conexões entre servidores de um mesmo rack com switches 100Mbps Ethernet. Cada switch é conectado a um switch principal com link gigabit que faz a conexão entre os racks
  • 29. Comparação entre máquinas Rack do Google Dados de 2002
    • 88 servidores dual-CPU Intel Xeon, cada um com:
      • 2GHz / CPU
      • 2GB RAM
      • 80GB HD
    • Total:
      • 176 CPUs de 2-GHz cada
      • 176 GB RAM
      • 7 TB HD
    Custo: U$ 278.000 Rack de um servidor de alto padrão
    • 8 servidores Intel Xeon, cada um com:
      • 2GHz
      • 8GB RAM
      • 1TB HD
    • Total:
      • 8 CPUs de 2-GHz cada
      • 64 GB RAM
      • 8 TB HD
    Custo: U$ 758.000
  • 30. Servidor de Índice
  • 31. Servidor de Índice
    • Principal atividade: decodificar informações comprimidas no índice invertido e encontrar entradas com documentos que satisfazem a busca.
  • 32. Servidor de Índice
    • Medidas de uso de instruções em um Pentium III de 1-GHz dual core:
    Característica Valor Ciclos por Instrução (CPI) 1.1 Falha de previsão de desvio 5.0 % Falha de acesso a blocos de instrução no cache L1 0.4% Falha de acesso a blocos de dados no cache L1 0.7% Falha de acesso a blocos no cache L2 0.3% Falha de acesso a blocos de instrução no TLB 0.04% Falha de acesso a blocos de dados no TLB 0.7%
  • 33. Análise: Sistema de Memória
    • Ocorrem poucas falhas para acessar instruções porque o servidor de índice possui um pequeno código em loop.
    • O acesso a blocos de dados não se aproveita de localidade temporal devido à imprevisibilidade de acesso a blocos de dados do índice, porém se aproveita de localidade espacial porque acessa conjuntos de blocos próximos para decodificar o índice e realizar buscas.
  • 34. Arquitetura do Google Clusters de PCs básicos
  • 35. Quando usar
    • Serviços que requerem milhares de servidores e petabytes de armazenamento
    • Foco em performance/preço
    • Servidores que não guardam estado (permitindo replicação)
    • Intenso uso computacional
    • Volume de requisições a serem atendidas muito alto
    • Aplicações que exigem paralelismo
  • 36. Referências
    • Google – Corporate Information – Technology Overview:
      • http://www.google.com/corporate/tech.html
    • Google Research Publication: Web Search for a Planet:
      • http://research.google.com/archive/googlecluster.html
  • 37. Obrigado