SlideShare une entreprise Scribd logo
1  sur  8
Clusters
Mateus Victorio Zagonel1, Cristian Cleder Machado2
1Aluno do Curso de Ciência da Computação – Universidade Regional Integrada (URI)
Caixa Postal 709 – 98.400-000 – Frederico Westphalen – RS – Brasil
2Professor do Curso de Ciência da Computação – Universidade Regional Integrada
(URI)
Caixa Postal 709 – 98.400-000 – Frederico Westphalen – RS – Brasil.
inf16755@uri.edu.br,cristian@cristian.com.br
Abstract. This article deals with the Cluster architecture, an architecture that
is used for plays that require high processing power and large data availability.
This architecture was created in order to be a viable alternative to
supercomputers, because it has a simpler architecture and better cost x benefit
when it comes toprocessing parallel. Shall explain throughout the article a brief
definition of Cluster architecture used, types of Cluster and Applications.
Resumo. O presente artigo trata da arquitetura Cluster, que é utilizada para
execuções que demandam de grande poder de processamento ou grande
disponibilidade de dados. Esta arquitetura foi criada com o objetivode ser uma
alternativa viável em relação aos supercomputadores, pois apresenta uma
arquitetura mais simples e melhor custo x beneficio em se tratando de
processamento paralelo (simultâneo) e distribuído. Explanarei no decorrer do
artigo uma breve definição de Cluster, bem como a arquitetura utilizada e os
tipos de Cluster de acordo com a aplicação.
1. Introdução
Com a evolução da computação na década de 80 e devido aos supercomputadores terem
um preço nada acessível, surgiram os clusters que correspondem a duas ou mais máquinas
interconectadas pela rede e coordenadas por um software chamado Middleware,
utilizados para execuções que demandam de grande poder de processamento.
Os cientistas da época não se conformavam com a ideia de ter que investir em um
supercomputador específico (que era absurdamente caro), então pensaram na seguinte
questão: Por que não agrupar os computadores disponíveis através de um software e
coordenar o processamento? A ideia deu tão certo que hoje a maioria dos quinhentos
maiores computadores do mundo utiliza a arquitetura de Cluster.
Atualmente os Clusters não são utilizados apenas para grande processamento, mas para
outras tarefas como alta disponibilidade de dados e balanceamento de carga que tratarei
com mais detalhes no título quatro do presente artigo.
2. Definição
De acordo com Pitanga (2003): quanto a uma definição de Cluster:
“[...] é um sistema que compreende dois ou mais computadores ou sistemas
(denominados nodos)na qual trabalham em conjunto para executar aplicações
ou realizar outras tarefas, de tal forma para que os usuários que os utilizam
tenhama impressão que somente um único sistema responde para eles, criando
assim uma ilusão de um recurso único (computador virtual).”
Não devemos confundir um Cluster com um Supercomputador, pois um cluster pode ser
formado com máquinas comuns de diferentes configurações, projetadas para uma
infinidade de tarefas e interconectadas pela rede (fracamente acoplados). Por outro lado
um supercomputador é formado por um conjunto de núcleos idênticos, dispostos em um
mesmo circuito (fortemente acoplados) se comunicando por meio de um barramento e
memória compartilhada, implementados para uma tarefa especifica que necessite de
grande poder de processamento. (Zem e Brito, 2006; Morimoto, 2002);
Os clusters são extremamente mais baratos e apresentam maior custo x beneficio em
relação aos supercomputadores, estes por sua vez custam milhares de dólares e para as
tarefas especificas a que foram projetados terão na maioria dos casos um desempenho
maior que um cluster. (Zem e Brito, 2006; Morimoto, 2002);
3. Arquitetura de Clusters
A arquitetura de um Cluster é composta por um conjunto de máquinas interligadas por
rede através de troca de mensagens. A comunicação utilizará uma estrutura de rede e seu
respectivo conjunto de protocolos.
Um Cluster deve ser transparente ao usuário, ou seja, o usuário não poderá identificar a
quantidade de máquinas interconectadas nem mesmo ter ideia da arquitetura utilizada e
sim apenas ver o sistema como um todo. Para que ocorra transparência os Clusters
utilizam um software chamado Middleware que coordena as aplicações passando a ideia
de que se trata apenas de um computador. (Zem e Brito, 2006);
Outro ponto importante de acordo com Zem e Brito (2006) é com relação à configuração
das máquinas, pois em um cluster podem haver computadores com as mais variadas
configurações, porém todas devem conseguir se comunicar pela rede.
Para melhor entendimento utilizarei a figura 1, abaixo, em que há um desenho com uma
arquitetura de um cluster, seguida de uma breve descrição de cada componente da mesma.
Figura 1 - Exemplo da Arquitetura de um Cluster
BackBone ou Rede de Comunicação: Corresponde a forma de comunicação empregada,
mais precisamente a arquitetura que a rede irá utilizar, podendo ser uma rede Gigabit
Ethernet, Fast Ethernet ou até um barramento externo.
Interface de Rede: Correspondem aos adaptadores de rede que estão fisicamente em cada
máquina. Devem ter suporte ao Backbone.
Protocolo de Comunicações: São as regras que serão utilizadas para que ocorra a
comunicação.
Nó ou Máquina: Qualquer máquina que faça parte do Cluster. (Zem e Brito, 2006);
Middleware: Software executado no Sistema Operacional responsável por “esconder” a
arquitetura que é utilizada no Cluster e mostrar ao usuário o sistema como se funcionasse
com apenas um computador.
Ambiente de Programação Paralela: Ambiente para criação de novas aplicações paralelas
que utilizem o poder de processamento de um Cluster.
Aplicativos Paralelos: Programas paralelos com granularidade grossa, que são os
programas com instruções que demandam de grande processamento. Os programas
paralelos serão executados em cada nó do cluster obtendo o paralelismo.
Aplicativos Sequenciais: Programas sequenciais que não utilizarão o poder de
processamento paralelo de um Cluster. São necessários, pois nem todas as aplicações
podem ser paralelizadas e mesmo as aplicações paralelizadas em algum momento serão
sequenciais, normalmente no inicio e no final da execução. (Zem e Brito, 2006);
4. Tipos de Clusters
Neste título tratarei de três tipos de cluster, cada um dos três tipos de Cluster é projetado
para atender a uma necessidade específica, variando a arquitetura de acordo com a
aplicação. Também serão tratados mais dois exemplo de Cluster muito comuns, que são:
o Cluster Beowulf que se encaixa na arquitetura dos Clusters de Alto Desempenho e o
Cluster Mosix que se encaixa no grupo de Clusters de Balanceamento de Carga.
4.1. Cluster de Alto Desempenho
Esse tipo de Cluster é utilizado para tarefas que necessitem de grande processamento, ou
seja, programas com granularidade grossa. Os clusters de alto desempenho seguem o
principio de dividir uma grande tarefa em inúmeras tarefas menores e são utilizados para
computação cientifica, análises financeiras, pesquisas climáticas e simulações. (Zem e
Brito, 2006; Salles ET AL, 2009);
Sua arquitetura é a mesma usada por um cluster Beowulf, conforme nos mostra a Figura
2 abaixo, pois utilizam um nó controlador que envia as tarefas para os demais nós Back-
End de forma que a execução seja paralelizada.(Salles ET AL, 2009);
Figura 2 - Exemplo de um Cluster de Alto Desempenho
4.1.1. Cluster BeoWulf
O Cluster Beowulf é assim chamado devido a um herói inglês que tinha que derrotar um
monstro, em se tratando de computação o seu adversário é o alto processamento. O
Cluster Beowulf está inserido dentro do grupo dos Clusters de Alto desempenho.
(Alecrim 2004; Salles ET AL, 2009);
A arquitetura do Beowulf conforme nos mostra a Figura 3 abaixo, é composta por um nó
controlador ou front-end, que possui a função de controlar o cluster distribuindo as tarefas
de acordo com a ociosidade dos demais nós escravos ou Back-end’s. Os nós escravos por
sua vez são responsáveis por executar as tarefas paralelamente e responder ao nó
controlador. Eles não necessitam de teclados e monitores e podem ser acessados por
acesso remoto (telnet ou ssh). (Salles ET AL, 2009);
Figura 3 - Exemplo da Arquitetura de um Cluster Beowulf
O nó controlador também funcionará como um gateway, pois permite que se necessário
os nós escravos se comuniquem com uma rede externa. (Salles ET AL, 2009);
Os Clusters Beowulf geralmente são projetados com hardware desktop, utilizam a
tecnologia ethernet para comunicação e o sistema operacional Linux. Outro detalhe
importante é que esse tipo de cluster é centralizado, pois o nó controlador vai gerenciar o
cluster e os demais nós apenas irão processar de maneira passiva o que nó controlador
determinar. (Zem e Brito, 2006);
Quanto às aplicações, os cluster Beowulf não são utilizados para aplicações em tempo
real, mas sim para processar informações que necessitam de grande processamento como
renderização de imagens e efeitos especiais para filmes, podendo alcançar altos valores
de gigaflops. (Salles ET AL, 2009);
4.2. Cluster de Alta Disponibilidade
Os Clusters de Alta Disponibilidade tem a função de garantir que um serviço esteja ativo
em mais de uma máquina. Para que isso seja possível, utilizam replicações dos dados ou
serviços. (Pitanga, 2003);
Conforme nos mostra a figura 4 abaixo, imagine, por exemplo, um usuário acessando um
banco de dados por meio da rede pública, sua requisição é enviada para o servidor ttisrv1,
porém esse servidor está em manutenção. Para que o usuário tenha sua solicitação
atendida à mesma é redirecionada para o servidor ttisrv2 que possui exatamente as
mesmas informações que o servidor ttisrv1 e atenderá a requisição. Mas como o servidor
ttisrv2 sabe que o servidor ttisrv1 está em manutenção? Existe uma técnica denominada
heartbeat, em que através de uma rede privada, os integrantes do cluster trocam
mensagens sinalizando que estão ativos. (Zem e Brito, 2006);
Poderiam ser usados inúmeros servidores e não apenas dois, o número de servidores
depende da necessidade/importância do serviço.
Figura 4 - Exemplo de Cluster de Alta Disponibilidade
4.3. Cluster de Balanceamento de Carga
Tem por função distribuir as solicitações entre os nós do Cluster. Diferentemente dos
Clusters de alta disponibilidade, os cluster de balanceamento de carga são apenas
responsáveis por distribuir as requisições, portanto não possuem “cópias” dos dados em
todos os servidores, pois funcionam como redirecionadores de solicitações. (Prado e Silva
2010 apud Batista 2007);
São utilizados em serviços de Comércio Eletrônico, Provedores de Internet e sistemas que
possuem grandes quantidades de acessos/requisições e necessitam de processamento em
tempo real. (Pitanga, 2003);
Na figura 5, abaixo, em vermelho temos a estrutura de balanceamento de carga com três
servidores integrando o cluster. O usuário envia uma requisição e está passa pelo cluster,
então um dos nós do Cluster assume a mesma e por meio de algoritmos de escalonamento
a envia para o servidor de dados.
Figura 5 - Exemplo de um Cluster de Balanceamento de Carga
Os algoritmos de escalonamento mais comuns são:
*Least Connections: Servidor com menos requisições assume a solicitação.
*Round Robin: Envia a requisição para o próximo servidor seguindo uma ordem circular.
*Weighted Fair: Envia requisição para o servidor que possui melhor desempenho.
(Pitanga, 2003);
Os Clusters de Balanceamento de Carga solucionaram problemas de requisições serem
atendidas por dois servidores ao mesmo tempo, pois com o processamento distribuído
não há sobrecarga e é definido qual integrante do Cluster irá atender a requisição.
(Pitanga, 2003);
Os integrantes do Cluster de Balanceamento de Carga, assim como nos Clusters de Alta
disponibilidade, devem possuir comunicação para que uma requisição não seja enviada
para um servidor que está inativo. (Pitanga, 2003);
4.3.1. Cluster Mosix
Um Cluster Mosix (Multicompute Operating system for UNIX) é um exemplo de Cluster
de Balanceamento de Carga em que o nó que estiver com menos processamento receberá
mais requisições para otimizar o desempenho fazendo com o cluster não fique ocioso.
Esse balanceamento de carga é feito de forma dinâmica através de algoritmos que
determinam qual nó atenderá a requisição analisando a memória disponível, o uso da CPU
e a rede.
Nesse tipo de Cluster não existe um nó principal (caso do Cluster Beowulf) o que garante
boa escalabilidade, pois pode-se incluir ou retirar um nó do Cluster a qualquer momento.
Sua implementação é baseada em Linux e totalmente transparente ao usuário, quanto as
aplicações é utilizado em centros de pesquisa e universidades. (Salles ET AL, 2009);
4.4. Cluster de Alta Disponibilidade e Balanceamento de Carga
Esse tipo de Cluster combina as características dos Clusters de Alta Disponibilidade e de
Balanceamento de carga. São utilizados por sistemas que independente da situação
garantem o acesso às informações.
A ideia desse tipo de cluster é redirecionar as solicitação dos nós com falhas para os nós
reservas e garantir os serviços com maior agilidade, pois com o balanceamento de carga
o processamento é distribuído de forma que o servidor que estiver com menos
processamento receberá solicitações. (Pitanga, 2003);
Na figura 6, abaixo, temos um exemplo de combinação de Cluster de Alta Disponibilidade
e Balanceamento de Carga (em Vermelho na Figura 6). Por exemplo, um usuário acessa
a internet, então a requisição é enviada ao servidor com que é escolhido por meio de
escalonamento e este por sua vez envia a solicitação para um servidor de banco de dados
que estiver ativo e disponível.
Figura 6 - Exemplo de Cluster de Alta Disponibilidade e Balanceamento de
Carga
5. Conclusão
Os Clusters correspondem a uma alternativa viável para supercomputação e para
formação de sistema distribuídos, pois projetar um cluster não necessita de grande
complexidade, em comparação com um supercomputador, devido ao hardware não
necessitar ser idêntico para todos os “integrantes” do cluster e computadores comuns
serem uma boa opção.
Atualmente empresas de médio porte e universidades já possuem clusters para
balanceamento de carga e disponibilidade, que são os modelos mais utilizados.
Independente da situação, que pode ser, por exemplo, grandes quantidades de acessos em
um vestibular para visualização de uma nota, ou uma pane em um servidor de banco de
dados, com esses tipos de cluster pode-se garantir a funcionalidade de um sistema de
forma distribuída e segura.
A grande dificuldade na área de clusters não é com relação à arquitetura física, mas sim
a criação de softwares que gerenciem um cluster e que utilizem a capacidade máxima de
cada nó da estrutura, pois os programas devem ser paralelizados dinamicamente e o
Middleware deve distribuir as tarefas de forma inteligente de acordo com o
processamento de cada nó.
A área de computação em Clusters corresponde a uma área de fundamental importância,
pois está em expansão principalmente para sistemas de grande porte. As grandes empresas
têm duas opções atualmente, ou constroem seu próprio cluster, ou contratam um serviço
de Cloud Computing (Computação em Nuvem) que curiosamente é formada por Clusters.
Cabe aos administradores realizarem um estudo se é mais viável criar uma estrutura de
Cluster e contratar um administrador competente ou contratar um serviço de Cloud
Computing, de certa forma “abrindo mão” do gerenciamento de suas informações.
6. Referências
Prado, C. L. e Silva, J. M. A. (2010). Sobre Clusters de Computadores. Em Aplicação de
Cluster Beowulf em Instituições de Ensino, páginas 23-41. Publicado na Internet em
Portallivre.
Zem, J. L. e Brito, S. H. B. (2006). Sobre Arquitetura de Clusters. Em Monitoramento
Distribuído de Clusters e Grids Computacionais utilizando o Ganglia, páginas 1-6.
Publicado na I Jornada Científica da Universidade Brasileira de Tecnologia, Recife
(PE).
Salles, D. ET AL (2009). Sobre Clusters de Alta Performance. Em Cluster HPC – High
Performance Computing, 1-5. Publicado na FCT - Faculdade de Ciências e
Tecnologia.
Pitanga, M. (2003) “Computação em Cluster”,
http://www.clubedohardware.com.br/artigos/153, Setembro.
Morimoto, C. E. (2002) “Supercomputadores e Clusters”,
http://www.hardware.com.br/livros/hardware-manual/supercomputadores-
clusters.html, Setembro.
Alecrim, E. (2004) “Cluster: Principais Conceitos”,
http://www.infowester.com/cluster.php, Setembro.

Contenu connexe

Tendances

Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosVictor Hazin da Rocha
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Introcucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosIntrocucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosValberto Carneiro
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareAdriano Teixeira de Souza
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Renato William
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosFrederico Madeira
 
Introdução aos sistemas distribuidos
Introdução aos sistemas distribuidosIntrodução aos sistemas distribuidos
Introdução aos sistemas distribuidosJesse Teixeira
 
Sistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realSistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realRogério Cardoso
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosGustavo Monteiro
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos DistribuídosFrederico Madeira
 
SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaFrederico Madeira
 
Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosFrederico Madeira
 

Tendances (20)

Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas Distribuídos
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Introcucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosIntrocucao aos Sistemas Distribuidos
Introcucao aos Sistemas Distribuidos
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
Introdução aos sistemas distribuidos
Introdução aos sistemas distribuidosIntrodução aos sistemas distribuidos
Introdução aos sistemas distribuidos
 
Sistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realSistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo real
 
SI - Comunicação
SI - ComunicaçãoSI - Comunicação
SI - Comunicação
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas Distribuídos
 
SI - Arquiteturas
SI - ArquiteturasSI - Arquiteturas
SI - Arquiteturas
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos Distribuídos
 
SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplina
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas Distribuídos
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
WebServices
WebServicesWebServices
WebServices
 

En vedette

Arquitetura de Cluster do Google
Arquitetura de Cluster do GoogleArquitetura de Cluster do Google
Arquitetura de Cluster do GoogleRafael Barbolo
 
Cluster e Alta Disponibilidade na Prática com JBoss AS 7
Cluster e Alta Disponibilidade na Prática com JBoss AS 7Cluster e Alta Disponibilidade na Prática com JBoss AS 7
Cluster e Alta Disponibilidade na Prática com JBoss AS 7Mauricio Magnani Jr
 
Highly available Drupal on a Raspberry Pi cluster
Highly available Drupal on a Raspberry Pi clusterHighly available Drupal on a Raspberry Pi cluster
Highly available Drupal on a Raspberry Pi clusterJeff Geerling
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoElaine Cecília Gatto
 
19 elaboração da metodologia
19 elaboração da metodologia19 elaboração da metodologia
19 elaboração da metodologiaJoao Balbi
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dadosSuissa
 
19 elaboração da metodologia
19 elaboração da metodologia19 elaboração da metodologia
19 elaboração da metodologiaJoao Balbi
 

En vedette (8)

Arquitetura de Cluster do Google
Arquitetura de Cluster do GoogleArquitetura de Cluster do Google
Arquitetura de Cluster do Google
 
Condições
CondiçõesCondições
Condições
 
Cluster e Alta Disponibilidade na Prática com JBoss AS 7
Cluster e Alta Disponibilidade na Prática com JBoss AS 7Cluster e Alta Disponibilidade na Prática com JBoss AS 7
Cluster e Alta Disponibilidade na Prática com JBoss AS 7
 
Highly available Drupal on a Raspberry Pi cluster
Highly available Drupal on a Raspberry Pi clusterHighly available Drupal on a Raspberry Pi cluster
Highly available Drupal on a Raspberry Pi cluster
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introdução
 
19 elaboração da metodologia
19 elaboração da metodologia19 elaboração da metodologia
19 elaboração da metodologia
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dados
 
19 elaboração da metodologia
19 elaboração da metodologia19 elaboração da metodologia
19 elaboração da metodologia
 

Similaire à Clusters, o que é?

Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dadosMarcio Jonnes
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end Andressa Silveira
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação MonografiaLeon Homar
 
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...Gustavo Henrique Rodrigues Pinto Tomas
 
Distributed Systems - Exercises
Distributed Systems - ExercisesDistributed Systems - Exercises
Distributed Systems - ExercisesMichel Alves
 
REDE LOCAL - COMPLETO
REDE LOCAL - COMPLETOREDE LOCAL - COMPLETO
REDE LOCAL - COMPLETOElizeu Ferro
 
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01Marco Guimarães
 
O_Emprego_de_Tecnicas_de_IA_no_suporte_a.pdf
O_Emprego_de_Tecnicas_de_IA_no_suporte_a.pdfO_Emprego_de_Tecnicas_de_IA_no_suporte_a.pdf
O_Emprego_de_Tecnicas_de_IA_no_suporte_a.pdfBrunaBraga68
 
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01-141027091745-convers...
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01-141027091745-convers...164519997 curso-de-redes-laercio-vasconcelos-capitulo-01-141027091745-convers...
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01-141027091745-convers...Robson Levi
 
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOCOMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOAllan Reis
 
Desempenho de um Servidor Web em Ambientes de Computação Isolados
Desempenho de um Servidor Web em Ambientes de Computação IsoladosDesempenho de um Servidor Web em Ambientes de Computação Isolados
Desempenho de um Servidor Web em Ambientes de Computação IsoladosAndre Danelon
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia J Chaves Silva
 
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]Ministério Público da Paraíba
 

Similaire à Clusters, o que é? (20)

Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dados
 
Cluster individual
Cluster   individualCluster   individual
Cluster individual
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end
 
Cluster
ClusterCluster
Cluster
 
Aula 7 (clouter)
Aula 7 (clouter)Aula 7 (clouter)
Aula 7 (clouter)
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação Monografia
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
 
Cluster
ClusterCluster
Cluster
 
Arquitetura paralela
Arquitetura paralelaArquitetura paralela
Arquitetura paralela
 
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
 
Distributed Systems - Exercises
Distributed Systems - ExercisesDistributed Systems - Exercises
Distributed Systems - Exercises
 
REDE LOCAL - COMPLETO
REDE LOCAL - COMPLETOREDE LOCAL - COMPLETO
REDE LOCAL - COMPLETO
 
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01
 
O_Emprego_de_Tecnicas_de_IA_no_suporte_a.pdf
O_Emprego_de_Tecnicas_de_IA_no_suporte_a.pdfO_Emprego_de_Tecnicas_de_IA_no_suporte_a.pdf
O_Emprego_de_Tecnicas_de_IA_no_suporte_a.pdf
 
Alta Disponibilidade
Alta Disponibilidade Alta Disponibilidade
Alta Disponibilidade
 
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01-141027091745-convers...
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01-141027091745-convers...164519997 curso-de-redes-laercio-vasconcelos-capitulo-01-141027091745-convers...
164519997 curso-de-redes-laercio-vasconcelos-capitulo-01-141027091745-convers...
 
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOCOMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
 
Desempenho de um Servidor Web em Ambientes de Computação Isolados
Desempenho de um Servidor Web em Ambientes de Computação IsoladosDesempenho de um Servidor Web em Ambientes de Computação Isolados
Desempenho de um Servidor Web em Ambientes de Computação Isolados
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia
 
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
 

Dernier

ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfArthurRomanof1
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 

Dernier (20)

ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdf
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 

Clusters, o que é?

  • 1. Clusters Mateus Victorio Zagonel1, Cristian Cleder Machado2 1Aluno do Curso de Ciência da Computação – Universidade Regional Integrada (URI) Caixa Postal 709 – 98.400-000 – Frederico Westphalen – RS – Brasil 2Professor do Curso de Ciência da Computação – Universidade Regional Integrada (URI) Caixa Postal 709 – 98.400-000 – Frederico Westphalen – RS – Brasil. inf16755@uri.edu.br,cristian@cristian.com.br Abstract. This article deals with the Cluster architecture, an architecture that is used for plays that require high processing power and large data availability. This architecture was created in order to be a viable alternative to supercomputers, because it has a simpler architecture and better cost x benefit when it comes toprocessing parallel. Shall explain throughout the article a brief definition of Cluster architecture used, types of Cluster and Applications. Resumo. O presente artigo trata da arquitetura Cluster, que é utilizada para execuções que demandam de grande poder de processamento ou grande disponibilidade de dados. Esta arquitetura foi criada com o objetivode ser uma alternativa viável em relação aos supercomputadores, pois apresenta uma arquitetura mais simples e melhor custo x beneficio em se tratando de processamento paralelo (simultâneo) e distribuído. Explanarei no decorrer do artigo uma breve definição de Cluster, bem como a arquitetura utilizada e os tipos de Cluster de acordo com a aplicação. 1. Introdução Com a evolução da computação na década de 80 e devido aos supercomputadores terem um preço nada acessível, surgiram os clusters que correspondem a duas ou mais máquinas interconectadas pela rede e coordenadas por um software chamado Middleware, utilizados para execuções que demandam de grande poder de processamento. Os cientistas da época não se conformavam com a ideia de ter que investir em um supercomputador específico (que era absurdamente caro), então pensaram na seguinte questão: Por que não agrupar os computadores disponíveis através de um software e coordenar o processamento? A ideia deu tão certo que hoje a maioria dos quinhentos maiores computadores do mundo utiliza a arquitetura de Cluster. Atualmente os Clusters não são utilizados apenas para grande processamento, mas para outras tarefas como alta disponibilidade de dados e balanceamento de carga que tratarei com mais detalhes no título quatro do presente artigo. 2. Definição De acordo com Pitanga (2003): quanto a uma definição de Cluster: “[...] é um sistema que compreende dois ou mais computadores ou sistemas (denominados nodos)na qual trabalham em conjunto para executar aplicações ou realizar outras tarefas, de tal forma para que os usuários que os utilizam
  • 2. tenhama impressão que somente um único sistema responde para eles, criando assim uma ilusão de um recurso único (computador virtual).” Não devemos confundir um Cluster com um Supercomputador, pois um cluster pode ser formado com máquinas comuns de diferentes configurações, projetadas para uma infinidade de tarefas e interconectadas pela rede (fracamente acoplados). Por outro lado um supercomputador é formado por um conjunto de núcleos idênticos, dispostos em um mesmo circuito (fortemente acoplados) se comunicando por meio de um barramento e memória compartilhada, implementados para uma tarefa especifica que necessite de grande poder de processamento. (Zem e Brito, 2006; Morimoto, 2002); Os clusters são extremamente mais baratos e apresentam maior custo x beneficio em relação aos supercomputadores, estes por sua vez custam milhares de dólares e para as tarefas especificas a que foram projetados terão na maioria dos casos um desempenho maior que um cluster. (Zem e Brito, 2006; Morimoto, 2002); 3. Arquitetura de Clusters A arquitetura de um Cluster é composta por um conjunto de máquinas interligadas por rede através de troca de mensagens. A comunicação utilizará uma estrutura de rede e seu respectivo conjunto de protocolos. Um Cluster deve ser transparente ao usuário, ou seja, o usuário não poderá identificar a quantidade de máquinas interconectadas nem mesmo ter ideia da arquitetura utilizada e sim apenas ver o sistema como um todo. Para que ocorra transparência os Clusters utilizam um software chamado Middleware que coordena as aplicações passando a ideia de que se trata apenas de um computador. (Zem e Brito, 2006); Outro ponto importante de acordo com Zem e Brito (2006) é com relação à configuração das máquinas, pois em um cluster podem haver computadores com as mais variadas configurações, porém todas devem conseguir se comunicar pela rede. Para melhor entendimento utilizarei a figura 1, abaixo, em que há um desenho com uma arquitetura de um cluster, seguida de uma breve descrição de cada componente da mesma. Figura 1 - Exemplo da Arquitetura de um Cluster
  • 3. BackBone ou Rede de Comunicação: Corresponde a forma de comunicação empregada, mais precisamente a arquitetura que a rede irá utilizar, podendo ser uma rede Gigabit Ethernet, Fast Ethernet ou até um barramento externo. Interface de Rede: Correspondem aos adaptadores de rede que estão fisicamente em cada máquina. Devem ter suporte ao Backbone. Protocolo de Comunicações: São as regras que serão utilizadas para que ocorra a comunicação. Nó ou Máquina: Qualquer máquina que faça parte do Cluster. (Zem e Brito, 2006); Middleware: Software executado no Sistema Operacional responsável por “esconder” a arquitetura que é utilizada no Cluster e mostrar ao usuário o sistema como se funcionasse com apenas um computador. Ambiente de Programação Paralela: Ambiente para criação de novas aplicações paralelas que utilizem o poder de processamento de um Cluster. Aplicativos Paralelos: Programas paralelos com granularidade grossa, que são os programas com instruções que demandam de grande processamento. Os programas paralelos serão executados em cada nó do cluster obtendo o paralelismo. Aplicativos Sequenciais: Programas sequenciais que não utilizarão o poder de processamento paralelo de um Cluster. São necessários, pois nem todas as aplicações podem ser paralelizadas e mesmo as aplicações paralelizadas em algum momento serão sequenciais, normalmente no inicio e no final da execução. (Zem e Brito, 2006); 4. Tipos de Clusters Neste título tratarei de três tipos de cluster, cada um dos três tipos de Cluster é projetado para atender a uma necessidade específica, variando a arquitetura de acordo com a aplicação. Também serão tratados mais dois exemplo de Cluster muito comuns, que são: o Cluster Beowulf que se encaixa na arquitetura dos Clusters de Alto Desempenho e o Cluster Mosix que se encaixa no grupo de Clusters de Balanceamento de Carga. 4.1. Cluster de Alto Desempenho Esse tipo de Cluster é utilizado para tarefas que necessitem de grande processamento, ou seja, programas com granularidade grossa. Os clusters de alto desempenho seguem o principio de dividir uma grande tarefa em inúmeras tarefas menores e são utilizados para computação cientifica, análises financeiras, pesquisas climáticas e simulações. (Zem e Brito, 2006; Salles ET AL, 2009); Sua arquitetura é a mesma usada por um cluster Beowulf, conforme nos mostra a Figura 2 abaixo, pois utilizam um nó controlador que envia as tarefas para os demais nós Back- End de forma que a execução seja paralelizada.(Salles ET AL, 2009);
  • 4. Figura 2 - Exemplo de um Cluster de Alto Desempenho 4.1.1. Cluster BeoWulf O Cluster Beowulf é assim chamado devido a um herói inglês que tinha que derrotar um monstro, em se tratando de computação o seu adversário é o alto processamento. O Cluster Beowulf está inserido dentro do grupo dos Clusters de Alto desempenho. (Alecrim 2004; Salles ET AL, 2009); A arquitetura do Beowulf conforme nos mostra a Figura 3 abaixo, é composta por um nó controlador ou front-end, que possui a função de controlar o cluster distribuindo as tarefas de acordo com a ociosidade dos demais nós escravos ou Back-end’s. Os nós escravos por sua vez são responsáveis por executar as tarefas paralelamente e responder ao nó controlador. Eles não necessitam de teclados e monitores e podem ser acessados por acesso remoto (telnet ou ssh). (Salles ET AL, 2009); Figura 3 - Exemplo da Arquitetura de um Cluster Beowulf O nó controlador também funcionará como um gateway, pois permite que se necessário os nós escravos se comuniquem com uma rede externa. (Salles ET AL, 2009); Os Clusters Beowulf geralmente são projetados com hardware desktop, utilizam a tecnologia ethernet para comunicação e o sistema operacional Linux. Outro detalhe importante é que esse tipo de cluster é centralizado, pois o nó controlador vai gerenciar o cluster e os demais nós apenas irão processar de maneira passiva o que nó controlador determinar. (Zem e Brito, 2006); Quanto às aplicações, os cluster Beowulf não são utilizados para aplicações em tempo real, mas sim para processar informações que necessitam de grande processamento como renderização de imagens e efeitos especiais para filmes, podendo alcançar altos valores de gigaflops. (Salles ET AL, 2009);
  • 5. 4.2. Cluster de Alta Disponibilidade Os Clusters de Alta Disponibilidade tem a função de garantir que um serviço esteja ativo em mais de uma máquina. Para que isso seja possível, utilizam replicações dos dados ou serviços. (Pitanga, 2003); Conforme nos mostra a figura 4 abaixo, imagine, por exemplo, um usuário acessando um banco de dados por meio da rede pública, sua requisição é enviada para o servidor ttisrv1, porém esse servidor está em manutenção. Para que o usuário tenha sua solicitação atendida à mesma é redirecionada para o servidor ttisrv2 que possui exatamente as mesmas informações que o servidor ttisrv1 e atenderá a requisição. Mas como o servidor ttisrv2 sabe que o servidor ttisrv1 está em manutenção? Existe uma técnica denominada heartbeat, em que através de uma rede privada, os integrantes do cluster trocam mensagens sinalizando que estão ativos. (Zem e Brito, 2006); Poderiam ser usados inúmeros servidores e não apenas dois, o número de servidores depende da necessidade/importância do serviço. Figura 4 - Exemplo de Cluster de Alta Disponibilidade 4.3. Cluster de Balanceamento de Carga Tem por função distribuir as solicitações entre os nós do Cluster. Diferentemente dos Clusters de alta disponibilidade, os cluster de balanceamento de carga são apenas responsáveis por distribuir as requisições, portanto não possuem “cópias” dos dados em todos os servidores, pois funcionam como redirecionadores de solicitações. (Prado e Silva 2010 apud Batista 2007); São utilizados em serviços de Comércio Eletrônico, Provedores de Internet e sistemas que possuem grandes quantidades de acessos/requisições e necessitam de processamento em tempo real. (Pitanga, 2003); Na figura 5, abaixo, em vermelho temos a estrutura de balanceamento de carga com três servidores integrando o cluster. O usuário envia uma requisição e está passa pelo cluster, então um dos nós do Cluster assume a mesma e por meio de algoritmos de escalonamento a envia para o servidor de dados.
  • 6. Figura 5 - Exemplo de um Cluster de Balanceamento de Carga Os algoritmos de escalonamento mais comuns são: *Least Connections: Servidor com menos requisições assume a solicitação. *Round Robin: Envia a requisição para o próximo servidor seguindo uma ordem circular. *Weighted Fair: Envia requisição para o servidor que possui melhor desempenho. (Pitanga, 2003); Os Clusters de Balanceamento de Carga solucionaram problemas de requisições serem atendidas por dois servidores ao mesmo tempo, pois com o processamento distribuído não há sobrecarga e é definido qual integrante do Cluster irá atender a requisição. (Pitanga, 2003); Os integrantes do Cluster de Balanceamento de Carga, assim como nos Clusters de Alta disponibilidade, devem possuir comunicação para que uma requisição não seja enviada para um servidor que está inativo. (Pitanga, 2003); 4.3.1. Cluster Mosix Um Cluster Mosix (Multicompute Operating system for UNIX) é um exemplo de Cluster de Balanceamento de Carga em que o nó que estiver com menos processamento receberá mais requisições para otimizar o desempenho fazendo com o cluster não fique ocioso. Esse balanceamento de carga é feito de forma dinâmica através de algoritmos que determinam qual nó atenderá a requisição analisando a memória disponível, o uso da CPU e a rede. Nesse tipo de Cluster não existe um nó principal (caso do Cluster Beowulf) o que garante boa escalabilidade, pois pode-se incluir ou retirar um nó do Cluster a qualquer momento. Sua implementação é baseada em Linux e totalmente transparente ao usuário, quanto as aplicações é utilizado em centros de pesquisa e universidades. (Salles ET AL, 2009); 4.4. Cluster de Alta Disponibilidade e Balanceamento de Carga Esse tipo de Cluster combina as características dos Clusters de Alta Disponibilidade e de Balanceamento de carga. São utilizados por sistemas que independente da situação garantem o acesso às informações.
  • 7. A ideia desse tipo de cluster é redirecionar as solicitação dos nós com falhas para os nós reservas e garantir os serviços com maior agilidade, pois com o balanceamento de carga o processamento é distribuído de forma que o servidor que estiver com menos processamento receberá solicitações. (Pitanga, 2003); Na figura 6, abaixo, temos um exemplo de combinação de Cluster de Alta Disponibilidade e Balanceamento de Carga (em Vermelho na Figura 6). Por exemplo, um usuário acessa a internet, então a requisição é enviada ao servidor com que é escolhido por meio de escalonamento e este por sua vez envia a solicitação para um servidor de banco de dados que estiver ativo e disponível. Figura 6 - Exemplo de Cluster de Alta Disponibilidade e Balanceamento de Carga 5. Conclusão Os Clusters correspondem a uma alternativa viável para supercomputação e para formação de sistema distribuídos, pois projetar um cluster não necessita de grande complexidade, em comparação com um supercomputador, devido ao hardware não necessitar ser idêntico para todos os “integrantes” do cluster e computadores comuns serem uma boa opção. Atualmente empresas de médio porte e universidades já possuem clusters para balanceamento de carga e disponibilidade, que são os modelos mais utilizados. Independente da situação, que pode ser, por exemplo, grandes quantidades de acessos em um vestibular para visualização de uma nota, ou uma pane em um servidor de banco de dados, com esses tipos de cluster pode-se garantir a funcionalidade de um sistema de forma distribuída e segura. A grande dificuldade na área de clusters não é com relação à arquitetura física, mas sim a criação de softwares que gerenciem um cluster e que utilizem a capacidade máxima de cada nó da estrutura, pois os programas devem ser paralelizados dinamicamente e o Middleware deve distribuir as tarefas de forma inteligente de acordo com o processamento de cada nó. A área de computação em Clusters corresponde a uma área de fundamental importância, pois está em expansão principalmente para sistemas de grande porte. As grandes empresas têm duas opções atualmente, ou constroem seu próprio cluster, ou contratam um serviço de Cloud Computing (Computação em Nuvem) que curiosamente é formada por Clusters.
  • 8. Cabe aos administradores realizarem um estudo se é mais viável criar uma estrutura de Cluster e contratar um administrador competente ou contratar um serviço de Cloud Computing, de certa forma “abrindo mão” do gerenciamento de suas informações. 6. Referências Prado, C. L. e Silva, J. M. A. (2010). Sobre Clusters de Computadores. Em Aplicação de Cluster Beowulf em Instituições de Ensino, páginas 23-41. Publicado na Internet em Portallivre. Zem, J. L. e Brito, S. H. B. (2006). Sobre Arquitetura de Clusters. Em Monitoramento Distribuído de Clusters e Grids Computacionais utilizando o Ganglia, páginas 1-6. Publicado na I Jornada Científica da Universidade Brasileira de Tecnologia, Recife (PE). Salles, D. ET AL (2009). Sobre Clusters de Alta Performance. Em Cluster HPC – High Performance Computing, 1-5. Publicado na FCT - Faculdade de Ciências e Tecnologia. Pitanga, M. (2003) “Computação em Cluster”, http://www.clubedohardware.com.br/artigos/153, Setembro. Morimoto, C. E. (2002) “Supercomputadores e Clusters”, http://www.hardware.com.br/livros/hardware-manual/supercomputadores- clusters.html, Setembro. Alecrim, E. (2004) “Cluster: Principais Conceitos”, http://www.infowester.com/cluster.php, Setembro.