Um Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar o processamento de grandes quantidades de dados. Esses computadores sao interligados atraves de uma rede (como uma Ethernet por exemplo). Em outras palavras, esses computadores dividem as tarefas de processamento, porem trabalham como se fossem uma unica maquina apenas. Os clusters surgiram devido a necessidade de processamento de uma grande demanda de informacoes com baixos recursos financeiros. Ele seria um metodo para possuir o poder de processamento equivalente a de um supercomputador, porem com um custo muito mais acessivel. Clusters nao servem para processar dados em tempo real, apenas para processar grandes quantidades de dados, que podem ser quebrados em partes menores e divididos para varios computadores. Eles sao muito populares na aplicacao de efeitos especiais e na renderizacao de imagens para filmes de cinema. Muitos filmes de animacao atuais (como por exemplo, Shrek e Final Fantasy) foram realizados inteiramente em clusters Beowulf. Para a implementacao de um cluster, e preciso considerar a aplicacao que sera executada. Se o problema a ser resolvido necessitar de uma grande troca de informacoes com o no principal (problemas de granulosidade fina), o cluster nao sera tao eficiente quanto um supercomputador, devido ao alto trafego de rede. Porem, se a situacao for inversa (problemas de granulosidade grossa), e cada maquina receber sua quantidade de informacoes para processar individualmente, o cluster sera tao eficiente quanto um supercomputador. Os clusters fornecem desempenho e tolerancia a falhas, nao encontrados em qualquer sistema com multiprocessamento simetrico. (PITANGA).Arquitetura: HardwarePara a existencia de um cluster sao necessarios pelo menos dois computadores. Evidentemente, quanto mais computadores (ou nos como sao chamados) existirem no cluster, maiores serao os custos de implementacao e manutencao, porem, tambem sera maior seu poder de processamento.Nao existem configuracoes especificas para os computadores que irao compro um cluster, de forma que ate computadores considerados obsoletos podem integra-lo sem problema algum.De uma forma geral, nesta parte de Hardware podemos dividir em duas partes principais: execucao e transmissao de dados.Execucao ou processamento de dados e realizado pelos computadores que compoem o cluster. Os recursos que influenciam no desempenho desses computadores sao: Processador, Memoria RAM, Placa mae, Disco rigido e Memoria Virtual (Swap).A transmissao de dados e fundamental neste tipo de operacao. O principal meio de comunicacao de dados entre os nos (computadores) e a rede, sendo ela composta por meios fisicos e mecanismos de controle para o transporte, alem da politica de sincronizacao de dados. Algumas das principais tecnologias de redes utilizadas em clusters sao a Ethernet a Myrinet e a cLan. Sistemas operacionaisA principal funcao de um sistema operacional (SO) e controlar o funcionamento de um computador, gerenciar a utilizacao e o compartilhamento dos seus diversos recursos. Em clusters, o SO e o principal sistema e atraves dele, deve ser garantido o funcionamento das seguintes funcoes:- Controle de recursos: o controle de entrada e saida de cada no do cluster.- Monitoracao: verificacao da disponibilidade de cada no, assim como carga que cada no pode receber.- Contabilidade: medir o desempenho do cluster.- Consulta: