Saltar para:
Logótipo
Você está em: Início > CC4014
Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Computação Paralela

Código: CC4014     Sigla: CC4014     Nível: 400

Áreas Científicas
Classificação Área Científica
OFICIAL Ciência de Computadores

Ocorrência: 2022/2023 - 1S

Ativa? Sim
Página Web: http://www.dcc.fc.up.pt/~ricroc/aulas/2223/cp
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Mestrado em Ciência de Computadores

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
E:BBC 0 PE_Bioinformática e Biologia Computacional 1 - 6 42 162
M:A_ASTR 0 Plano de Estudos oficial desde_2013/14 1 - 6 42 162
2
M:BBC 0 Plano estudos a partir de 2018 2 - 6 42 162
M:CC 10 PE a partir do ano letivo de 2014 1 - 6 42 162
M:DS 1 Plano Oficial a partir de 2018_M:DS 1 - 6 42 162
M:ERSI 4 Plano Oficial a partir de 2021_M:ERSI 1 - 6 42 162

Língua de trabalho

Português e inglês

Objetivos

Dotar os estudantes do conhecimento teórico e prático dos modelos de computação orientados para arquiteturas paralelas e distribuídas. Será dada ênfase ao desenvolvimento de competências de programação para memória distribuída com o MPI, e de programação em memória partilhada com processos, threads e OpenMP.

Resultados de aprendizagem e competências

Ao completarem esta unidade curricular, os estudantes deverão ser capazes de:

  • conhecer os principais modelos, paradigmas, ambientes e ferramentas de programação paralela
  • entender e aferir conceitos relativos à estrutura, funcionamento e desempenho de programas paralelos
  • formular soluções nos principais paradigmas de programação paralela, nomeadamente MPI, Pthreads e OpenMP

Modo de trabalho

Presencial

Programa

Fundamentos:
Programação paralela, concorrência e paralelismo. Taxonomia de Flynn. Metodologia de Foster. Medidas de speedup e eficiência. Lei de Amdahl. Lei de Gustafson-Barsis. Métrica de Karp-Flatt.

Programação em Memória Distribuída:
A especificação MPI, troca explícita de mensagens, protocolos de comunicação, tipos derivados, empacotamento de dados, comunicações coletivas, comunicadores, topologias.

Programação em Memória Partilhada:
Processos, segmentos de memória partilhada, mapeamento de ficheiros em memória partilhada, spinlocks, semáforos. Processos multithreaded com o Pthreads, mutexs, variáveis de condição, chaves, implementações do Pthreads. A especificação OpenMP, diretivas de compilação, construtores de work-sharing e de sincronização, funções básicas, variáveis de ambiente, remoção de dependências nos dados, desempenho, combinando o OpenMP com o MPI.

Algoritmos:
Paralelização de algoritmos. Estratégias de escalonamento e balanceamento de carga.

Bibliografia Obrigatória

P. Pacheco.; Parallel Programming with MPI, Morgan Kaufmann
Michael J. Quinn; Parallel Programming in C with MPI and OPenMP, McGraw-Hill.
M. Mitchell, J. Oldham and A. Samuel; Advanced Linux Programming, New Riders
B. Nichols, D. Buttlar and J.P. Farrell; Pthreads Programming, O'Reilly
R. Chandra, L. Dagum, D. Kohr, D. Maydan, J. McDonald and R. Menon; Parallel Programming in OpenMP, Morgan Kaufmann
B. Wilkinson, M. Allen.; Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers , Prentice Hall.

Métodos de ensino e atividades de aprendizagem

Exposição e discussão dos conceitos sobre modelos de programação paralela e distribuída; resolução de exercícios e apoio no desenvolvimento de trabalhos práticos de programação ilustrativos dos vários modelos de programação paralela.

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 70,00
Trabalho laboratorial 30,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 70,00
Frequência das aulas 42,00
Trabalho laboratorial 50,00
Total: 162,00

Obtenção de frequência

N/A

Fórmula de cálculo da classificação final

A avaliação dos alunos faz-se por realização de 2 trabalhos práticos e de um exame final escrito. Cada trabalho prático terá um peso total de 3 em 20 valores na classificação final da unidade curricular e o exame final escrito terá um peso de 14 em 20 valores na classificação final da unidade curricular. A classificação mínima no exame é de 40%.

Melhoria de classificação

A melhoria de classificação incide apenas sobre o exame final.

Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2024-11-09 às 07:00:03 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias