INF2056: Algoritmos Distribuídos

INF1807 - Tópicos em Engenharia de Computação (Optativa Graduação)

2as. feiras, 10-13 hs
Sala: (a ser definida)

Prof. Markus Endler
Sala RDC 503
endler@inf.puc-rio.br
www.inf.puc-rio.br/~endler/courses/DA

Objetivo

O objetivo desta disciplina é apresentar alguns algorítmos fundamentais usados em sistemas distribuídos, os modelos de sistema assumidos para estes algorítmos e considerações práticas para a implementação dos mesmos. Além de conhecerem os conceitos teóricos, os alunos deverão obter experiência prática com a implementação de alguns algorítmos.

Tópicos

  1. Modelos de Sistemas Distribuídos
  2. Causalidade e Relógios Lógicos
  3. Formas de Comunicação
  4. Exclusão Mútua Distribuída
  5. Eleição de Coordenador
  6. Problemas de Acordo Distribuído
  7. Algoritmo de Snapshot
  8. Modelo de uma Execução Distribuída e Estados Globais
  9. Avaliação de Predicados Globais
  10. Multicast Confiável e Gerência de Grupos
  11. Seminários apresentados pelos alunos (Relação dos Assuntos apresentados nos anos anteriores)

Bibliografia Principal

  1. A. Kshemkalyani and M. Singhal, Distributed Computing: Principles, Algorithms and Systems,, Cambridge University Press, 2008
  2. R.Chow and T.Johnson, Distributed Operating Systems and Algorithms, (Capítulos 9 a 12), Addison Wesley, 97
  3. G. Coulouris, J. Dollimore and T. Kindberg, Distributed Systems: Concepts and Design, (Capítulos 2, 10,11 e 14), Addison Wesley, 3rd Edition, 2001.

Bibliografia complementar

  1. Pankaj Jalote, Fault Tolerance in Distributed Systems, Prentice Hall, 1994.
  2. Michel Raynal, Distributed Algorithms and Protocols , John Wiley & Sons, 1988.
  3. Sape Mullender, Distributed Systems, Addison Wesley, 1992 (Capítulos 2, 4, 5)
  4. Nancy Lynch, Distributed Algorithms , Morgan Kaufmann Publ., 1996.
  5. Artigos avulsos, como: Survey and Comparison of Peer-to-Peer Overlay Network Schemes
    Outros artigos sobre Algoritmos Distribuidos e Cloud computing aqui

Pré-requisitos

Trabalhos

Haverá dois trabalhos de implementação, nos quais o aluno deverá implementar alguns algorítmos distribuídos uando o framework e simulador: Sinalgo , desenvolvido na ETH Zurich. Veja o tutorial do Sinalgo.

Notas

Transparências

Aqui voce encontra as transparências da disciplina.

Artigos e outros Ponteiros