Moodle da disciplina programação paralela e distribuída do Prof. Alfredo Goldman.

Nas 4ª(s) 10h00 - 12h00 Sala 139, Bloco B. - Nas 6ª(s) 8h00 - 10h00 Sala 143, Bloco B.

Objetivos:

Este curso aborda diversos tópicos de paralelismo e sistemas distribuídos, a fim de dar uma visão geral dessas áreas. O principal objetivo é o de familiarizar o aluno com os conceitos e termos básicos, apresentar os tipos de arquitetura mais usados, descrever o suporte necessário para a programação de tais sistemas, e apresentar algumas aplicações. Definir modelos de computação e estudar suas relações com classes de linguagens.

Justificativa:

A computação paralela e distribuída continua apresentado uma grande evolução, principalmente devido à: um aumento considerável no nível de paralelismo disponível em quase todos os computadores atuais, a crescente necessidade de mais poder de processamento por diversas aplicações, e na cada vez mais comum interligação entre sistemas e máquinas. Devido a sua crescente influência sobre diversas áreas da computação, é muito importante se estudar as características do hardware e software de tais sistemas, bem como a de conhecer os princípios e conceitos básicos pertinentes ao processamento paralelo e distribuído.

Conteúdo:

Objetivos gerais da computação paralela e distribuída; problemas e conceitos básicos; tipos e granularidades de paralelismo; arquiteturas de sistemas paralelos e distribuídos; topologias de interconexão; protocolos de comunicação; mecanismos de comunicação e sincronização; linguagens e sistemas de programação; algoritmos paralelos e distribuídos; aplicações.

Bibliografia:

1. Andrew S. Tanenbaum, Herbert Bos. Modern Operating Systems. Pearson Education, 2014; 
2. Andrew S. Tanenbaum, Todd Austin. Structured Computer Organization. Pearson Education, 2014; 
3. Gregory R. Andrews. Foundations of Multhreaded, Parallel, and Distributed Programming, 
Addison Wesley, 1999; 
4. Mordechai Ben-Ari. Principles of Concurrent and Distributed Programming (2nd edition), 2006; 
5. OpenMP. The OpenMP API Specification for Parallel Programming, http://openmp.org 
6. Alfredo Goldman, Fabio Kon, Francisco P. Junior, Ivanilton Polato, Rosangela de Fátima Pereira. 
7. Apache Hadoop: conceitos teóricos e práticos, evolução e novas possibilidades. In Anais do XXXII Congresso da Sociedade Brasileira de Computação, XXXI Jornadas de Atualização em Informática (JAI) (July 2012) Key: citeulike:11487860