Detalhes do Documento

Um middleware independente da plataforma para computação paralela

Autor(es): Mourão, Diogo André Ribeiro

Data: 2011

Identificador Persistente: http://hdl.handle.net/10362/6322

Origem: Repositório Institucional da UNL

Assunto(s): Programação paralela; Middleware; Arquiteturas multi-core


Descrição

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

A adoção generalizada dos processadores com vários núcleos (multi-core) requer modelos de programação que permitam expressar paralelismo de uma forma simples, sem expor detalhes de baixo nível no que se refere à gestão da concorrência. No entanto, apesar dos processadores multi-core se terem tornado o standard de-facto desde o ano de 2006, as linguagens de programação de uso generalizado e respetivos compiladores e sistemas de execução permanecem, na sua essência, inalterados. Este facto reflete-se não só ao nível do desempenho das aplicações como também ao nível de produtividade do seu desenvolvimento. É então necessário criar novas soluções que ofereçam abstrações de alto nível que permitam expressar o paralelismo de uma forma simples, ao mesmo tempo que permitam separar a lógica da aplicação da gestão da concorrência. Neste contexto, esta dissertação propõe um middleware independente da plataforma que tem como objetivo o suporte à execução de aplicações paralelas fornecendo as funcionalidades mais comuns, tais como: paralelismo de tarefas e de dados, comunicação e controlo de concorrência. Pretende ser suficientemente genérico de forma a que possa ser utilizado como suporte ao desenvolvimento de uma grande variedade de aplicações concorrentes e paralelas, bem como servir de suporte a sistemas de execução de linguagens de programação. A sua arquitetura é inspirada na arquitetura dos sistemas de operação, na medida em que, para além de oferecer uma interface bem definida para o programador, centrada no conceito de localidade, também especifica uma interface, baseada em drivers, para o suporte de várias implementações das funcionalidades necessárias. De forma a simplificar o desenvolvimento de aplicações foi desenvolvido um mecanismo de anotações permitindo ao programador expressar o paralelismo nas suas aplicações com recurso às anotações oferecidas. O middleware está atualmente concretizado para arquiteturas de memória partilhada apesar do seu desenho contemplar a sua extensão para arquiteturas de memória distribuída sobre a qual já existe trabalho em curso. A implementação atual é avaliada emtermos de desempenho através dos benchmarks NAS Parallel Benchmarks [NAS] e Java Grande Benchmark Suite [EPC]. Os resultados obtidos confirmam a existência de um overhead associado à utilização do middleware, como era expectável antes da realização deste estudo. Porém, este é compensado pelo facto de se oferecerem abstrações que simplificam o desenvolvimento de aplicações paralelas.

Tipo de Documento Dissertação de mestrado
Idioma Português
Orientador(es) Paulino, Hervé
Contribuidor(es) RUN
facebook logo  linkedin logo  twitter logo 
mendeley logo

Documentos Relacionados

Não existem documentos relacionados.