Programação Distribuída e Paralela
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Programação |
Ocorrência: 2006/2007 - 2S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Módulo de Programação Paralela:
Aquisição de conhecimentos úteis para desenvolver programação paralela. Construção de bases sólidas em arquitecturas 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.
Módulo de Programação Distribuída:
Introdução à programação distribuída em ambiente GRID. Familiarizar os alunos com os problemas associados à segurança e acesso reservado aos dados. Aspectos relacionados com a gestão de dados como, partilha, transferência, replicação, caching e catalogação.
Programa
Módulo de Programação Paralela
Introdução:
Programação Distribuída e Paralelismo, Maquinas Paralelas, Processadores, Organização de Memória
Fundamentos da Programação Paralela:
Divisão do Problema, Padrões de comunicação, Sincronização, Granularidade da paralelização, Escalonamento(distribuição do trabalho pelos processadores)
Programação de multi-computadores:
Introdução ao PVM, 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 Eficiencia, Expansibilidade (Função de Isoeficiência)
Módulo de Algoritmos Distribuídos
a) Intodução ao Grid Computing: Fundamentos, conceitos e componentes (arquitectura, middleware); aspectos administrativos. Grid standards: OGSA/OGSI.
b) Grid Middleware
Software de exploração: exemplos do Globus e Open Grid Services Architecture.
Segurança: requisitos e soluções para autenticação, gestão de contas, segurança de dados, em meios multi-organizacionais.
Escalonamento e gestão de recursos: problemas de escalonamento com base nos requisitos e características dos trabalhos, bem como da disponibilidade dos recursos.
Gestão de dados: aspectos da gestão de dados como, partilha, transferência, replicação, caching e catalogação.
c) Desenvolvimento de aplicações para ambiente GRID.
d) Portais para Grid Computing
Acesso ao Grid Computing facilitado por meio de portais para aplicações específicas.
Bibliografia Obrigatória
M. J. Quinn; Parallel Programming in C with MPI and OpenMP, McGraw-Hill, 2003. ISBN: 007-123265-6
Bibliografia Complementar
Foster, Ian T.;
Designing and building parallel programs. ISBN: 0-201-57594-9
Métodos de ensino e atividades de aprendizagem
Exposição das matérias programáticas com apresentação e discussão de exemplos, incluindo o desenvolvimento de alguns programas.
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Aulas da disciplina (estimativa) |
Participação presencial |
|
|
|
|
Total: |
- |
0,00 |
|
Obtenção de frequência
Não exceder o número limite de faltas, quando aplicável, e obter um mínimo de 6 valores em 20 na avaliação distribuída.
Fórmula de cálculo da classificação final
Nota Final = 0.4*AvD + 0.6*Ex
AvD – Avaliação Distribuída
Ex – Nota do exame
A Avaliação Distribuída é obtida por 2 trabalhos práticos, com peso de 50% para cada um.
Para obter aprovação é exigido um mínimo de 6 valores em 20 no exame final.
Avaliação especial (TE, DA, ...)
A avaliação distribuída é baseada na realização de trabalhos de programação, e é exigida a todos os alunos independentemente do regime de inscrição.
Melhoria de classificaçã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.
Observações
Conhecimento de Linguagem C/C++