A crescente demanda por mais poder de processamento gera a necessidade de computadores cada vez mais rápidos e eficientes. Em áreas que utilizam elevada taxa de computação, como a visualização científica, a multimídia, servidores web, de banco de dados ou de e-mail, entre outras, geralmente requerem serviços de processamento rápido, alta disponibilidade e balanceamento de carga. Dentro desse contexto, tornar os serviços críticos disponíveis ou processar o mais rápido possível é essencial para o bom funcionamento da empresa ou negócio. Com o aperfeiçoamento das redes de computadores, surge um novo paradigma computacional: os clusters de computadores. Entende-se por cluster um sistema composto de dois ou mais computadores que trabalham em conjunto, executando tarefas ou aplicações de maneira que os usuários que utilizam o sistema tenham a impressão de que ele é único. Tal sistema é extremamente poderoso, capaz de fazer a distribuição do processamento entre computadores comuns e distintos, interligados por uma rede, sendo capaz de repartir e especializar as tarefas computacionais conforme a natureza da função de cada computador. A utilização de cluster de computadores aparece então como uma forma relativamente simples e barata para suprir essa demanda, que até então somente supercomputadores seriam capazes de resolver. Sendo assim, este trabalho tem como objetivo fazer um levantamento das tecnologias atuais existentes na área da computação paralela e distribuída, apresentando estudos de casos práticos sobre a implementação de cluster de alto desempenho para serviços que requerem grande capacidade de processamento, analisando a performance utilizando diferentes equipamentos com o uso de software livre, mais especificamente com sistema operacional (SO) GNU/Linux e ferramentas de benchmark (avaliação). |