MC714 - Sistemas Distribuídos
Exame
Notas do exame.
Veja o enunciado da Prova 1 e Prova 2.
Veja a tabela com todas as notas do semestre, conforme o plano de desenvolvimento da disciplina. Veja também as notas finais do semestre.
Confira no plano de desenvolvimento da
disciplina detalhes sobre o programa a ser seguido e os
critérios de aprovação.
Prova 2
Tópicos:
- Transações atômicas distribuídas
- Protocolos de efetivaçã em duas e três fases;
- Teorema CAP (Consistency, Availability e Partition-Tolerance)
- Noções sobre modelos mais fracos de consistêa
- Noções sobre estrutura do log
- Consenso em sistemas distribuídos
- Tipos de falhas: link, processo, bizantinas
- Algoritmo para caso sem falhas
- Algoritmo para caso com falhas de processo
- Algoritmos para falhas bizantinas
- Replicação em sistemas distribuídos
- Algoritmo de Paxos
- Estudo de caso: ZooKeeper
- Como oferecer um serviço genérico para
coordenação distribuída
- Disponibilidade e tolerância a falhas
- Sistemas de arquivos distribuídos
- Estudo de caso: Hadoop e MapReduce
Prova 1: Veja as notas
Sugestões para leitura complementar:
Seminários
Já escolheram os temas???
Está aberta uma wiki no Moodle
para o agendamento de datas dos seminários. Quem apresentar
antes receberá mais nota! :-)
- 11 de junho (nota * 1,10)
- 16 de junho (nota * 1,08)
- 18 de junho (nota * 1,06)
- 23 de junho (nota * 1,04)
- 25 de junho (nota * 1,02)
- 30 de junho (nota * 1,00)
A apresentaço de cada grupo deve durar cerca de 30
minutos. Todos os integrantes do grupo deverão se identificar e
apresentar conteúdo.
Exercícios para entrega
Exercício 3
- Opção 1: Pesquisem uma variação ou otimização
do algoritmo de Paxos, explique o seu funcionamento e compare com o algoritmo original.
- Opção 2: Pesquise uma aplicação do algoritmo de Paxos (ou uma variante dele) em um sistema como o Chubby do Google. Neste caso você deverá descrever a arquitetura do sistema e a função do Paxos para o funcionamento deste sistema.
- Não se esqueç de colocar as referências no seu trabalho.
- Formato: arquivo .pdf (3 a 6 páginas)
- Data de entrega: 28 de maio
- Grupos de no máximo 4 pessoas.
- A entrega será via Moodle. Apenas uma pessoa do grupo precisa entregar. O arquivo deve conter o nome dos integrantes do grupo.
Exercício 2
- Utilizando como base a implementação IPC
fornecida abaixo faça uma implementação de um
dos algoritmos distribuídos vistos em sala
(eleição de líder, exclusão
mútua, broadcast confiável e/ou ordenado,
snapshot, reset distribuído, ...).
- Faça uma saída criativa que demonstre a
execução. A saída pode ser gráfica ou
texto simples. O uso de um processo monitor é opcional.
- Data de entrega: 23 de abril
- Grupos que entregarem até o dia da prova 1
receberão bõnus de até 1,0 ponto na nota desta
prova.
- A entrega será
via Moodle. Apenas
uma pessoa do grupo precisa entregar. O arquivo deve conter o nome dos
integrantes do grupo. Veja na descrição da tarefa mais
detalhes sobre os arquivos a serem submetidos.
Exercício 1
- Pesquisem um método de busca/compartilhamento em redes peer-to-peer que não tenha sido visto em sala de aula e
- comparem com outro que já tenha sido apresentado.
- Formato: arquivo .pdf (3 a 6 páginas)
- Data de entrega: 31 de março
- Grupos de no máximo 4 pessoas.
- A entrega será via Moodle. Apenas uma pessoa do grupo precisa entregar. O arquivo deve conter o nome dos integrantes do grupo.
Implementação utilizando IPC
Os mecanismos providos pelo IPC (System V interprocess communication)
permite simultar um sistema distribuído em uma única
máquina de maneira muito simples. A comunicação
é feita via filas persistentes (queues) que são
gerenciadas pelo sistema operacional por meio de chaves únicas.
- basic
Exemplos básicos de uso de IPC. Operações msgrcv e msgsnd.
- broadcast Sistema distribuído com comunicação via broadcast simples.
- lamport Sistema distribuído com propagação de relógios lógicos de Lamport.
- vc Sistema distribuído com propagação de vetores de relógios.
- vc-monitor Sistema distribuído com propagação de vetores de relógios e monitorização.
Pacote com todos os arquivos ipc.tgz
Aulas