Single operation multiple data - paralelismo de dados ao nível da sub-rotina


Autoria(s): Marques, Eduardo Rafael da Silva Vieira Frederico
Contribuinte(s)

Paulino, Hervé

Data(s)

20/07/2012

20/07/2012

2012

Resumo

Dissertação para obtenção do Grau de Mestre em Engenharia Informática

O advento dos processadores multi-core marcou o nascimento de uma nova era, em que se requer que as aplicações sejam concorrentes para que possam usufruir da natureza paralela do hardware. No entanto, esta mudança de paradigma na arquitectura dos processadores não foi acompanhada por alterações significativas nas linguagens de programação de uso generalizado. Obrigando frequentemente o programador a optar entre desempenho (com o recurso a computação paralela) e a produtividade no processo de desenvolvimento do software. Neste contexto, esta dissertação propõe a aplicação do paradigma de paralelismo de dados ao nível da sub-rotina. A invocação de uma sub-rotina dá origem a várias tarefas, cuja execução opera sobre partições distintas dos dados de entrada. A execução destas tarefas é delegada a uma pool de threads trabalhadores, que as executarão em paralelo, segundo uma variação do modelo de execução Single Program Multiple Data a que baptizámos como Single Operation Multiple Data. Este modelo é apresentado ao programador segundo o paradigma Distribute-Map-Reduce, em que os dados de entradas são particionados e submetidos às múltiplas instâncias da sub-rotina para execução paralela. Aos resultados parciais é posteriormente aplicada uma operação de redução para calcular o resultado final. A instanciação do modelo foi realizada como uma extensão à linguagem de programação Java, sendo o sistema de execução construído sobre o sistema de execução da linguagem X10 [CGS+05]. O protótipo resultante pode ser aplicado tanto em ambientes de memória partilhada como distribuída. A avaliação realizada atesta a viabilidade da solução, apresentando resultados de desempenho interessantes para um conjunto considerável de aplicações, sem que o programador tenha de escrever código especializado.

Identificador

http://hdl.handle.net/10362/7533

Idioma(s)

por

Publicador

Faculdade de Ciências e Tecnologia

Direitos

openAccess

Palavras-Chave #Computação paralela #Paralelismo de dados #Modelo de execução SOMD #Distribute-Map-Reduce
Tipo

masterThesis