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
Semana: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
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)
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.
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
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
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).
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
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.
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).
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).
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)
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).
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.
19-Dez-2006 (T)
Apresentação dos projectos da disciplina.
19-Dez-2006 (TP)
Discussão dos projectos.