Disciplina Discipline MAC5742
Introdução à Computação Paralela e Distribuída

Introduction to Parallel and Distributed Computing

Área de Concentração: 45134

Concentration area: 45134

Criação: 13/12/2019

Creation: 13/12/2019

Ativação: 13/12/2019

Activation: 13/12/2019

Nr. de Créditos: 8

Credits: 8

Carga Horária:

Workload:

Teórica

(por semana)

Theory

(weekly)

Prática

(por semana)

Practice

(weekly)

Estudos

(por semana)

Study

(weekly)

Duração Duration Total Total
4 2 4 12 semanas 12 weeks 120 horas 120 hours

Docentes Responsáveis:

Professors:

Alfredo Goldman Vel Lejbman

Marco Dimas Gubitoso

Daniel Macedo Batista

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.

Forma de Avaliação:

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

Tipo de oferecimento da disciplina:

Presencial

Class type:

Presencial