Computação em Larga Escala › 40753

código no paco
40753
área científica
Informática
créditos
6
escolaridade
ensino teórico-prático (TP) - 3 horas/semana
idioma(s) de lecionação
a inserir brevemente
objectivos

Esta disciplina pretende dotar os alunos com os conhecimentos relacionados com os princípios e a utilização de computação em Cloud, computação paralela e em GPU. Os objectivos principais são:
- aprender os fundamentos de várias estratégias para resolver problemas que necessitam de computação em larga escala.
- adquirir competências para perceber os conceitos mais gerais relacionados com a Cloud, como a Virtualização,
- contacto com tecnologias actuais de computação na Cloud de modo a poderem desenvolver pequenos projectos.
- familiarização com os conceitos fundamentais de Passagem de Passagens e Memória Partilhada,
- utilização das tecnologias mais usadas em computação paralela.
- adquirir competências para perceber o modelo de programação e melhorias de desempenho que se podem obter através da utilização de GPUs para computação geral e para o desenvolvimento de programas simples de utilização de CUDA.

conteúdos

Introdução à Computação de Alto Desempenho
High Throughput Computing/ High Performance Computing
Arquitecturas Paralelas
Modelos de Paralelização
Computação na Cloud
Introdução
Virtualização
Armazenamento Distribuído
Modelos de Programação para Cloud
Casos de Estudo
Programação Paralela
Passagem de Mensagens
Memória Partilhada
Algoritmos Paralelos
Tecnologias para programação paralela
Computação em GPU
Arquitectura de GPUs
Modelo de Programação
Linguagem CUDA

avaliação

A avaliação será realizada através de 1 (ou 2) exames teóricos e de 3 trabalhos práticos. As componentes teórica e prática terão um peso de 50%, cada uma, na nota final.

metodologia

As aulas terão uma componente expositiva mas também trabalhos práticos que permitem a utilização e consolidação dos conhecimentos adquiridos e o conhecimento das tecnologias actuais da computação em Cloud, paralela e em GPU.

bibliografia recomendada

Kenneth Birman, Guide to reliable distributed systems, Springer, 2012
David B. Kirk, Wen-mei W. Hwu, Programming Massively Parallel Processors, Morgan Kaufmann, 2010
Tom White, Hadoop: The Definitive Guide, O'Reilly Media, 2009
P. Pacheco, An Introduction to Parallel Programming. Elsevier Science, 2011.
Thomas Rauber, Gudula Rünger. Parallel Programming for Multicore and Cluster Systems, 2nd ed., Springer, 2012
Michael J. Quinn; Parallel Programming in C with MPI and OPenMP, McGraw-Hill. 2003

Este sítio web utiliza cookies sem recolher informação pessoal que permita a identificação dos utilizadores. Ao navegar neste sítio está a consentir a sua utilização.saber mais
Para que esta página funcione corretamente deve ativar a execução de Javascript. Se tal não for possível, algumas funcionalidades poderão estar limitadas.