Última alteração: 2015-08-05
Resumo
Este trabalho apresenta um estudo experimental sobre o renovado paradigma de programação paralela. Este paradigma possibilita que um programa seja executado por várias máquinas (clusters), diminuindo seu tempo de execução. Para o trabalho, adotamos o MapReduce como modelo de programação paralela. O MapReduce é um modelo proposto pelo Google para tarefas com grandes quantidades de dados executadas em clusters. O objetivo do trabalho é analisar o funcionamento dos programas em MapReduce, avaliando as vantagens e limitações do modelo. Primeiramente foram realizados testes com programas já elaborados nesse modelo. Posteriormente foi elaborado um programa paralelo em MapReduce para processamento de grafos e foi feita a análise de seu funcionamento. Os resultados obtidos mostram que o tempo de execução diminui, tal como previsto, com o acréscimo de máquinas ao conjunto. No entanto, a diminuição no tempo de execução foi menor do que a esperada. Concluímos que a camada de software que implementa o modelo de programação paralela apresenta custo inicial elevado. Assim, entendemos que os benefícios da programação paralela são maiores em implementações com quantidades expressivas de dados executando em muitas máquinas, pois assim o custo inicial será amortizado e compensado pelos ganhos no tempo de execução do programa.