Escolar Documentos
Profissional Documentos
Cultura Documentos
Arquitetura de Computadores II
Clusters
Gabriel P. Silva
Clusters
Um cluster um tipo de sistema de processamento paralelo que consiste de uma coleo de computadores independentes interconectados atravs de uma rede, trabalhando cooperativamente como um nico e integrado recurso computacional. Um cluster tpico:
Rede mais rpida e prxima do que uma rede local; Protocolos de comunicao de baixa latncia; Conexo mais frouxa que um SMP.
Gabriel P. Silva
Clusters
Se voc tiver dois ou mais computadores, as chances so de que em um determinado instante, pelo menos um deles no esteja fazendo nada. Infelizmente, quando voc realmente precisar de capacidade de processamento, voc vai precisar de toda disponvel e provavelmente no vai ser suficiente. A idia por trs do uso de clusters espalhar essas cargas entre todos os computadores disponveis, usando recursos que esto livres nas outras mquinas.
Gabriel P. Silva
Clusters
A unidade bsica de cluster um nico computador, tambm chamado de n. Os cluster podem aumentar de tamanho pela adio de outras mquinas. O cluster como um todo ser mais poderoso quanto mais rpidos forem os seu computadores individualmente e quanto mais rpida for a rede de interconexo que os liga.
Gabriel P. Silva
Clusters
Alm disso, o sistema operacional de um cluster deve fazer o melhor uso do hardware disponvel em resposta s mudanas de condies da computao. Isto ser um grande desafio se o cluster for composto de diferentes tipos de computador (um cluster heterogneo) , se um grande nmero de mquinas deixar e entrar no cluster aleatoriamente e se as cargas no puderem ser previstas com antecipao.
Gabriel P. Silva
Tipos de Clusters
Basicamente existem 3 tipos de clusters:
Tipos de Clusters
Assim que uma mquina falhar, as outras mquinas tentam assumir o trabalho. Cluster com Balanceamento de Carga utilizam o conceito de, por exemplo, quando um pedido chega para um servidor Web, o cluster verifica qual a mquina menos carregada e envia o pedido para esta mquina. Na realidade na maioria das vezes um cluster com balanceamento de carga tambm um cluster tolerante falha com a funcionalidade extra de balanceamento de carga e um nmero maior de ns.
Gabriel P. Silva
Tipos de Clusters
A ltima variao de cluster o de alto desempenho: as mquinas so configuradas especialmente para oferecer o maior desempenho possvel. Estes tipos de clusters tambm tem algumas funcionalidades para balanceamento de carga, j que eles tentam espalhar os processos por mquinas diferentes para obter maior desempenho. Mas o que ocorre normalmente que um processo paralelizado e que as rotinas (ou threads) que podem executar em paralelo em mquinas diferentes.
Gabriel P. Silva
Clusters
Os supercomputadores tradicionais foram construdos por um pequeno nmero de fabricantes, com um alto oramento destinado ao projeto. Muitas universidades no podem arcar com os custos de um supercomputador, ento o uso de clusters se torna um alternativa interessante. Com o uso de hardware mais barato e disponvel no mercado, sistemas com desempenho similar aos supercomputadores podem ser construdos.
Gabriel P. Silva
Clusters
O desempenho dos componentes dos PCs e estaes de trabalho prximo do desempenho daqueles usados nos supercomputadores:
Evoluo
Gabriel P. Silva
Exemplo
Gabriel P. Silva
Hardware
Plataformas
Redes de Interconexo
Ethernet (10Mbps)/Fast Ethernet (100Mbps) Gigabit Ethernet (1Gbps) SCI (Dolphin MPI 12 us latncia) ATM Myrinet (1,2 Gbps) Digital Memory Channel Gabriel P. Silva FDDI
Gabriel P. Silva
Gabriel P. Silva
Gabriel P. Silva
Software de Comunicao
As facilidades dos S.O.s tradicionais tambm suportada (mas so pesadas devido ao protocolo de processamento):
Active Messages (AM) (Berkeley) Fast Messages (Illinois) U-net (Cornell) XTP (Virginia) Virtual Interface Architecture (padro Gabriel P. Silva industrial)
Arquitetura de um Cluster
Gabriel P. Silva
Maiores Desafios
Escalabilidade Fsica (fsica e de aplicao) Disponibilidade (gerenciamento de falhas) Imagem nica do Sistema (parece ao usurio como um nico sistema) Comunicao Rpida (redes e protocolos de comunicao)
Gabriel P. Silva
Maiores Desafios
Balanceamento de Carga (CPU, Rede, Memria, Discos) Segurana e Encriptao (clusters de clusters) Gerenciabilidade (admin. e controle) Programabilidade (API simples) Aplicabilidade (aplicaes voltadas para o cluster)
Gabriel P. Silva
Cluster Middleware
Reside ente o S.O. e aplicaes e oferece infraestrutura para suportar:
O SSI faz uma coleo de mquinas parecer como um recurso nico (viso globalizadas dos recursos do sistema). O SA so pontos de verificao e migrao de processos.
Gabriel P. Silva
Cluster Middleware
Sistemas Operacionais:
Solaris MC Unixware MOSIX Sistemas em Execuo (software DSM, PFS, etc.) Gerenciamento de Recursos e Despacho (RMS): CODINE, CONDOR, LSF, PBS, NQS, etc
Gabriel P. Silva
Sistemas em Execuo
Ambientes de Programao
Threads (PCs, SMPs, NOW..)
MPI
PVM
Gabriel P. Silva
Ferramentas
Compiladores
C/C++/Java/
Gabriel P. Silva
Aplicaes
Podem ser seqenciais, quando se beneficiam do balanceamento de carga. Podem ser paralelas /distribudas, quando se utilizam dos ambientes de programao existentes. Data-mining Servidores Web Grandes Desafios:
Previso de tempo Qumica Quntica Modelagem de Biologia Molecular Anlise de Engenharia (CAD/CAM) Modelagem de Oceanos Gabriel P. Silva
OpenMosix
Pacote de software que transforma computadores em rede rodando Linux em um cluster. Tipo: Cluster de Alto Desempenho Facilidades:
No h necessidade de recompilao ou integrao com outras bibliotecas. Um novo n pode ser adicionado enquanto o cluster est funcionando.
Cria uma plataforma confivel, rpida e de baixo custo usada como um supercomputador.
Gabriel P. Silva
OpenMosix
Extenso ao ncleo (kernel) do Linux. Cluster com Imagem nica do Sistema (SSI)
Algoritmo adaptativo de balanceamento de carga. Migrao dinmica de processo para balanceamento de carga. Sistema de Arquivos em Cluster. Totalmente transparente para usurios e aplicaes.
O que OpenMosix
O OpenMosix um pacote de software que transforma computadores ligados em rede rodando Linux/GNU em um cluster. Ele balanceia automaticamente a carga entre diferentes ns do cluster e ns podem entrar ou deixar o cluster sem interrupo do servio. A carga espalhada entre ns diferentes do cluster de acordo com sua velocidade de processamento e de interconexo. Como o OpenMosix uma parte do ncleo e mantm total compatibilidade com o Linux, um programa de usurio ir funcionar como antes, sem nenhuma modificao.
Gabriel P. Silva
O que OpenMosix
O usurio mais distrado no vai perceber a diferena entre o Linux e o sistema OpenMosix. Para ele o todo o cluster ir funcionar com um nico (e rpido) sistema Linux. O OpenMosix um remendo para o ncleo do linux que prov total compatibilidade com as plataformas Linux para arquitetura Intel 32 bits. O algoritmo interno de balanceamento de carga transparentemente migra os processos para os outros ns do cluster.
Gabriel P. Silva
O que OpenMosix
A vantagem um melhor balanceamento de carga entre os ns. Esta facilidade de migrao transparente de processos faz o cluster parecer com um GRANDE sistema SMP com tanto processadores quanto forem os ns disponveis no cluster. O OpenMosix tambm prov um poderoso sistema de arquivos otimizado (oMFS) que, ao contrrio do NFS, prov consistncia de cache, link e tempo.
Gabriel P. Silva
Cluster SSI
Mesma escalabilidade e overhead para 2 e para 200 ns. Usurios no enxergam os ns individualmente. Programas no precisam ser modificados para obter vantagem do cluster (ao contrrio do PVM, MPI, etc.) Sempre com balanceamento de carga automtico. Fcil de gerenciar.
Gabriel P. Silva
Tecnologia OpenMosix
Migrao preemptiva de processos (PPM) transparente
Migrao rpida, apenas a pilha do processador, registradores e apontador de instrues so efetivamente migrados. Paginao sob demanda, apenas as pginas que sofrem falha so enviadas atravs da Gabriel P. Silva rede.
Tecnologia OpenMosix
Memory ushering, migra processos de um n que est prestes a ficar sem memria para prevenir o swap das pginas. Parallel File I/O, traz o processo para o servidor, faz o direct file I/O dos processos migrados. Direct File System Access (DFSA)
Gabriel P. Silva
N 1
Gabriel P. Silva
N 2
Armazenagem de Documentos
Ranking
Extrao Snippet
Resultados
Texto
Arquitetura Servidor
Google Google Web Web Server Server
Index server Index server Index server Index server Mais de 15,000 PCs comerciais
Document server Document server Document server Document server Document server
Barroso, Barroso, Dean, Hlzle, Hlzle, Web Web Search For A Planet: The Google Cluster Architecture, , IEEE Architecture April-March 2003 Gabriel P. Silva Micro, April-
Gabriel P. Silva
Projeto
A maior preocupao no projeto da arquitetura do Google foi utilizar computadores com uma excelente relao custo/desempenho. Isto no significa, necessariamente, o computador com processador mais avanado para um dado momento. A confiabilidade provida a nvel de software e no no hardware. O projeto procurou paralelizar os pedidos individuais como forma de obter o melhor throughput agregado.
Gabriel P. Silva
Projeto
Ao fazer uma pergunta para o Google, o navegador do usurio deve primeiro fazer a converso do DNS para um endereo IP em particular. Para fazer frente quantidade de trfico, o servio Google consiste de diversos clusters espalhados geograficamente. Um sistema de balanceamento escolhe um cluster levando em conta a sua proximidade geogrfica do usurio com cada cluster. Um balanceador de carga em cada cluster monitora a disponibilidade do servidores e realiza balaceamento local de carga.
Gabriel P. Silva
Projeto
Uma execuo de uma resposta se d em duas fases:
Os servidores de ndice consultam uma tabela invertida que mapeia cada palavra da pergunta para uma lista de documentos correspondentes. Os servidores de ndice determinam um conjunto de documentos relevantes pela interseo das listas individuais de cada palavra da pergunta e computam um ndice de relevncia para cada documento.
Gabriel P. Silva
Projeto
A busca dos ndices paralelizada dividindo-o em partes chamadas index shards, cada uma contendo um subconjunto de documentos do ndice completo. Existem vrias cpias de cada shard espalhadas pelo cluster, com um conjunto especfico de mquinas servindo a cada uma delas. Cada pedido escolhe uma mquina dentro de um conjunto usando um balanceador de carga intermedirio. Em outras palavras, cada pedido vai para uma mquina (ou um subconjunto) atribudo a cada shard.
Gabriel P. Silva
Servidores de Indexao
Shard: indexao de um subconsubconjunto da coleo. coleo.
Servidor Servidor Web Web Google Google
PC
PC
PC
PC
PC
PC
PC
PC
PC
Projeto
O resultado final da primeira fase de busca uma lista ordenada de identificadores de documentos (docids). A segunda fase da computao envolve pegar a lista de docids e computar a URL e o ttulo real de cada um desses documentos. Os servidores de documentos (docservers) realizam esta fase da computao. A estratgia utilizada tambm a de dividir o processamento em diversas etapas.
Gabriel P. Silva
Projeto
Distribuindo aleatoriamente os documentos em shards menores. Tendo multiplas cpias de servidores responsveis para cada shard. Roteando pedidos atravs de um balanceador de carga. O cluster de servidor de documentos deve ter acesso on-line e de baixa latncia a uma cpia com o contedo de toda a Web.
Gabriel P. Silva
Projeto
Em realidade existem diversas cpias do contedo da Web nos servidores Google por uma questo de desempenho e disponibilidade. Em todo o processo o mximo de paralelismo explorado pela subdiviso das tarefas atravs de diversos servidores do cluster. No final do processo, o servidor GWS monta a pgina HTML que visualizada pelo usurio.
Gabriel P. Silva
Princpos de Projeto
Confiabilidade por software No feito o uso de fontes de alimentao redundantes, nem de RAIDs, nem de componentes de alta qualidade. Uso de replicao para melhor throughput e disponibilidade Cada um dos servios replicado em muitas mquinas Preo/desempenho acima do desempenho de pico So compradas geraes de CPU que no momento oferecem o melhor desempenho por unidade de preo, ao invs do maior desempenho absoluto. PCs de mercado reduzem o custo da computao Como resultado podem ser utilizados mais recursos computacionais para Gabriel P. Silva cada pedido.
Arquitetura
Gabriel P. Silva
Arquitetura
Gabriel P. Silva
Arquitetura
Gabriel P. Silva
Dados sobre o
3 bilhes de pginas da Web 22 milhes de arquivos PDF 700 milhes de mensagens de grupos 425 milhes de imagens indexadas Serve + de 150 milhes pesquisas/dia. http://labs.google.com/os
Gabriel P. Silva
Curiosidades
No ano de 2000 o Google serviu 1000 pedidos por segundo. O Google busca a web inteira uma vez por ms. Em dezembro de 2000 (quatro anos atrs) Google usava 6000 processadores e 12000 discos totalizando 1 Petabyte de dados, distribudos em 3 centros de servios nos EUA. As buscas tm crescido a uma taxa de 90% a cada ano no Google. Estima-se hoje que o Google tenha cerca de 100.000 servidores distribudos por uma dzia de centros em todo o mundo.
Gabriel P. Silva
Curiosidades
Software o elo fraco a maior parte das fontes de falha so de software. Cerca de 20 mquinas devem ser reiniciadas por dia. Cerca de 80 mquinas quebram por dia. A reiniciao deve ser feita manualmente 2-3% dos PCs devem ser substitudos todo ano. Discos e Memria respondem por 95% das falhas.
Gabriel P. Silva
Curiosidades
http://www.google.com/press/zeitgeist.html
Lnguas utilizadas no Google (Maro 2001 Janeiro 2003) Pases de Origem (Outubro 2001)
Gabriel P. Silva
Curiosidades
(abril/2004)
Gabriel P. Silva
Concluses
Cluster hoje so uma realidade. Oferecem crescimento incremental e cabem no oramento. Novas tendncias tecnolgicas em hardware e software permitiro aos clusters parecer cada vez mais com um nico sistema. Supercomputadores baseados em clusters podero ser uma soluo computacional para pases como o Brasil.
Gabriel P. Silva