Uma Revisão de Ferramentas para Programação Multithread Baseadas no Modelo de Paralelismo de Tarefas
Uma Revisão de Ferramentas para
Programação Multithread Baseadas no
Modelo de Paralelismo de Tarefas
Trabalho Individual apresentado ao Curso de Mestrado em Ciência da Computação da Universidade Federal de Pelotas, como requisito parcial para a obtenção do grau de
Mestre em Ciência da Computação
Orientador: Prof. Dr. Gerson Geraldo
Homrich Cavalheiro
Pelotas, 2012
RESUMO
Camargo, Cícero Augusto de Souza. Uma Revisão de Ferramentas para
Programação Multithread Baseadas no Modelo de Paralelismo de Tarefas.
2012. 59 f. Trabalho Individual (Mestrado em Ciência da Computação).
Universidade Federal de Pelotas, Pelotas.
A crescente disponibilidade de arquiteturas multiprocessadas, pelo advento dos processadores multicore, reimpulsionou a exploração de modelos de programação que permitam expressar a concorrência das aplicações de forma simples e portável, e executá-la de forma eficiente. Diversas ferramentas oferecem diferentes opções de interfaces e modelos de programação, com suporte a execução multithread. Muitas destas ferramentas tem ainda o objetivo de obter processamento de alto desempenho em arquiteturas multiprocessadas.
Contudo, desenvolver uma aplicação paralela para obter alto desempenho em uma determinada arquitetura é uma tarefa complexa, e a previsão da indústria e da academia para um futuro com dezenas ou centenas de núcleos de processamento em um mesmo chip aumentará ainda mais esta complexidade.
Os modelos de programação empregados atualmente pelas ferramentas disponíveis são, basicamente: troca de mensagens, paralelismo de dados e paralelsimo de tarefas. Os dois primeiros, embora sejam padrões altamente utilizados e reconhecidos na indústria, impõem algumas restrições teóricas e práticas para os programadores. Paralelismo de tarefas, no entanto, é um modelo altamente abstrato e adequado para descrever aplicações de forma simples, escalável e independente de arquitetura,