Introdução

 

Para entender o que é um Cluster Beowulf, é necessário primeiro entender o conceito de um Cluster.

Cluster é um termo bastante utilizado para definir a utilização de dois ou mais computadores independentes, interligados via rede, que trabalham em conjunto trocando informações entre si em torno de uma única tarefa. Indo mais a fundo, ele pode ser definido como um conjunto de nós processadores que, interligados, comportam-se como um sistema distribuído.

Existem dois tipos de clusters:

  • Alta Disponibilidade (HA- High Availability) - tem a finalidade de manter um determinado serviço de forma segura o maior tempo possível;
  • Alta Performance (HPC- High Performance Computing) - é uma configuração designada a prover grande poder computacional, maior que somente um único computador pudesse oferecer em capacidade de processamento.

É possível a utilização de clusters HA e HPC juntos, onde se resulta num cluster com características combinadas entre estes dois tipos de clusters.


Cluster Beowulf: O que é?

 

Cluster Beowulf são clusters de desempenho escaláveis, baseados numa infraestrutura de hardware comum, rede privada e software 'open source' (Linux). O 'hardware comum' pode ser qualquer tipo de computador, significando que não é necessário usar equipamentos próprios para cluster, bastando utilizar equipamentos comuns a redes tradicionais e PCs. Para Clusters Beowulf, existe um servidor responsável por controlar todo o cluster, principalmente quanto à distribuição de tarefas e processamento. Como utiliza computadores comuns, o desempenho pode melhorar de acordo com as máquinas (nós) que o desenvolvedor (Linux) acrescentar, uma vez que o processamento é feito paralelamente. Isso porque a tarefa a ser processada é separada em partes independentes, distribuídas nos vários nós que estão na estrutura do cluster, nos quais as informações são processadas pela máquina que é designada como servidor do sistema.

Um cluster Beowulf é um cluster voltado para desempenho, normalmente utilizado para processamento científico, ou seja, processamento em larga escala.


Como implementar?

 

Como não depende de equipamento específico, o cluster Beowulf é basicamente composto de uma máquina chamada de servidor e outras máquinas chamadas escravas, sendo uma ou mais.

A configuração do cluster consiste essencialmente de dois passos: Configuração no nó mestre (servidor) e configuração dos nós escravos.

A implementação acontece através de modificações no Kernel do Linux, ou através do uso de ferramentas e bibliotecas de programação específicas para esse fim. Em todos os casos, o objetivo é permitir a distribuição das tarefas entre os PCs que fazem parte do cluster.


Vantagens e Desvantagens

 

Quanto às vantagens de um cluster podemos citar:

• Sistemas escaláveis, sendo possível pôr em rede e coordenar um grande número de nós, não existindo um limite definido para o tamanho do cluster.

• Os equipamentos utilizados são facilmente comercializados, não necessitando de um equipamento específico para a criação do cluster.

• No caso de um nó defeituoso, a substituição é tão simples quanto mudar um PC. Desta forma, é possível gerenciar as falhas de maneira eficiente, baseando-se na fácil substituição de equipamentos.

• Existe uma mobilidade em relação ao fornecedor de hardware, uma vez que os equipamentos são comuns. Desta forma, quem for implementar o cluster Beowulf não fica amarrado a comprar peças de um único fornecedor.

• Com sistema operacional ‘open-source’, o software é gratuito e inclui o código fonte, permitindo o debug dos erros e correções.

 

Clusters Beowulf parecem muito bons, no entanto, também existem algumas desvantagens:

• A grande maioria do hardware de rede não foi criada para funcionar em processamento paralelo.

• Mesmo com a popularidade crescendo, existem ainda poucos softwares que suportem e tratem este tipo de cluster como um sistema único.

• É necessário ter experiência e conhecimento de administração de sistemas Linux.


Opções de Software

 

A comunidade sobre Beowulf vem crescendo bastante e estes clusters já estão totalmente integrados com softwares comercializados pelos seguintes fornecedores:

• HP

• Northrop Grumman

• Accelerated Servers

• Penguin Computing

• Aspen Systems

• PSSC Labs

• Custom Fit, Inc.

• Atipa

• Turbotek

• Microway


Conclusão

 

Através de todo o estudo desenvolvido, concluiu-se que a implementação de um Cluster Beowulf não depende de nenhum tipo específico de equipamento, além de ser desenvolvido sobre uma plataforma aberta, o que possibilita ser bastante evolutivo. Desta forma, a utilização deste cluster se faz muito viável, comparando as diversas vantagens que se sobressaem sob as desvantagens, uma vez que exista a necessidade de processamento com alto desempenho e alta disponibilidade, com limitações de budget (orçamento).

Pode-se observar que a comunidade “beowulf” vem crescendo, mas que ainda faltam mecanismos que possibilitem melhor funcionamento em alguns hardwares, suporte e disseminação de informação para que esta popularidade e uso cresça ainda mais.


Bibliografia

 

http://www.beowulf.org/overview/index.html

 

http://hackeandooplaneta.blogspot.com/2009/06/cluster-beowulf-linux.html

 

Pitanga,Marcos, Construindo Supercomputadores com Linux, Brasport, Rio de Janeiro , 2002

 

http://www.beowulf.org/overview/howto.html

 

http://www.beowulf.org/showcase/index.html