Escolar Documentos
Profissional Documentos
Cultura Documentos
Ementa
Concorrência e Sincronização de Processos. Projeto de algoritmos paralelos. Programação para Plataformas de Memória Compartilhada. Programação Usando Paradigma de Passagem de
Mensagens. Análise de desempenho.
Objetivos
Ao final dessa disciplina pretende-se que o aluno tenha desenvolvido as seguintes competências: resolver problemas usando ambiente de programação paralela; conhecer as bibliotecas de
paralelização existentes e como funcionam; avaliar criticamente projetos de sistemas de computação (avaliação de desempenho); especificar, projetar, implementar,manter, avaliar e inovar
sistemas de computação, empregando teorias, práticas e ferramentas adequadas à infraestrutura de hardware disponível.
Metodologia
A disciplina será ofertada no formato de ERE (Ensino Remoto Emergencial). Prevê-se a realização de 10 semanas letivas no formato remoto, com a
aplicação de cinco Roteiro de Estudos Orientados (REO), a serem desenvolvidos quinzenalmente. Serão aplicadas atividades avaliativas em cada REO. As avaliações serão baseadas em
questionários e atividades práticas
individuais, envolvendo o desenvolvimento de programas. Assim como, no final do semestre, com o retorno das aulas presenciais, será
aplicada uma última atividade avaliativa no formato de prova presencial.
Aferição de frequência: não serão empregados mecanismos de aferição de frequência neste semestre.
Avaliação
A avaliação será realizada através de 5 atividades avaliativas (12% cada) a serem resolvidas individualmente e entregues ao final de cada quinzena. Ao final do semestre haverá uma prova
presencial valendo 40%.
Conforme apresentada no Art. 126 da Resolução CEPE 473 de 2018, se prevê a aplicação da Avaliação Adicional presencialmente ao final do semestre.
Cronograma de Atividades
05/03/2020 Apresentação da disciplina, metodologia de ensino, avaliações.
06/03/2020 História da computação paralela. Conceitos de concorrência, processos e threads.
Aulas presenciais antes
da pandemia Modelos de memória compartilhada e distribuída: Modelo PRAM, Taxonomia de Flynn,
12/03/2020 Cluster.
13/03/2020 Programação de processos com fork.
01/06/2020 ERE: Revisão dos conteúdos anteriores.
Quinzena 1 ERE: Interprocess Communication: conceito de pipes, programação de pipes. Exclusão
08/06/2020 mútua, deadlock, semáforos e barreiras
15/06/2020 ERE: Entrega de Lista Avaliativa 1 (12%)
ERE: Projetos de algoritmos paralelos: conceitos de decomposição, tarefa, grafo de
15/06/2020 dependência, concorrência, processo e mapeamento.
Quinzena 2
ERE:Decomposição de tarefas e mapeamento de threads e processos, balanceamento
22/06/2020 de carga
29/06/2020 ERE: Entrega de Lista Avaliativa 2 (12%)
29/06/2020 ERE:Programação para memória compartilhada com Posix Threads (Pthreads)
Quinzena 3
06/07/2020 ERE: Programação para memória compartilhada com OpenMP
13/07/2020 ERE: Entrega de Lista Avaliativa 3 (12%)
ERE: Avaliação de desempenho: Tempo de execução, speedup, eficiência, Lei de
Quinzena 4 13/07/2020 Amdahl, escalabilidade
20/07/2020 ERE: Programação para GPU
27/07/2020 ERE: Entrega de Lista Avaliativa 4 (12%)
27/07/2020 ERE: Programação por passagem de mensagens
Quinzena 5
03/08/2020 ERE: Programação para grandes volumes de dados
08/08/2020 ERE: Entrega de Lista Avaliativa 5 (12%)
Presencial - Semana 1 13/08/2020 Revisão presencial dos conteúdos
Presencial - Semana 2 20/08/2020 Revisão presencial dos conteúdos
Presencial - Semana 3 28/08/2020 Atividade Avaliativa Presencial (40%)
Presencial - Semana 4 03/09/2020 Tira dúvidas
Avaliação adicional nos termos do art. 126 da Resolução CEPE 473/2018 (data
11/09/2020 sugerida, passível de alteração).