Quando o assunto e computacao de alto desempenho, nao e dificil pensarmos em servidores sofisticados e caros respondendo por este trabalho. No entanto, e possivel obter resultados tao bons quanto ou superiores a partir de alguma solucao de cluster - uma tecnologia capaz de fazer computadores mais simples trabalharem em conjunto, como se formassem uma maquina so.Neste texto, voce sabera o que e computacao em cluster, vera quais sao as principais caracteristicas do conceito e conhecera algumas de suas aplicacoes, assim como solucoes do tipo.O que e cluster?Cluster (ou clustering) e, em poucas palavras, o nome dado a um sistema que relaciona dois ou mais computadores para que estes trabalhem de maneira conjunta no intuito de processar uma tarefa. Estas maquinas dividem entre si as atividades de processamento e executam este trabalho de maneira simultanea.Cada computador que faz parte do cluster recebe o nome de no (ou node). Teoricamente, nao ha limite maximo de nos, mas independentemente da quantidade de maquinas que o compoe, o cluster deve ser "transparente", ou seja, ser visto pelo usuario ou por outro sistema que necessita deste processamento como um unico computador.Os nos do cluster devem ser interconectados, preferencialmente, por uma tecnologia de rede conhecida, para fins de manutencao e controle de custos, como a Ethernet. E extremamente importante que o padrao adotado permita a inclusao ou a retirada de nos com o cluster em funcionamento, do contrario, o trabalho de remocao e substituicao de um computador que apresenta problemas, por exemplo, faria a aplicacao como um todo parar.A computacao em cluster se mostra muitas vezes como uma solucao viavel porque os nos podem ate mesmo ser compostos por computadores simples, como PCs de desempenho mediano. Juntos, eles configuram um sistema de processamento com capacidade suficiente para dar conta de determinadas aplicacoes que, se fossem atendidas por supercomputadores ou servidores sofisticados, exigiriam investimentos muito maiores.Nao e necessario haver um conjunto de hardware exatamente igual em cada no. Por outro lado, e importante que todas as maquinas utilizem o mesmo sistema operacional, de forma a garantir que o software que controla o cluster consiga gerenciar todos os computadores que o integram.Tipos de clustersHa uma enormidade de aplicacoes que so podem ser atendidas satisfatoriamente com computacao de alto desempenho: sistemas meteorologicos, ferramentas de mapeamento genetico, simuladores geotermicos, programas de renderizacao de imagens tridimencionais, entre tantos outros. Com o advento da computacao em nuvens, este cenario se torna ainda mais amplo: pode-se ter uma infraestrutura tecnologica respondendo a varios clientes simultaneamente de maneira remota, por exemplo.Em todos estes casos e em qualquer outro tipo de aplicacao critica - que nao pode parar de funcionar ou nao pode perder dados (os sistemas bancarios, por exemplo) -, o cluster pode se mostrar como uma solucao viavel, desde que o tipo mais adequado seja escolhido.Ha varios tipos de cluster, mas os principais sao: cluster de alto desempenhocluster de ata disponibilidade cluster de balanceamento de carga.Cluster de Alto Desempenho (High Performance Computing Cluster)Clusters de alto desempenho: sao direcionados a aplicacoes bastante exigentes no que diz respeito ao processamento. Sistemas utilizados em pesquisas cientificas, por