Código: | PDEEC0041 | Sigla: | GC |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Engenharia Eletrotécnica e de Computadores |
Ativa? | Sim |
Unidade Responsável: | Departamento de Engenharia Informática |
Curso/CE Responsável: | Programa Doutoral em Engenharia Electrotécnica e de Computadores |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
PDEEC | 0 | Plano de estudos oficial | 1 | - | 6 | 42 | 162 |
Docente | Responsabilidade |
---|---|
António Miguel Pontes Pimenta Monteiro | Regente |
Teóricas: | 3,00 |
Tipo | Docente | Turmas | Horas |
---|---|---|---|
Teóricas | Totais | 1 | 3,00 |
António Miguel Pontes Pimenta Monteiro | 3,00 |
Objetivos:
Aquisição de conhecimentos para o desenvolvimento de software usando programação paralela e distribuída em infraestruturas de alto desempenho, 'cloud' e 'grid'. Construção de bases sólidas em arquiteturas paralelas, paralelização de algoritmos, modelos de programação, sincronização de processos e medidas de desempenho, por meio de desenvolvimento de programas e utilização de interfaces apropriadas para programação paralela. Caracterização do ambiente distribuído em 'grid' e especificação de modelos de desenvolvimento adequados. Caracterização de outros ambientes para a disponibilização de recursos de alto desempenho em ambiente internet, nomeadamente a 'cloud'.
Aptidões e Competências:
Conceção e desenvolvimento de algoritmos e software de execução paralela, utilizando a metodologia de Foster.
Utilização de técnicas de distribuição para ambientes grid e cloud.
Exploração em cluster, grid e cloud do software desenvolvido.
Computação em geral.
Conhecimento de programação em C/C++ para os trabalhos.
1. Programação Paralela
Introdução à programação paralela, arquitectura de computadores, processadores, organização de memória e redes de interligação.
Fundamentos de programação paralela: paradigma canal/tarefa, padrões de comunicação, sincronização, granularidade e escalonamento.
Programação com MPI e OpenMP.
Caracterização da computação paralela: modelos de execução, modelos de programação, modelos de computação, medidas de desempenho e eficiência, analise de escalabilidade.
2. Computação distribuída
Grid computing:
Modelos de Grid computing: generic grid, utility grid and desktop grid.
Evolução do middleware: metacomputing (ex: Condor), resource-oriented (ex: Globus 3) e service-oriented (ex: Globus 4).
Segurança: autenticação, integridade de dados e encriptação, autorização.
Utilização de tecnologias GRID.
Outros modelos de computação distribuída:
Cloud Computing
Peer-to-peer computing
Exposição das matérias programáticas com apresentação e discussão de exemplos.
Resolução e discussão de problemas, incluindo o desenvolvimento de algum software.
Designação | Peso (%) |
---|---|
Trabalho escrito | 40,00 |
Trabalho laboratorial | 60,00 |
Total: | 100,00 |
Designação | Tempo (Horas) |
---|---|
Estudo autónomo | 40,00 |
Frequência das aulas | 42,00 |
Trabalho de investigação | 50,00 |
Trabalho laboratorial | 70,00 |
Total: | 202,00 |
Realizar, entregar e apresentar os trabalhos da unidade curricular.
60% trabalho de programação + 40% monografia
ou 2 trabalhos de desenvolvimento com discussão de resultados (100%)
A avaliação distribuída é baseada na realização de trabalhos de programação e monografia, e é exigida a todos os alunos independentemente do regime de inscrição.
A melhoria da classificação obtida na componente distribuída pode ser realizada nas épocas de realização de trabalhos da disciplina (novas instâncias da UC).