1.1. Evolução e Histórico
1.2. Revisão de computação concorrente
1.3. Arquiteturas paralelas e distribuídas
1.4. Características de aplicações distribuídas
1.5. Características de aplicações paralelas
2.1 Conceitos básicos
2.2 Comunicação entre processos
2.2.1 Troca de mensagens
2.2.2 Primitivas e Sincronização
2.2.3 Modelo Cliente-Servidor
2.2.4 Comunicação em grupo
2.3 Gerência de Processos e Recursos
2.3.1 Conceitos Básicos
2.3.2 Processos x Threads
2.3.3 Escalonamento
3.1 Introdução
3.2 Modelos de programação distribuída
3.2.1 Probe/echo
3.2.2 Broadcast
3.2.3 Token-passing
3.2.4 Servidores replicados
3.3 Chamada Remota de Procedimentos (RPC)
3.3.1 Conceitos básicos
3.3.2 Passagem de parâmetros
3.3.3 Detalhes de implementação
3.4 Algoritmos distribuídos
3.4.1 Sincronização
3.4.2 Exclusão mútua
3.4.3 Detecção de deadlocks
3.4.4 Algoritmos de eleição
4.1 Introdução
4.2 Métricas de desempenho
4.3 Modelos de programação paralela
4.3.1 Mestre-escravo
4.3.2 Pipeline
4.3.3 Fases paralelas
4.3.4 Divisão e conquista
4.4 Biblioteca padrão MPI
4.4.1 Conceitos básicos
4.4.2 Primitivas
4.4.3 Detalhes de implementação
4.5 Desenvolvimento de aplicações Paralelas
4.5.1 Exemplos
4.5.2 Técnicas de otimização e refinamento