Aglomerado Beowulf

Beowulf é um projeto para aglomerados de computadores (ou Clusters) para computação paralela, usando computadores pessoais, não especializados e portanto mais baratos. O projeto foi criado por Donald Becker da NASA, e são utilizados em todo mundo, por exemplo no processamento de dados com finalidade científica e na renderizacão de filmes de animação 3D.

The Borg, um cluster beowulf

Introdução editar

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 é? editar

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? editar

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 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 editar

Vantagens
Quanto às vantagens de um Cluster Beowulf 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 inclui o código fonte, permitindo o debug dos erros e correções.

Desvantagens
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.

Opções de Software editar

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 editar

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

  • BOOKMAN, Charles, Agrupamento de computadores em linux, Ciência Moderna, s/l, 2003, 240pp.

Ligações externas editar