Kursthemen
10. August - 16. August
- Informações sobre o curso
- Notação O-zão (big-O).
- Comparação de tempos bubblesort versus quicksort.
17. August - 23. August
Revisão de alguns conceitos de organização e arquitetura de computadores
- Evolução tecnológica
- Hierarquia de memória e cache
- Entradas e saídas
- Multiprogramação
- Gerenciamento de memória
24. August - 30. August
Continuação de revisão de arquitetura sequenciais
- Prefetch
- Pipeline de instruções
- Previsão de desvisos
- Execução superescalar
Início de apresentação de arquiteturas paralelas- Paralelismo em processadores
- SIMD versus MIMD
- Plataformas de espaço de endereçamento compartilhado. UMA versus NUMA.
- Platafomas de passagem de mensagens.
31. August - 6. September
Continuação de apresentação de arquiteturas paralelas.
- Redes de interconexão.
- Roteamento.
- Avaliação de redes.
- Coerência de cache.
- Custos de comunicação.
- Mapeamento de grafos.
14. September - 20. September
Programação de passagem de mensagens com MPI:
- Estrutura de programas MPI.
- Execução de programas MPI.
- Comunicação ponto-a-ponto (send+receive).
- Comunicações não-bloqueantes.
- Algumas comunicações coletivas: broadcast, gather, scatter, reduce.
21. September - 27. September
Continuação de MPI:
- Tipos de dados
- Compatibilidade de tipos
- Structs
- Definição de novos comunicadores
- Topologias cartesianas
- Exemplo de produto matriz-vetor
- Exemplo de cálculo da fractal de Mandelbrot.
28. September - 4. Oktober
Capítulo 3 (Projeto de algoritmos paralelos):
- Decomposição de tarefas
- Granulosidade
- Grau de concorrência
- Tamanho de caminho crítico
- Grafo de interação de tarefas
- Técnicas de decomposição:
- Recursiva
- Por dados
- Exploratória
- Especulativa
- Híbrida
- Características de tarefas (geração, tamanho, interações)
- Mapeamento
- Por blocos
5. Oktober - 11. Oktober
Continuação do capítulo 3:
- Distribuições bloco-cíclicas
- Particionamento de grafos
- Mapeamento baseado em particionamento de tarefas
- Mapeamentos hierárquicos
- Esquemas dinâmicos: centralizados e distribuídos
- Modelos de algoritmos paralelos
Exemplo de difusão de calor, versão MPI
Início do capítulo 4 (Operações de comunicação):
- Broadcast e redução
19. Oktober - 25. Oktober
Outras operações coletivas:
- Broadcast e redução de todos para todos.
- Soma de prefixo (scan)
- Scatter e gather
Capítulo 5: Modelagem analítica de desempenho- Fontes de sobrecarga em sistemas paralelos
- Sobrecarga total
- Custo
- Speedup
- Eficiência
- Sistemas custo-ótimos
- Granulosidade e desemepnho
- Escalabilidade
- Isoeficiência
- Tempo mínimo e tempo mínimo com custo ótimo
- Speedup escalado (com restrição de tempo ou de memória)
- Fração serial
23. November - 29. November
Prova sobre o material do livro-texto apresentado em sala (capítulos 2 a 5)