Document details

Um middleware independente da plataforma para computação paralela

Author(s): Mourão, Diogo André Ribeiro

Date: 2011

Persistent ID: http://hdl.handle.net/10362/6322

Origin: Repositório Institucional da UNL

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


Description

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.

Document Type Master thesis
Language Portuguese
Advisor(s) Paulino, Hervé
Contributor(s) RUN
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents

No related documents