Disciplina Curricular

Computação Paralela e Distribuída CPD

Mestrado Bolonha em Engenharia Informática e de Computadores - Alameda - MEIC-A 2021

Contextos

Grupo: MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Sistemas Distribuídos

Período:

Grupo: MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Engenharia e Ciência de Dados

Período:

Grupo: MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Algoritmos e Aplicações

Período:

Peso

6.0 (para cálculo da média)

Pré-requisitos

Conhecimentos sólidos de programação, idealmente nas linguagens C ou C++. Boas bases em análise de algoritmos.

Objectivos

Compreender os modelos, técnicas e metodologias de desenvolvimento de algoritmos paralelos. Aprender a analisar e escrever programas paralelos. Obter experiência prática no desenvolvimento de programas para sistemas de memória partilhada e memória distribuída. Visão geral de algoritmos paralelos em diferentes áreas de aplicação.

Programa

Arquiteturas para computação paralela. Taxonomia de Flynn. Modelos de programação: multicores e multicomputadores; organização da memória; overheads. Análise e síntese de algoritmos paralelos: particionamento de problemas; organização dos dados; comunicação e sincronização; balanceamento de carga; agendamento. Métricas de desempenho. Programação de sistemas de memória partilhada: OpenMP, threads, condições de corrida, deteção de deadlock. Programação de sistemas de memória distribuída: redes de interligação; passagem de mensagens, MPI. Programação híbrida. Computação heterogénea: GPU; FPGA. Áreas de aplicação: métodos numéricos: multiplicação de matrizes, sistemas de equações lineares; algoritmos em grafos; ordenação; algoritmos de procura e otimização; métodos de Monte Carlo; outros.

Metodologia de avaliação

Exame 40%, Projecto 60%. Nota mínima de 7,5 em cada componente.

Componente de Competências Transversais

O projeto desenvolve: - Pensamento Crítico e Inovador; - Competências Interpessoais, por ser um trabalho em grupo.

Componente Laboratorial

O projeto proposto deverá ser implementado em várias versões: - versão série, que servirá como referência - memória partilhada - memória distribuída - versão híbrida 

Componente de Programação e Computação

No curso onde esta UC é oferecida estão asseguradas as componentes de Computação e Programação de acordo com o MEPP 2122.

Princípios Éticos

Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.

Disciplinas Execução

2024/2025 - 2º semestre

2023/2024 - 2º semestre

2022/2023 - 2º semestre

2021/2022 - 2º Semestre