Disciplina

Área

Área Científica de Metodologia e Tecnologias da Programação > Programação

Activa nos planos curriculares

DEAEngCmp2007 > DEAEngCmp2007 > 3º Ciclo > Obrigatórias > Computação Paralela

Nível

Metodologia de avaliação: Exame 40%, Projeto 60%

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

3.0 h/semana

1.5 h/semana

105.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

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

Parallel Programming

Michael Quinn

2003

McGrawHill


Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers 2nd Edition

Barry Wilkinson and Michael Allen

2005

Prentice Hall


Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering

Ian Foster

1995

Addison Wesley