Código: | PRODEI021 | Sigla: | REDAI |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Arquitecturas de Comp., Sist. Operativos e Redes |
Ativa? | Sim |
Unidade Responsável: | Departamento de Engenharia Informática |
Curso/CE Responsável: | Programa Doutoral em Engenharia Informática |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
PRODEI | 2 | Plano de estudos Oficial | 1 | - | 6 | 28 | 162 |
Objetivos:
Aquisição de conhecimentos para o desenvolvimento de software utilizando 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, arquitetura 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, análise 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 | 60,00 |
Trabalho laboratorial | 40,00 |
Total: | 100,00 |
Designação | Tempo (Horas) |
---|---|
Estudo autónomo | 30,00 |
Frequência das aulas | 42,00 |
Trabalho de investigação | 38,00 |
Trabalho laboratorial | 52,00 |
Total: | 162,00 |
Realizar, entregar e apresentar os trabalhos da unidade curricular.
60% trabalho de programação + 40% de uma monografia de pesquisa
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 práticos da disciplina.