Cluster01 - Cavalcante Treinamentos

Propaganda
Cluster
Introdução
• Cluster pode ser definido como um sistema onde dois ou mais
computadores trabalham de maneira conjunta para realizar
processamento pesado.
• Em outras palavras, os computadores dividem as tarefas de
processamento e trabalham como se fossem um único computador.
O que é cluster e como funciona
• Cluster é o nome dado a um sistema montado com mais de um
computador, cujo objetivo é fazer com que todo o processamento da
aplicação seja distribuído aos computadores.
• Mas de forma que pareça com que eles sejam um computador só.
• Com isso, é possível realizar processamentos que até então somente
computadores de alta performance seriam capazes de fazer.
O que é cluster e como funciona
•
Cada computador de um cluster é denominado nó ou nodo.
•
Todos devem ser interconectados, de maneira a formarem uma rede, de
qualquer topologia.
•
Essa rede precisa ser criada de uma forma que permita o acréscimo ou a
retirada de um nó (em casos de danos, por exemplo), mas sem interromper o
funcionamento do cluster.
•
O sistema operacional usado nos computadores deve ser de um mesmo tipo,
ou seja, ou somente Windows, ou somente Linux, ou somente BSD, etc.
•
Isso porque existe particularidades em cada sistema operacional que
poderiam impedir o funcionamento do cluster.
O que é cluster e como funciona
• Independente do sistema operacional usado, é preciso usar um software
que permita a montagem do cluster em si.
• Esse software vai ser responsável, entre outras coisas, pela distribuição do
processamento. Esse é um ponto crucial na montagem de um cluster.
• É preciso que o software trabalhe de forma que erros e defeitos sejam
detectados, oferecendo meios de providenciar reparos, mas sem
interromper as atividades do cluster.
• Obviamente, esse tipo de necessidade pode ser controlada através de um
equipamento específico, ou seja, não depende apenas do software.
O que é cluster e como funciona
• Para que exista, um cluster precisa de pelo menos dois computadores.
•
Evidentemente, quanto mais computadores existir no cluster, maiores
serão os custos de implementação e manutenção.
• Isso não se deve apenas ao preço dos computadores, mas também pelos
equipamentos (switches, cabos, hubs, nobreaks, etc).
• Mas ainda assim, os custos costumam ser menores do que a
aquisição/manutenção de computadores poderosos e algumas vezes o
processamento é até mais eficiente (rápido).
cluster de servidor
• Executado no
– Windows Server 2003,
– Enterprise Edition e
– Datacenter Edition.
• Um cluster de servidor é um grupo de servidores independentes que
trabalham em conjunto como um único sistema para oferecer alta
disponibilidade de serviços para os clientes.
• Quando ocorre uma falha em um computador de um cluster, os recursos
são redirecionados e a carga de trabalho é redistribuído para outro
computador no cluster.
cluster de servidor
• Você pode usar clusters de servidores para garantir que os usuários
tenham acesso constante a importantes recursos baseados em servidor.
• Os clusters de servidor são projetados para aplicações que têm estado de
longa duração em memória ou dados atualizados com frequência.
• Os usos típicos para clusters de servidor incluem servidores de arquivos,
servidores de impressão, servidores de banco de dados e servidores de
mensagens.
Network Load Balancing (NLB)
• Não exige um dispositivo de armazenamento e pode ser configurado em
qualquer versão do Windows Server 2003.
• É uma implementação de cluster e balanceamento de carga que se destina
a fornecer alta disponibilidade e alta confiabilidade, bem como alta
escalabilidade.
• NLBS é destinado a aplicações com conjuntos de dados relativamente
pequenos, que raramente mudam e não têm estados de longa duraçãoem-memória (um exemplo seria páginas da web).
• Esses tipos de aplicativos normalmente incluem Web, File Transfer
Protocol (FTP), e rede privada virtual (VPN).
Network Load Balancing (NLB)
•
Cada solicitação do cliente para uma aplicação sem estado é uma transação
separada, por isso é possível distribuir as solicitações entre vários servidores
para equilibrar a carga.
•
Vantagem: os servidores em um cluster monitorar uns aos outros para
localizar pontos de falhas.
•
No Windows Server 2003 , NLBS não suporta a remoção automática de um
servidor com falha de um cluster
– A menos que o servidor é completamente off-line, ou se o seu serviço de NLBS está parado.
•
Por exemplo, se um servidor web está retornando uma página de erro, em vez
de conteúdo correto, ainda é percebido como "vivo" por NLBS.
Aplicações para Clusters
• Os clusters podem ser usados para uma infinidade de aplicações.
Basicamente, para qualquer uma que exija processamento pesado.
• Como exemplos de aplicações, temos previsão meteorológica (previsão do
tempo e condições climáticas), simulações geotérmicas (ou seja,
simulação de eventos no solo), renderização de efeitos especiais (muito
usado em filmes), simulações financeiras, distribuição de carga, etc.
Aplicações para Clusters
• Basicamente, qualquer tipo de aplicação crítica, ou seja, aplicações
que não podem parar de funcionar ou não podem perder dados (como os
sistemas de bancos, por exemplo), podem utilizar as tecnologias de
cluster, desde que devidamente configurados para não serem sujeitas a
falhas graves.
• Assim, o cluster deve contar com nobreaks ou geradores que garantam o
funcionamento do sistema mesmo nos casos de queda de energia, além
de meios de manutenção e detecção de falhas eficientes.
Cluster Beowulf
• Esse tipo de cluster, voltado à computação paralela.
• Foi fundamentado em 1994, pela NASA, com a finalidade de processar as
informações espaciais que a entidade recolhia.
• Desde então, grandes empresas (como HP e IBM) e universidades (como a
brasileira Unesp) vêm construindo clusters deste tipo e como cada vez
mais nós!
Cluster Beowulf
• O que distingue o Cluster Beowulf dos outros tipos são as seguintes
características (que são aplicadas de acordo com a finalidade do cluster):
- A conexão dos nós pode ser feita por redes do tipo Ethernet (mais comum);
- Existe um servidor responsável por controlar todo o cluster, principalmente quanto a
distribuição de tarefas e processamento (pode haver mais de um servidor, dedicado a
tarefas específicas, como monitoração de falhas). Este servidor é chamado de Front-end;
- O sistema operacional é baseado Linux, sendo necessário que ele contenha todos os
programas para cluster;
- Pode-se usar computadores comuns, inclusive modelos considerados obsoletos;
- Não é necessário usar equipamentos próprios para clusters. Basta equipamentos comuns à
redes e os tradicionais PCs.
Cluster Beowulf
Cluster Beowulf
• De maneira generalizada, o Cluster Beowulf permite a construção de
sistemas de processamento que podem alcançar altos valores de
gigaflops (um gigaflop equivale a 1 bilhão de instruções de ponto flutuante
executadas por segundo).
•
Isso tudo com o uso de computadores comuns e de um sistema
operacional com código-fonte livre, ou seja, além de gratuito, pode ser
melhorado para a sua finalidade.
• Tais características fizeram do Cluster Beowulf um tema muito explorado
em universidades, podendo se aplicado para vários fins.
Cluster Beowulf
• Entre os requisitos para o sistema operacional de um Cluster Beowulf,
estão a necessidade de se ter as bibliotecas para Parallel Virtual Machine
(PVM) ou para Message Passing Interface (MPI).
• Ambos os tipos são usados para a troca de mensagens entre os nós do
cluster.
• O MPI é mais avançado que o PVM, pois pode trabalhar com mensagens
para todos os computadores ou para apenas um determinado grupo (por
exemplo, quando somente este grupo vai realizar determinada tarefa).
Cluster Beowulf
Tipos de cluster
• Cluster para Alta Disponibilidade
• Cluster para Balanceamento de Carga
• Cluster Combo
Clusters de Alta Disponibilidade
• Cluster pode ser definido como um sistema onde dois ou mais
computadores trabalham de maneira conjunta para realizar
processamento pesado.
• Em outras palavras, os computadores dividem as tarefas de
processamento e trabalham como se fossem um único computador.
Cluster para Balanceamento de Carga
• Balanceamento de Carga se refere à distribuição equilibrada de
processamento aos nós do cluster.
• É muito usado na Internet, em servidores de e-mail, comércio eletrônico e
em sistemas de lojas.
• Neste tipo de cluster, é necessário que haja monitoração constante da
comunicação e mecanismos de redundância. Caso contrário, qualquer
falha pode interromper o funcionamento do cluster;
Cluster Combo
• Este tipo combina as características dos clusters De Alta Disponibilidade e
de Balanceamento de Carga.
Cluster MOSIX
• MOSIX é a sigla para Multicomputer Operating System for UnIX.
• Trata-se de um conjunto de ferramentas de cluster para Linux, voltado ao
tipo Balanceamento de Carga.
• Uma de suas principais características é a não necessidade de aplicações e
recursos de software voltados ao cluster, como acontece com o Beowulf.
• O MOSIX é eficiente na tarefa de distribuição dinâmica de processamento
entre os computadores do cluster.
Cluster MOSIX
• Esse tipo, assim como o Beowulf, é muito utilizado por universidades em
pesquisas e projetos. Por ser baseado em Linux, sua implementação é
transparente, além de ser relativamente fácil de instalar.
• De maneira generalizada, O MOSIX é uma extensão para Linux (ou
sistemas baseados em Unix) de um sistema de cluster que trabalha como
se fosse um único supercomputador, por meio de conceitos de
Distribuição de Processos e Balanceamento de Carga.
Finalizando
• As tecnologias de Clustering possibilitam a solução de diversos problemas
que envolvem grande volume de processamento.
• As aplicações que um cluster pode ter são diversas, indo desde a simples
melhora no desempenho de um determinado sistema ou a hospedagem
de um site, até o processo de pesquisas científicas complexas.
• O que realmente chama a atenção, é que todo o processamento pode ser
feito de maneira que pareça ser um único computador dotado de alta
capacidade.
• Assim, é possível que determinadas aplicações sejam implementadas em
custer, mas sem interferir no funcionamento de outras aplicações que
estejam relacionadas.
Finalizando
• Empresas especializadas, centros de pesquisas e universidades costumam
estudar este assunto a fundo.
• Como consequência, existem clusters com até milhares de nós.
Finalizando
• Um exemplo no Brasil, é um cluster que foi desenvolvido em 2003 por um
aluno da Universidade Estadual Paulista (Unesp), de São Paulo.
• Baseado no tipo Beowulf, este cluster ficou bastante conhecido, por ajudar
na pesquisa de medicamentos para o tratamento da tuberculose.
• O valor gasto neste projeto foi 60 mil reais. Se tivesse sido utilizado um
supercomputador de capacidade equivalente, os gastos seriam até 17
vezes maior.
• Só por este exemplo, é possível ver os vários benefícios do Clustering.
• Processamento eficiente, custo baixo, ampla gama de aplicações, enfim.
Muito Obrigado!
Download