PGC307B Tóp. Esp. em Sistemas de Computação 1 – Pérolas da Computação Distribuída

 

EMENTA

DISCIPLINA: TÓPICOS ESPECIAIS EM SISTEMAS DE COMPUTAÇÃO 1: PÉROLAS DA COMPUTAÇÃO DISTRIBUÍDA

CÓDIGO: PGC307B

CARGA HORÁRIA: 90H

CRÉDITOS: 5

OBJETIVOS GERAIS DA DISCIPLINA:

Oferecer aos alunos uma visão geral de algoritmos distribuídos clássicos para uma vasta gama de problemas comuns no desenvolvimento de sistemas distribuídos. Apresentar cálculos de complexidade simples dos algoritmos, permitindo que se discutam trade-offs das diversas abordagens. Prover aos alunos uma biblioteca inicial de ferramentas para se resolver desafios no desenvolvimento de sistemas distribuídos reais.

EMENTA DO PROGRAMA:

Introdução à área de computação distribuída, com estudo de diversos algoritmos clássicos, incluído provas e análises de complexidade, descritos no programa.

DESCRIÇÃO DO PROGRAMA:

  1. Introdução
  2. Modelos computacionais para computação distribuída,
  3. Relógios lógicos
  4.  Algoritmos de snapshot
  5. Algoritmos de Wave
  6.  Algoritmos de travessia
  7.  Algoritmos de construção de árvores
  8. Algoritmos de detecção de deadlock
  9. Algoritmos de detecção de terminação
  10.  Algoritmos de coleta de lixo
  11. Algoritmos de roteamento
  12. Algoritmos de eleição de líderes
  13.  Impossibilidade de eleição em anéis anônimos
  14.  Algoritmos probabilísticos: Las Vegas e Monte Carlo
  15.  Tolerância a Falhas e Consenso
  16.  Impossibilidades de consenso
  17. Detectores de falhas imperfeitos
  18. Sincronização de relógios

BIBLIOGRAFIA:

1. Wan Fokkink. Distributed Algorithms: An Intuitive Approach. MIT Press, 2013.
2. Nancy Lynch. Distributed Algorithms. Morgan Kaufmann, 1996