Sistemas de informação
Carlos Tibério Falci Cordeiro, Edivaldo Pacheco Junior, Tiago Silva de Oliveira.
PUC Minas em Contagem
Bacharelado em Sistemas de Informação
edivaldopachecojunior@gmail.com,tiago_sylva@hotmail.com
1. Introdução Atualmente, as aplicações paralelas estão presentes em todas as áreas de sistemas de informação, tais como, comércio eletrônico, mineração de dados, serviços web etc. [Hennessy 2008], [Smith 1999]. A computação paralela consiste no principio de que um problema grande pode ser dividido em problemas menores para serem então resolvidos. Hoje em dia existem vários tipos de programação paralela, como por exemplo, em bit, instrução, de dado ou de tarefa. Necessita-se de processadores multinúcleos para que se extraia o máximo desempenho das aplicações implementadas. Porem o programador ainda encontra diversas dificuldades para implementar a programação paralela, desde a sincronização até problemas de concorrência. Para comprovar os benefícios da programação paralela é necessário analisar o comportamento da aplicação com determinados números de threads e verificar em qual dos casos ela atinge o seu melhor tempo de execução sem que o resultado final da aplicação seja alterado, verificar se a quantidade de threads influencia, ou não, o tempo de execução da aplicação. Ao determinar a quantidade de núcleos onde uma aplicação paralela atinge o seu maior desempenho, é possível utilizar os núcleos ociosos para executar outras aplicações em paralelo ou reduzir o consumo de energia desligando-se os demais núcleos. E extraindo um maior desempenho do conjunto de hardware em questão. O objetivo deste trabalho é analisar o desempenho e comportamento da aplicação Fast em um primeiro momento em um ambiente não paralelo, efetuando medição do tempo de execução nesse caso. Então efetuar a paralelização do código para obter informações a respeito do tempo de execução da aplicação com diferentes números de threads.