Um modelo de paralelismo de grao fino para objetos distribuidos

Detalhes bibliográficos
Ano de defesa: 1999
Autor(a) principal: Avila, Rafael Bohrer
Orientador(a): Navaux, Philippe Olivier Alexandre
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Palavras-chave em Inglês:
Link de acesso: http://hdl.handle.net/10183/25935
Resumo: Esta Dissertação apresenta um modelo de paralelismo de grão fino para utilização em aplicações baseadas em objetos distribuídos. A pesquisa é desenvolvida sobre o modelo de distribuição de objetos da linguagem DPC++, uma extensão de C++ concebida na Universidade Federal do Rio Grande do Sul. A motivação para o desenvolvimento deste modelo é a crescente disponibilidade de arquiteturas multiprocessadas e de tecnologias de comunicação de alto desempenho, o que permite o aproveitamento eficiente de um nível de concorrência de menor granularidade. O objetivo do trabalho é integrar de forma adequada e eficiente a utilização de tal nível de concorrência no modelo original de distribuição de objetos de DPC++, permitindo que as aplicações desenvolvidas com a linguagem possam explorar ao máximo o poder computacional oferecido pelas arquiteturas citadas. Como principais características, o modelo proposto apresenta a capacidade de concorrência entre os métodos de um mesmo objeto distribuído e a introdução de um mecanismo de sincronização baseado na semântica de monitores. Os resultados obtidos com a implementação de uma aplicação de geração de fractais de Mandelbrot demonstram que, em termos de desempenho, o modelo apresentado efetivamente atinge seus objetivos. Além disso, a extinção a sintaxe original de programação de DPC++ revela importante contribuição no sentido de aumentar o poder de expressão da linguagem para o desenvolvimento de aplicações paralelas.