MC714 - Sistemas Distribuídos
Primeiro semestre de 2014 - Turmas A e B
Prof. Ricardo Anido
Sala 37, prédio IC-1
1) Notas de Aulas
- Introdução
- Introdução a algoritmos distribuídos
- Arquiteturas de sistemas distribuídos
- Processos
- Comunicação, Exemplo de RPC em C,
- Modelo Síncrono
- Exemplo de algoritmo no modelo síncrono: eleição em anel
- Nomeação
- Sincronização, (Sincronização, slides em inglês)
- Exclusão Mútua, Exclusão Mútua (cont.)
- Eleição
- Replicação (slides em inglês), Mais replicação
- Tolerância a Falhas (slides em inglês), Consenso distribuído
- Algoritmo Paxos para consenso distribuído, Artigo: Paxos Made Live (implementação Google), Exemplo
- Comunicação Confiável, Protocolo para Multicast com Ordem Total, Protocolos para Multicast com Ordem Causal
2) Listas de exercícios
2a) Testes
3) Avaliação
Haverá duas provas P1 e P2, com pesos respectivamente 3 e 4 na avaliação:
- P1: 10/4 (quinta-feira)
- P2: 10/6 (terça-feira)
- Exame: 10/7 (quinta-feira)
Haverá também uma série de pequenos testes durante as aulas, cuja média MT
terá peso 3 na avaliação.
A Nota Final será a média ponderada das provas e testes: NF = (3xP1 + 4xP2 + 3xMT)/10.
Notas
4) Programa da Disciplina
- Sistema Distribuído
- Definição, objetivos.
- Arquiteturas de software e hardware.
- Arq. de Software. Estilos arquiteturais: camada, objetos, eventos, dados compartilhados.
- Arquiteturas de sistemas: cliente-servidor (generalização), P2P (estruturada, não estruturada, hibrída).
- Middleware X Arquiteturas.
- Programação distribuída versus programação concorrente.
- Modelos de Computação distribuída: processos, comunicação.
- Virtualização: conceito e discussão do Xen.
- Comunicação entre processos
- chamada de procedimento remoto.
- troca de mensagens.
- Coordenação
- tempo, causalidade, concorrência;
- consistência, estados globais consistentes;
- tolerância a falhas: RPC;
- exclusão mútua;
- eleição de líder;
- Replicação
- consistência
- passiva, ativa
- grupos de processos.
- Nomes
- Sistemas de Arquivos
- Tolerância a falhas
- distributed commit: 2pc, 3pc
- recovery: checkpoint/restart, message logging, ROC.
- Segurança
5) Bibliografia
- [texto principal] Distributed Systems: Principles and Paradigms.
Andrew S. Tanenbaum,
Maarten Van Steen. Editora Pearson
Sítio dos Profs. Tanenbaum e van Steen (Distributed Systems):
transparências, programas, soluções de exercícios, etc.
- Distributed Systems: Concepts and Design.
George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair. Editora Addison Wesley
Sítio dos Profs. Coulouris, Dollimore e Kindberg (Distributed Systems):
transparências, programas, soluções de exercícos, etc.
- MIT OpenCourseWare, curso da Profa. Lynch:
ênfase em algoritmos distribuídos (teoria).