Montagem de Cluster Beowulf
Tutorial sobre construção de um Cluster de Alta Performance (High Performance Computing - HPC).
O que é Cluster
Um Cluster é formado por um conjunto de computadores interligados através de uma rede, as máquinas membros deste cluster são denominadas nó ou node. É importante utilizar uma infraestrutura de rede que facilite a inclusão, alteração e exclusão de máquinas.
Na maioria das vezes o cluster é formado por computadores convencionais e se apresenta de forma transparente ao usuário, como sendo um único computador de grande porte. É válido frisar que é possível a utilização de máquinas mais robustas para construção de clusters.
Não é necessário que as máquinas sejam idênticas, mas sim o Sistema Operacional, para que os softwares que gerenciam as trocas de mensagens e sincronismo dos dados funcionem de forma correta.
De acordo com Zem (2005), existem hoje alguns tipos de cluster, mas alguns se destacam pela aplicação e custo benefício:
É importante salientar que é possível a combinação de mais de uma metodologia de construção de clusters, onde uma implementação de Alta Disponibilidade para garantir acesso aos serviços de vendas online, possa ser incrementada com a utilização de um cluster de Balanceamento de Carga para atender o aumento nos acessos ao serviço.
As características marcantes dos clusters, são a facilidade de gerenciamento dos nós, onde podemos adicionar, dar manutenção e remover um nó do cluster sem que afete seu funcionamento, recuperação de falhas de forma otimizada.
Podemos obter resultados tão satisfatórios no uso de um cluster, quanto em servidores sofisticados com um custo muito menor. A implementação pode ser utilizada para aplicações sofisticadas e, também, para aplicações domésticas.
Na maioria das vezes o cluster é formado por computadores convencionais e se apresenta de forma transparente ao usuário, como sendo um único computador de grande porte. É válido frisar que é possível a utilização de máquinas mais robustas para construção de clusters.
Não é necessário que as máquinas sejam idênticas, mas sim o Sistema Operacional, para que os softwares que gerenciam as trocas de mensagens e sincronismo dos dados funcionem de forma correta.
De acordo com Zem (2005), existem hoje alguns tipos de cluster, mas alguns se destacam pela aplicação e custo benefício:
- Cluster de Alto Desempenho: denominado, também, de Alta Performance (High Performance Computing - HPC), sua característica é o grande volume de processamento de dados em computadores convencionais, que garante baixo custo na construção, e com processamento na ordem de gigaflops. Os servidores deste cluster trabalham com a tecnologia de paralelismo, dividindo o processamento com as outras máquinas, buscando a otimização e desempenho de um supercomputador.
- Cluster de Alta Disponibilidade (High Availability - HA): são caracterizados por se manterem em pleno funcionamento por um longo período de tempo, utilizando redundância para manter um serviço ativo e se proteger de falhas, geralmente são computadores convencionais que disponibilizam o mesmo recurso em todas as máquinas da rede, configuradas com prioridades diferentes, onde existe um servidor ativo e os outros ociosos.
- Cluster de Balanceamento de Carga (Horizontal Scaling - HS): são caracterizados por dividirem, de forma equilibrada, as tarefas entre os membros do cluster, onde cada nó atenda a uma requisição e não, necessariamente, que divida uma tarefa com outras máquinas.
É importante salientar que é possível a combinação de mais de uma metodologia de construção de clusters, onde uma implementação de Alta Disponibilidade para garantir acesso aos serviços de vendas online, possa ser incrementada com a utilização de um cluster de Balanceamento de Carga para atender o aumento nos acessos ao serviço.
As características marcantes dos clusters, são a facilidade de gerenciamento dos nós, onde podemos adicionar, dar manutenção e remover um nó do cluster sem que afete seu funcionamento, recuperação de falhas de forma otimizada.
Podemos obter resultados tão satisfatórios no uso de um cluster, quanto em servidores sofisticados com um custo muito menor. A implementação pode ser utilizada para aplicações sofisticadas e, também, para aplicações domésticas.
Parabéns pelo post. Muito bom.