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.