Clusters
Um cluster é um tipo de sistema de processamento paralelo que consiste de uma coleção de computadores independentes interconectados através de uma rede, trabalhando o operativamente como um único e integrado recurso computacional.
Um cluster típico:
Rede mais rápida e próxima do que uma rede local;
Protocolos de comunicação de baixa latência;
Conexão mais frouxa que um SMP.
Se você tiver dois ou mais computadores, existe uma grande chance de que, em um determinado instante, pelo menos um deles não esteja fazendo nada.
E infelizmente, quando você realmente precisar de capacidade de processamento, toda aquele que estiver disponível provavelmente não será suficiente.
A idéia por detrás do uso de clusters é espalhar as cargas entre todos os computadores disponíveis, usando ao máximo os recursos que estão livres nas outras máquinas.
A unidade básica do cluster é um único computador, também chamado de nó.
Os cluster podem aumentar de tamanho pela adição de outras máquinas.
O cluster como um todo será mais poderoso quanto mais rápidos forem os seu computadores individualmente e quanto mais rápida for a rede de interconexão que os conecta.
Além disso, o sistema operacional de um cluster deve fazer o melhor uso do hardware disponível em resposta às mudanças de condições da computação. Isto será um grande desafio se o cluster for composto de diferentes tipos de computador (um cluster “heterogêneo”) , se um grande número de máquinas deixar e entrar no cluster aleatoriamente e se as cargas não puderem ser previstas com antecipação.
Basicamente existem 3 tipos de clusters:
Tolerante à falhas
Balanceamento de Carga
Computação de Alto Desempenho
Clusters Tolerantes à Falhas consistem de dois ou mais computadores conectados em rede com um software de monitoração (heart-beat) instalado entre os dois. Assim que uma máquina falhar, as outras máquinas tentam assumir o trabalho.
Cluster com Balanceamento de Carga utilizam o conceito de,