Um cluster, ou aglomerado de computadores, é formado por um conjunto de computadores que utiliza-se de um tipo especial de sistema operacional classificado como sistema distribuído.
É construído muitas vezes a partir de computadores convencionais (personal computers), sendo que estes vários computadores são ligados em rede e comunicam-se através do sistema de forma que trabalham como se fosse uma única máquina de grande porte. Há diversos tipos de cluster. Um tipo famoso é o cluster da classe Beowulf, constituído por diversos nós escravos gerenciados por um só computador.
História
A idéia inicial que conduz ao cluster foi desenvolvida na década de 1960 pela IBM como uma forma de interligar grandes mainframes, visando obter uma solução comercialmente viável de paralelismo.
Nesta época o sistema HASP (Houston Automatic Spooling Priority) da IBM e seu sucessor, JES (Job Entry System) proviam uma maneira de distribuir tarefas nos mainframes interligados. A IBM ainda hoje (2001) suporta o cluster de mainframes através do Parallel Sysplex System, que permite ao hardware, sistema operacional, middleware e software de gerenciamento do sistema prover uma melhora dramática na performance e custo ao permitir que usuários de grandes mainframes continuem utilizando suas aplicações existentes.
Entretanto o cluster ganhou força até que três tendências convergiram nos anos 1980: microprocessadores de alta performance, redes de alta velocidade, e ferramentas padronizadas para computação distribuída de alto desempenho. Uma quarta tendência possível é a crescente necessidade de poder de processamento para aplicações científicas e comerciais unida ao alto custo e a baixa acessibilidade dos tradicionais supercomputadores.
No final de 1993, Donald Becker e Thomas Sterling iniciaram um esboço de um sistema de processamento distribuído construído a partir de hardware convencional como uma medida de combate aos custos dos supercomputadores. No início de 1994, trabalhando no CESDIS, com o patrocínio do projecto HTPCC/ESS, criaram o primeiro cluster desse tipo, o projeto Beowulf.
O protótipo inicial era um cluster de 16 processadores DX4 ligados por dois canais Ethernet acoplados (Ethernet bonding). A máquina foi um sucesso instantâneo e esta idéia rapidamente se espalhou pelos meios acadêmicos, pela NASA e por outras comunidades de pesquisa.
[1] Comentário enviado por liviocf em 25/01/2008 - 11:57h
Muito bom esse artigo! Queria saber se vocês tentaram utilizar ferramentas que automatizam a instalação e o gerenciamento do cluster como o OSCAR? E outra: por que usar o Fedora 4 (já bem desatualizado).
Pergunto isso pois tivemos muitos problemas para instalar e configurar nosso cluster do Lab. de Bioinformática da UFAM manualmente! Terminamos usando Fedora 5 e o OSCAR para resolver os problemas!
Mas concordo com vc, ainda é difícil encontrarmos informações completas sobre o assunto!
E uma das grandes aplicações de cluster no momento é em pesquisas de bioinformática, pois existe uma demanda cada vez maior para isso!!
Parabéns pelo artigo e gostaria de trocar mais informações sobre esse assunto!!
[3] Comentário enviado por removido em 25/01/2008 - 14:45h
amigo jedi_soft, sei que não é da minha conta, mas o texto acima me pareceu muito bem explicado, já que não se trata de um cluster montado por uma grande equipe de pesquisadores... Porém nosso amigo joseluiz fez oque muitos de nós não teriam "coragem" e/ou "computadores" de fazer. Isso foi uma feliz êxperiencia, parabéns colega joseluiz, tá certo os outros amigos não querião um resultado com números gráficos e tabelas né?!
[4] Comentário enviado por nigthwing em 25/01/2008 - 15:55h
Uma dúvida:
O programa de exeplo utiliza a mpi. è necessário que todo programa que se utilize do cluster seja feito com a mpi?
Programas de processamento já criados sem a MPI se beneficiam do cluster?
[5] Comentário enviado por infoslack em 25/01/2008 - 16:48h
vanguarda, amigo so falei pq parece que quando ele foi publicar o artigo aki no vol, esqueceu de botar essa parte.. com certeza ele ia falar dos resultados dos teste perguntei isso pq tem o titulo:
Resultados e conclusões
foi so curiosidade mesmo, mas que o artigo ta ótimo com certeza ta!!
[6] Comentário enviado por joseluiz em 25/01/2008 - 17:01h
Caro nigthwing, é necessário a instalação dos pacotes mpi em todas os que fazem parte do mesmo.
No caso dos programas ja criados sem o mpi seria necessário vc estar fazendo algumas alterações no fonte, para que eles utilizem o mpi, que com certeza ganhara muito em sua performance
[7] Comentário enviado por joseluiz em 25/01/2008 - 17:06h
jedi_soft, desculpe-me pela falha do mesmo.. Talvez tenha me expressado mal no tópico...
Mas os resultados foram o seguinte.... Em uma aplicação de calculo para achar o intervalo de Pi com intervalo de 999999999. sendo executado em cluster foi encontrado o resultado em clock time = 0.000238 com uma taxa de erro de 00000000000987.00 ... E sendo executado em apenas 1 estação chegamos no resultado clock time = 0.089638 com uma taxa de erro de 00000000456987.00
[8] Comentário enviado por removido em 02/02/2008 - 12:59h
Olá joseluiz gostaria de parabeniza-lo pelo artigo, tenho uma duvida, ao executar o bWatch ele so apresenta Master com Num Users 2 isso é normal ele não deveria apresentar o Master e o Slave1?
[9] Comentário enviado por removido em 02/02/2008 - 16:55h
..Muito beleza seu artigo!
So lembrando ao amigo fonsecaf7 que para que apareça o nome
dos Slaves vc tem que por os nomes dos nós no arquivo .bWatchrc.tcl nas 1ª linhas do aquivo.Assim
set bWatchrcVersion 1.1.0a
set listOfHosts {Master nó01 nó02 nó02 etc..}
[11] Comentário enviado por sergin1rn em 19/08/2009 - 00:01h
Amigos que se interessaram pelo cluster.
Os resultados que o inforslack queria, acredito que seria o seguinte:
cluster@master:~$ mpirun -np 4 cpi
Process 2 on master
Process 0 on master
Process 1 on slave
Process 3 on slave
pi is approximately 3.1416009869231245, Error is 0.0000083333333314
wall clock time = 0.000278
cluster@master:~$
Obtive este resultado seguindo o tutorial deste site http://www.lca.ufms.br/ClusterDebian/
Mas seu artigo está muito bom mesmo o seu artigo!
Pena não ter visto ele anteriormente.
[12] Comentário enviado por leandrojapa em 19/04/2010 - 15:07h
Boa tarde joseluiz..seguinte...estou precisando configurar um cluster na facudade e estou com problemas..
ja testei em casa com maquinas virtuais e esta tudo Ok.Mas quando vou executar um programa e vai mandar para os outros nós ele da um erro de execução : error mpirun :cannot run cpi in no1 :no such file directory ..
ja tentei varias maneiras, acho q o erro esta na resolução de nomes mas nao tenho certeza pois ja refiz tudo varias vezes e sempre continua esse erro..alguem pode me ajudar por favor ??
estou precisando com urgencia..fico mto grato..