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

Docentes

Objectivos

Programa

Bibliografia

Avaliação

Sumários

Notas de estudo

 

 

Sumários

Semana: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12

Semana 1

19-Set-2006 (T)

Introdução e análise das arquitecturas de processadores com suporte a paralelismo (arquitecturas paralelas). Sistemas de memória partilhada e sistemas de memória distribuída. Clusters de máquinas. Grids computacionais.

19-Set-2006 (TP)

Estudo de casos de arquitecturas paralelas (Inter Core, Intel Xeon, AMD Opteron, top500.org)

Semana 2

26-Set-2006 (T)

Revisão de conceitos de programação (objectos, classes herança, interfaces, padrões de desenho de aplicações).

26-Set-2006 (TP)

Introdução ao ambiente de programação Java a utilizar ao longo das aulas práticas da disciplina. Resolução de exercícios.

Semana 3

3-Out-2006 (T)

Middleware de suporte à execução de aplicações distribuídas/paralelas. Análise de alguns casos de estudo: PVM, Java RMI e .Net Remoting.

3-Out-2006 (TP)

Resolução de exercícios (codificação de uma aplicação cliente-servidor em Java RMI).

Semana 4

10-Out-2006 (T)

Mecanismos de especificação de concorrência/paralelismo. Análise de casos de estudo: Java e .Net (C#).

10-Out-2006 (TP)

Análise da classe Thread em Java. Implementação de invocações assíncronas de métodos com fios de execução (threads).

Semana 5

17-Out-2006 (T)

Apresentação de uma metodologia 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. Análise de classes frequentes de aplicações paralelas (hearbeat, farming, divide & conquer, pipelining).

17-Out-2006 (TP)

Implementação de um algoritmo paralelo para cálculo dos números primos (crivo de Erathostenes).

Semana 6

24-Out-2006 (T)

Medição de optimização do desempenho das aplicações paralelas: lei de Amdahl, componentes do tempo de execução das aplicações paralelas. Técnicas de avaliação do perfil de execução da aplicação.

24-Out-2005 (TP)

Adaptação do algoritmo do crivo de Erathostones para recolha de informação sobre o perfil de execução da aplicação. Análise de Hprof da JVM

Semana 7

31-Nov-2006 (T)

Continuação da aula anterior (técnicas de medição e optimização de aplicações)

31-Nov-2006 (TP)

Continuação da aula anterior. Experimentação de técnicas alternativas de paralelização de algoritmos e análise do respectivo desempenho.

Semana 8

7-Nov-2006 (T)

Programação paralela por passagem de mensagens. Comparação entre invocação remota de métodos e a passagem de mensagens. MPI (Message Passing Interface). Análise de biblioteca Java MPP (sub conjunto de MPI baseado no Java nio)

7-Nov-2006 (TP)

Reimplementação de um algoritmo paralelo para cálculo dos números primos utilizando o paradigma de passagem de mensagens (Java MPP).

Semana 9

14-Nov-2006 (T)

Análise da especificação OpenMP: tipo de paralelismo suportado e principais construtores existentes na implementação deste modelo em C++

14-Nov-2006 (TP)

Paralelização de um algoritmo com OpenMP (cálculo dos números primos).

Semana 10

21-Nov-2006 (T)

Introdução aos sistemas GRID.

21-Nov-2006 (TP)

Experimentação com um sistema GRID (submissão de tarefas com OpenPBS)

Semana 11

28-Nov-2006 (T)

Introdução ao AspectJ. Fases de paralelização de algoritmos com (e sem) aspectos.

28-Nov-2006 (TP)

Implementação de aspectos para paralelização.

Semana

05-Dez-2006 (T)

Não houve aula (participação na inauguração do Cluster milipeia).

05-Dez-2006 (TP)

Não houve aula (participação na inauguração do Cluster milipeia).

Semana 12

12-Dez-2006 (T)

Apresentação de uma framework para desenvolvimento de aplicações concorrentes. Apresentação dos projectos da disciplina.

12-Dez-2006 (TP)

Discussão dos projectos.

Semana 13

19-Dez-2006 (T)

Apresentação dos projectos da disciplina.

19-Dez-2006 (TP)

Discussão dos projectos.