GB100: Introdução a Computação Paralela
O objetivo deste curso é dar uma visão geral da computação
paralela introduzindo conceitos basicos de arquitetura, construção
de algoritmos em paralelo e análise de desempenho
Ementa:
Processadores RISC, Hierarquia de memorias: RAM, Cache, Memoria Virtual,
Otimizacao: Tomadas de Tempo, Profiling, Otimizacao de Loops, Otimizacao
de Acesso a Memoria. Arquitetura de maquinas Paralelas e Distribuidas:
Redes de Comunicacao, Topologias de Redes. Modelos de Programacao: Tarefas
e canais, Message-Passing, Paralelismo de Dados, Memoria Distribuida. Metodologias
de Paralelizacao: Particao, Aglomeracao, Comunicacao e Mapeamento. Mecanismos
Basicos de Comunicacao: Fan-in, Fan-out,All-to-All Brodcast, All-to-All
Reduction, One-to-All scater, One-to-All gather, etc. Analise de Desempenho:
Modelos Analiticos de desempenho, modelo simplificado de comunicacao, Modelos
de comunicacao com pipeline e com contencao. Escalabilidade: Escalabilidade
com tamanho fixo e variavel do problema, funcao de isoeficiencia. Obtencao
e validacao de Dados Experimentais. Bibliotecas de Message-Passing: PVM,
MPI-2.
Bibliografia
-
Introduction to Parallel Computing -- Design and Analysis of Algorithms
by Vipin Kumar, Ananth Grama, Anshul Gupta, and George Karypis, The Benjamin/Cummings
Publishing, 1994.
-
High Performance
Cluster computing: Architectures and Systems vol. 1, Rajkumar Buyya
(ed.), Prentice Hall 1999 High Performance Cluster computing: Programming
and Applications vol. 2, Rajkumar Buyya (ed.), Prentice Hall 1999 .
-
Design and Building Parallel Programs
by Ian Foster, Addison Wesley Publishing, 1995
Notas de aula (2006):
Cursos de Extensão
For more information, please send e-mail to: Renato
Simoes Silva