28 DEZEMBRO / SÁBADO / 11:10
FCUP PT 
 EN
 
 
APRESENTAÇÃO
PESSOAS
ENSINO
INVESTIGAÇÃO
BIBLIOTECA
NOTÍCIAS
CONTACTOS

Desenho e Implementação do pSystem para Arquitecturas de Memória Distribuída

Hervé Miguel Cordeiro Paulino

Mestrado em Ciência de Computadores
Departamento em Ciência de Computadores
Faculdade de Ciências da Universidade do Porto

Outubro 1998


Resumo

Recentemente, têm sido propostas e construídas máquinas paralelas baseadas em componentes standard. A arquitectura destas máquinas é predominantemente de memória distribuída, composta por clusters de multiprocessadores interligados por redes muito rápidas, como a Myrinet ou a ATM. Todavia, o sucesso deste tipo de arquitecturas está condicionado aos ambientes de programação que proporcionam. Ambientes de programação paralela, como o PVM ou o MPI, são de grande utilidade para a programação de arquitecturas de memória distribuída, no entanto, requerem do programador um conhecimento detalhado da arquitectura alvo e o controlo explícito de toda a comunicação. Uma alternativa consiste na utilização de uma camada de software, por exemplo o TreadMarks, que forneça memória virtualmente partilhada, permitindo um modelo de programação mais próximo do de memória partilhada.

Esta tese apresenta o desenho e a implementação do di_pSystem, um ambiente de programação para arquitecturas de memória distribuída. Este consiste numa extensão ao pSystem, um ambiente de programação para arquitecturas de memória partilhada que permite a anotação de programas em C para execução paralela. O di_pSystem deverá preservar, ao máximo, a facilidade de programação do pSystem, assim como a sua modularidade em termos de arquitectura. Deste modo, distribuirá e balanceará dinamicamente todo o trabalho paralelo gerado durante a execução paralela. A comunicação está escondida do programador e é gerida automaticamente, quando necessário, pelo ambiente. Os programadores têm apenas de identificar as funções da linguagem C que são candidatas a execução paralela; a comunicação para a distribuição de trabalho é gerida implicitamente pelo sistema.

O módulo de comunicação do di_pSystem utiliza o interface paralelo MPI para suportar a computação distribuída. Este módulo é o único que depende do sistema utilizado. No entanto, a sua adaptação a outros sistemas é simples. O di_pSystem também pode ser utilizado para estudar a performance de algoritmos de distribuição de trabalho. No âmbito deste trabalho implementaram-se quatro heurísticas assim como um pequeno número de aplicações que serviram para uma avaliação inicial à performance do sistema.


FCUP 2024