As referências são a capítulos do livro do Andrews (Foundations of
Multithreaded, Parallel and Distributed Programming) e do Ben-Ari.
Aula 1 (17/02):
Apresentação. Critério de Aprovação. Bibliografia.
Aula 2 (20/02):
Introdução: Arquiteturas de máquinas sequenciais e paralelas. Máquinas
paralelas com memória compartilhada e distribuída. Tipos de
concorrência. Seções do livro do Andrews 1 -> 1.4.
Carnaval
Aula 3 (03/03):
Tipos de paralelismo: Paralelismo iterativo, recursivo, produtor consumidor
Exemplo de fibonacci implemantado pelo Nilo (assembler codigo fonte).
Aula 4 (06/03):
Tipos de paralelismo. Computação por pares.
Aula 5 (10/03):
Introdução a processos e
sincronização em memória compartilhada.
Exemplo dos sapos.
Propriedades de um programa (Safety e Liveness)
Aula 6 (13/03):
Exemplos de paralelização em memória compartilhada (grep e máximo de
um vetor).
Aula 7 (17/03):
Propriedade no máximo uma vez.
Primitiva await, exemplo com produtor consumidor.
Aula 8 (20/03):
Justiça (fairness) e exercícios.
Problema da seção crítica (introdução).