Autor: Marcos José Pitanga Alves
Engenheiro de Redes
pitanga@domain.com.br
A utilização de clusters da classe
Beowulf vêm crescendo rapidamente
como alternativa de escolha para construção de sistemas de alto desempenho
para
computação paralela. O rápido avanço no desenvolvimento de
microprocessadores e de redes de altíssimas velocidades com componentes de
fácil disponibilidade no mercado favorecem a construção deste ambiente.
O objetivo deste artigo é prover as informações necessárias à construção de
um multicomputador de baixo custo e alto desempenho para utilização em
ambientes acadêmicos e comerciais.
O primeiro cluster de microcomputadores nasceu em 1994 na NASA-GSFC, onde
se pesquisava uma solução com custo viável para resolver problemas
computacionais típicos encontrados na ciência espacial. A agência espacial
necessitava de um equipamento que processasse na ordem de um
gigaflop,
o que significa um bilhão de operações em ponto flutuante por segundo.
Entretanto, um supercomputador com este nível de desempenho custava em
torno de um milhão de dólares, o que era considerado um investimento muito
alto para ser utilizado somente por um grupo de pesquisadores. Os
pesquisadores Sterling e Donald J. Becker decidiram então interligar 16
computadores pessoais, cada um contendo um microprocessador 486, usando o
sistema operacional
Linux e uma rede padrão Ethernet.
Usado para as aplicações cientificas, este conjunto atingiu a marca de 70
megaflops. Naquela época esta velocidade não era muito baixa se comparado
aos pequenos supercomputadores comerciais disponíveis. O valor total da
construção desta plataforma foi de U$ 40.000,00 ou 10% do preço de uma
máquina comercial, em 1994, com desempenho equivalente.
Na conferência de supercomputação de 1996, patrocinados pelo IEEE (Institute
of Eletrical and Eletronic Enginners) e ACM (Association for Computing
Machinery), a NASA e o Departamento de Energia Americana demonstraram dois
clusters:
- Hyglac, construídos por pesquisadores do California
Institute of Technology and the Jet Propulsion Laboratory.
- e o Loki, construído pelo Los Alamos National Laboratory.
Cada cluster era composto de 16 microprocessadores Intel Pentium Pro e
alcançou a marca de um gigaflop por segundo com um custo menor que
U$ 50.000,00 (cinqüenta mil dólares).
Em novembro de 1999, outro cluster da mesma classe, o
CPlant
(Computational Plant) da Sandia National Laboratory, foi classificado em
44º lugar na lista dos 500 computadores mais rápidos do planeta.
A vantagem da relação custo/desempenho atraiu também a atenção de grandes
corporações, que planejavam usar clusters para tarefas muito complexas
como decifrar o código genético humano.
Podemos citar como vantagens da utilização de um cluster:
- A utilização de componentes de fácil disponibilidade, tornando a solução independente de fornecedor permitindo diminuição de custos e facilidade de manutenção.
- Continuidade tecnológica, uma vez que componentes atualizados são facilmente encontrados no mercado.
- Flexibilidade de configuração, permitindo adequar a capacidade do cluster a aplicação e ao orçamento.
- Escalabilidade, permitindo anexar mais computadores escravos ao sistema quando houver a necessidade de aumento da carga de processamento.
- Alta disponibilidade, uma vez que cada computador escravo é uma unidade independente e, se algum deles falhar não afeta os demais ou a disponibilidade geral do cluster.
Graças à padronização e larga disponibilidade das bibliotecas como o MPI e
o PVM, a maioria das aplicações as utiliza como padrão de camada
intermediária (Middleware). As aplicações paralelas que utilizam o MPI
podem ser portadas facilmente de um IBMâ RS/6000 ou Crayâ T3E para o cluster
MultiPinguim. Isto é um dos principais motivos da rápida migração destes
caríssimos sistemas paralelos proprietários para os clusters de alto desempenho e de baixo custo.
A escolha dos computadores que irão compor o cluster recai na escolha do
tipo de processador, números de processadores por máquina, tamanho e
velocidade da memória cache externa (L2), velocidade do barramento, projeto
do subsistema de memória, e a velocidade do barramento.
O tipo de rede a ser utilizada também influencia diretamente o desempenho
do sistema. Soluções como GigaNetâ e Myrinetâ garantem melhor desempenho
que os padrões Fast-Ethernet e Gigabit Ethernet mas pode não ter a melhor
relação custo/desempenho.