Sistemas Distribuídos (28h)
Professor: Allan Edgard Silva Freitas
Ementa
Conceitos Fundamentais de Sistemas Distribuídos; Comunicação em Sistemas Distribuídos; Sincronização em Sistemas Distribuídos.
Objetivos Gerais
Apresentar os principais tópicos relacionados a Sistemas Distribuídos, viabilizando o entendimento do funcionamento destes sistemas e suas principais características.
Objetivos Específicos
Habilitar o aluno a desenvolver uma aplicação simples, de forma distribuída, utilizando os conceitos e ferramentas discutidos na disciplina.
Cronograma Previsto*:
Aula 1: Revisão de Processos. Multithreading. Exclusão Mútua. Problema Produtor-Consumidor em Java. Introdução aos Sistemas Distribuídos: Características.
Aula 2: Aspectos de Projeto. Comunicação IPC: Sockets, RPC e RMI.
Aula 3: Modelos Temporais de Sistemas Distribuídos: Síncrono. Assíncrono. Híbridos. Modelos de Falhas. - Requisito: Leitura do artigo (2).
Aula 4: Modelos de Sistemas. Tempo (Sincronização de Relógios e Relógios Virtuais) e Estados Globais - Requisito: Leitura do artigo (1).
Aula 5: Tempo e Estados Globais. Replicação. Comunicação em Grupo. - Requisito: Leitura dos artigos (5), (4) e (3), nesta ordem.
Aula 6: Estudo de Caso: Amoeba e PGC. Difusão Atômica. Detectores de Defeitos. Eleição de Líderes. Consenso Síncrono. Consenso Assíncrono.
Aula 7: Prova.
Aula 8: Apresentação de Seminários.
* Tanto o conteúdo quanto as datas podem ser alterados.
Entregáveis:
1) Resenha de 1 artigo dentre os disponíveis no link (definido por sorteio para cada trio)
2) Seminário sobre a resenha apresentada.
3) Prova (individual)
Nota = 60% Prova + 20% Resenha + 20% Apresentação
Artigos:
1) LAMPORT, Leslie. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21 (7), pp. 558-565, July 1978. (Exceto o apêndice e as provas).
2) DWORK, Cynthia; LYNCH, Nancy; STOCKMEYER, Larry. Consensus in the presence of partial synchrony. Journal of the ACM, 35 (2), pp. 288 - 323, April 1988. (Estudo apenas da definição de modelos síncronos e assíncronos e de 4 propostas de sincronia parcial)
3) CRISTIAN, Flaviu. Agreeing on who is present and who is absent in a synchronous distributed system. Fault-Tolerant Computing, 1988. FTCS-18, Digest of Papers., Eighteenth International Symposium on, pp. 206 - 211, June 1988. (Definição do Modelo Síncrono e de como utilizar a informação da sincronia para manter um protocolo de comunicação em grupo).
4) KAASHOEK, M. Frans; TANENBAUM, Andrew S. Group communication in the Amoeba distributed operating system. Distributed Computing Systems, 1991., 11th International Conference on, pp. 222 - 230, May 1991. (Descrição de um protocolo de comunicação em grupo baseado em sequenciador).
5) DEFAGO, Xavier; SCHIPER, André. Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Computing Surveys, 36 (4), pp. 372 - 421, December 2004. (Exceto a parte específica dos protocolos de comunicação em grupo existentes)
Método:
Curso teórico. Quadro e uso de slides (esporádico).