Universidade do Minho

Departamento de Informática

Arquitecturas Paralelas I

Licenciatura em Engenharia de Sistemas e Informática - 4ºAno (Opção T I., I - LESI)

Licenciatura em Matemática e Ciências da Computação - 5ºAno (Opção III, IV, V - LMCC)

2006/07

 

Programa detalhado

         I.      Arquitectura dos sistemas de computação

Arquitecturas de processadores com suporte a paralelismo (arquitecturas paralelas). Estudo de casos de arquitecturas paralelas. Clusters e Grids de Clusters.

 

      II.      Modelos de programação paralela e linguagens

Middleware de suporte à execução de aplicações distribuídas/paralelas. Análise de alguns casos de estudo: MPI, Java RMI e .Net Remoting. Mecanismos de especificação de concorrência/paralelismo. Programação de sistemas de memória partilhada com OpenMP

A classe Thread em Java. Implementação de invocações assíncronas de métodos com threads.

Modelos orientados ao aspecto para especificação de paralelismo (e.g., anotações do Java 5)

 

    III.      Projecto de aplicações paralelas

Metodologias de desenvolvimento de aplicações paralelas: partição da aplicação em tarefas, identificação da comunicação, aglomeração de tarefas e mapeamento das tarefas nos recursos disponíveis. Classes das aplicações paralelas. Implementação de algoritmos paralelos cálculo do Medição e optimização do desempenho aplicado a algoritmos específicos.

Programação paralela por passagem de mensagens. Comparação entre invocação remota de métodos e a passagem de mensagens. Implementação algoritmos paralelos com passagem de mensagens. Análise do ambiente MPI (Message Passing Interface). Optimização de algoritmos paralelos.

Análise de exemplos típicos de aplicações paralelas.

.