Disciplina
Computação Paralela e Distribuída
Área
Área Científica de Metodologia e Tecnologias da Programação > Programação
Activa nos planos curriculares
Min-CED 2021 > Min-CED 2021 > Computação Paralela e Distribuída
MEEC 2021 > MEEC 2021 > 2º Ciclo > Opções Livres > Áreas Secundárias > Área Secundária - Sistemas de Computação > Computação Paralela e Distribuída
MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Sistemas Distribuídos > Computação Paralela e Distribuída
MECD2019 > MECD2019 > 2º Ciclo > Opções > Computação Paralela e Distribuída
MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Sistemas Distribuídos > Computação Paralela e Distribuída
MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Sistemas Distribuídos > Computação Paralela e Distribuída
MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Sistemas Distribuídos > Computação Paralela e Distribuída
MEEC 2006 > MEEC 2006 > 2º Ciclo > Área de Especialização > Área de Especialização Secundária > Computadores > Computação Paralela e Distribuída
MERC 2006 > MERC 2006 > 2º Ciclo > Área de Especialização Complementar > Programação em Redes > Computação Paralela e Distribuída
DEAEngCmp2007 > DEAEngCmp2007 > 3º Ciclo > Obrigatórias > Computação Paralela e Distribuída
MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Complementar > Sistemas Distribuídos > Computação Paralela e Distribuída
Nível
Exame 40%, Projeto 60%
Tipo
Não Estruturante
Regime
Semestral
Carga Horária
1º Semestre
3.0 h/semana
1.5 h/semana
147.0 h/semestre
Objectivos
Compreender os modelos, técnicas, e formas de programação de algoritmos paralelos. Analisar e conceber algoritmos paralelos. Compreender os fundamentos da computação distribuída.
Programa
Modelos de computação paralela: multiprocessadores e multicomputadores; organização da memória; complexidade da comunicação. Redes de Interligação. Taxonomia de Flynn. Programação em sistemas de passagem de mensagens: MPI, metodologia de Foster. Programação em sistemas com memória partilhada: OpenMP, threads, condições de corrida, detecção de interblocagem. Análise e síntese de algoritmos paralelos: divisão do problema; organização dos dados; sincronização; balanceamento e escalonamento. Análise do desempenho de algoritmos paralelos. Fundamentos de computação distribuída e suas aplicações aos algoritmos paralelos. Limites da computação paralela. Estudo de algoritmos paralelos: algoritmos de ordenação; algoritmos numéricos, multiplicação de matrizes, solução de sistemas lineares. algoritmos em grafos.algoritmos de procura e optimização.
Metodologia de avaliação
Exame 40%, Projeto 60%
Pré-requisitos
na
Componente Laboratorial
na
Princípios Éticos
na
Componente de Programação e Computação
na
Componente de Competências Transversais
na
Bibliografia
Principal
Barry Wilkinson and Michael Allen
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering