Projecto Fenix

Sobre "Clusters Beowulf"


Introdução

O nome Beowulf* é utilizado para designar uma tecnologia de constituição de clusters, de modo a formarem um único sistema de cálculo paralelo.

Não existe uma definição rígida do que é um cluster Beowulf, existindo antes um conjunto de características que são seguidas em maior ou menor grau. Assim, estes clusters são formados por um nodo principal e um ou mais nodos clientes ligados por uma rede - frequentemente uma rede Ethernet. É o nodo principal que assegura a "comunicação com o exterior" (sendo o único que necessita de um monitor, teclado ou outros periféricos) enquanto que os restantes se limitam a ter, além do processador e memória, uma ou mais placas de rede, podendo ou não ter disco rígido.

O hardware utilizado nestes clusters utiliza componentes correntes no mercado de consumo, tornando possível construir supercomputadores com custos significativamente mais baixos do que os dos supercomputadores convencionais.

A base de software destes clusters é também, por norma, de acesso livre - sistema operativo Linux; bibliotecas paralelas PVM e MPI para comunicação entre sistemas. Estes nodos são interligados por equipamento de rede - hub ou switch. O cluster pode ainda incluir equipamento diverso como uma fonte de alimentação ininterrupta (UPS), um switch de teclado/video/rato, etc.

Cálculo Paralelo

Qualquer programa envolve procedimentos sequenciais, isto é, que têm de ser executados um após o outro, e procedimentos em paralelos, isto é, tarefas que podem ser executadas em simultâneo com outra sem que exista uma dependência temporal entre si. Se designarmos por Ts o tempo ocupado em tarefas sequenciais e por Tp o tempo ocupado em tarefas que podem ser executadas em paralelo, podemos calcular qual a aceleração que podemos esperar ao executar um dado programa num sistema de cálculo paralelo com N processadores, pela lei de Amdahl:

Fórmula: lei de Amdahl

Contudo esta lei ainda é demasiado optimista sendo necessário ter em conta o tempo de comunicação entre processadores bem como diversas outras penalizações temporais. De qualquer forma, sempre que num problema o tempo associado a tarefas paralelas for muito superior ao tempo ocupado em tarefas sequenciais, Tp >> Ts, esse problema é um bom candidato a paralelização.

Utilização dos clusters Beowulf

No entanto, para que seja interessante paralelizar um conjunto de tarefas não basta que possam ser executadas em simultâneo. Como referimos, o tempo de comunicação entre processadores é um factor a ter em conta nessa análise.

Usa-se o termo "granularidade" para caracterizar a relação entre o tempo gasto no cálculo de um problema, tcalc e o tempo perdido em comunicações, tcom. Assim se tcalc >> tcom o problema diz-se de "grão grosseiro"; se tcalc > tcom diz-se de "grão médio" e se tcalc = tcom, de "grão fino".

Obviamente, os problemas de "grão grosseiro" são os que mais partido podem tirar da execução em máquinas paralelas.

O tipo de tecnologia de rede utilizada frequentemente em clusters Beowulf - Ethernet a 10 ou 100 Mbits/s - limita a classe de problemas para os quais estas máquinas são adequados aos de "grão" grosseiro a médio.

Como exemplo podem-se apontar os problemas utilizando o método de Monte Carlo; o tratamento de dados independentes; problemas em redes de malha larga; as redes neuronais e algorítmos genéticos, etc.

No entanto utilizando outras tecnologias de rede - Gbit/s ou óptica - é possível extender o campo de aplicação destes clusters.

Prós e Contras

Vantagens:

  • Reutilização de computadores desactualizados, que em conjunto equivalem à capacidade de cálculo de um computador actual;
  • Computação distribuída pela Internet, que permite processar grandes quantidades de dados, tarefa que de outra forma demoraria um tempo exagerado (ex: Programa SETI);
  • Um maior numero de computadores não implica que a instalação do software seja mais demorada, uma vez que é suficiente configurar o nodo principal e um dos secundários; a configuração dos restantes nodos é feita por cópia deste último, desde que o hardware seja semelhante.

Desvantagens:

  • Tempo perdido na comunicação entre os computadores;
  • Esse tempo só pode ser minimizado utilizando uma rede de fibra óptica de custo elevado.

 

---------

[*] "Beowulf" é o nome um dos mais antigos poemas épicos Ingleses que se conservaram até hoje. Pensa-se ser anterior ao século X D.C. e descreve as aventuras de um guerreiro Escandinavo do século VI.