Sobre esta disciplina

Período: Eletivas (optativas) · Núcleo: Básico · Carga Horária: 60h Tópicos: Arquiteturas paralelas. Modelos, ferramentas e ambientes de computação paralela e distribuída. Tópicos emergentes em computação paralela e distribuída.

CampoValor
CódigoCSECBJI.86
NúcleoBásico
Carga Horária60
PeríodoEletivas (optativas)
Pré-requisitosCSECBJI.86 - Algoritmos Distribuídos

📋 Ementa

Arquiteturas paralelas. Modelos, ferramentas e ambientes de computação paralela e distribuída. Tópicos emergentes em computação paralela e distribuída.

🎯 Objetivos

  • Prover conhecimento e experiência em programação paralela para o desenvolvimento de software que tenha como requisito a sua execução em um ambiente paralelo e distribuído.

📖 Conteúdo Programático

  1. Sistemas de Trocas de Mensagens
  2. Processadores de Comunicação
  3. Alocação de Processadores
  4. Modelos Síncrono e Assíncrono de Computação
  5. Computações em Sistemas Anônimos
  • Limitações Intrínsecas
  • Noções de conhecimento em sistemas distribuídos
  1. Modelos de Computação
  • Eventos, ordem e estados globais
  • A complexidade de computações distribuídas
  1. Algoritmos Básicos
  • Propagação de Informação
  • Algoritmos simples sobre grafos
  • i. Teste de conectividade
  • ii. Distâncias mais curtas
  1. Técnicas Básicas
  • Eleição de líder
  • Gravação de estados globais
  • Sincronização de redes
  1. Introdução à Alto-Estabilização
  • Detecção de Terminação
  • Detecção de Deadlocks
  1. Outros Algoritmos sobre Grafos
  • Árvores geradoras mínimas
  • Fluxos em redes
  1. Compartilhamento de Recursos
  • Algoritmos de exclusão mútua
  • Dinning Philosopers
  • Drinking Philosopers

📕 Bibliografia Básica

  1. COLOURIS, G., DOLLIMORE, J., KINDBERG, T. Sistemas Distribuídos: Conceitos e Projeto. 4ª Edição.
  2. Porto Alegre: Bookman, 2007.
  3. STEVENS, W. R., FENNER, B., RUDOFF, A. M. Programação de Rede Unix: API para Soquetes de Rede. Porto Alegre: Booknan, 2005.
  4. TANENBAUM, A. S., VAN STEEN, M. Sistemas Distribuídos: Princípios e Paradigmas. 2ª Edição. São Paulo: Pearson, 2007.

📗 Bibliografia Complementar

  1. CORMEN, T. H., LEISERSON, C. E., RIVEST, R. L., STEIN, C. Algoritmos: Teoria e Prática. 3ª Edição. São Paulo: Elsevier, 2012.
  2. KUROSE, J., ROSS, K. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 6ª Edição.
  3. Pearson, 2013.
  4. RHODES, B.
  5. GOERZEN, J. Programação de Redes com Python: Guia Abrangente de Programação e Gerenciamento de Redes com Python 3. São Paulo: Novatec, 2015.
  6. TANENBAUM, A. S. Sistemas Operacionais Modernos. 4ª Edição. Pearson, 2015.
  7. TANENBAUM, A. S., WOODHULL, A. S. Sistemas Operacionais: Projeto e Implementação. 3ª Edição.
  8. Porto Alegre: Bookman, 2018.