Clusters: definição, características e diferenças em relação ao grid

  • Definição: 
São vários computadores, trabalhando junto em um único objetivo, de uma maneira próxima (tanto fisicamente - como em uma sala -, como na maneira que estão conectados por software), e em uma rede de alta performance.

Para entender mais sobre Cluster, leia sobre computação em Grade.
Para entender mais sobre computação em Grade, leia esse artigo sobre Cluster.
Não existe uma definição rígida que defina a diferença entre um cluster e uma grid, mas existe características que são tipicamente de ou de outro.

Conceitos para definição de um Cluster/Grid, segundo o gridcafe.org:
1. Compartilhamento de recursos
2. Uso de recursos: uso e alocação eficiente de recursos
3. Acesso seguro: rígida política de acesso, autorização e autenticação, com definições bem claras sobre quem usa o que, para garantir a confiança e segurança de dados.
4. Morte da distância: a distância entre os membros da grid não importa
5. Padrões abertos: comunicação entre os membros por meios de padrões

  • Diferença entre Grid e Cluster:

Ao contrário dos Grids, que geralmente interligam grandes distâncias, países, universidades, empresas e organizações, os clusters são mais locais.
Os membros de um cluster são chamados de nós e geralmente ficam em um datacenter (ambiente apropriado), prédio ou sala.
A administração dos recursos, tanto de hardware como de processamento, também é de ordem local (geralmente de uma empresa), diferente do Grid, onde cada um contribui e administra 'um pouco'.

É fácil, e óbvio, notar que o poder de um Grid, em geral, é maior.
Pois é maior, tanto fisicamente - já que engloba sistemas em distâncias físicas maiores e tem mais membros, que geralmente incluem vários clusters -, e por administrar membros heterogêneos.
Ou seja, em um cluster, os membros geralmente são homogêneos, são parecidos.
De preferência, são o mesmo...o mesmo computador, processador, mesmo tamanho e capacidade em tudo.

  • Características:

Outra característica marcante de um cluster é que seus membros ficam permanentemente ligados. Até porque seu poder não é muito grande, portanto é o ideal que se utilize dos membros o máximo possível e é necessário toda uma engenharia para alocação desses, com um controle de ambiente físico bastante rígido (temperatura, umidade, insetos, pessoas).
Já os membros do grid não ficam sempre conectados.

Clusters são geralmente utilizados para problemas mais específicos, e não são tão voltados nem tão capazes de processos em paralelo com os Grids, já que é necessário uma engenharia de software e hardware mais complexa para fazer um sistema trabalhar de forma distribuída.
Essa complexidade costuma valer a pena um grid, e não é um cluster, que é menor e mais centralizado.

Por prezar pela eficiência, a grande maioria funciona sob Linux.

  • Utilidade:

São mais flexíveis que a grid, já que são menores e mais locais, sendo bem comuns em empresas dos mais diversos tipos. Em praticamente toda grande empresa ou prédio existe um cluster.
Apesar das fotos e das características citadas, não são sempre máquinas enormes.

É possível encontrar na Internet vários tutoriais e maneiras de como se montar um cluster caseiro. Pra isso se precisa de pelo menos duas máquinas: master e o slave (um mestre e um escravo - administrador e usuário - ou servidor e cliente).
É como se você fundisse o poder de duas máquinas em uma só.


Supercomputador IBM Roadrunner - BladeCenter QS22/LS21 Cluster

Manufacturer:         IBM
Cores:                 122400
Power:                 2345.00 kW
Memory:                 106 086 GB
Interconnect:         Infiniband
Operating System: Linux






Mais fontes:
http://en.wikipedia.org/wiki/Computer_cluster
http://en.wikipedia.org/wiki/Supercomputer
Top 500 Supercomputers and machines: http://www.top500.org

Um comentário:

thiago disse...

Parabéns pelo texto.
principalmente pela parte que compara cluster e grid!
Abracos!