Disciplina do Mestrado/Doutorado em Informática e Optativa do Bacharelado em Ciência da Computação
Prof. Elias P. Duarte Jr.
 
 
Departamento de Informática
 
 
UFPR
| Disciplina CI721 (Mestrado/Doutorado) e CI088 (Optativa Bacharelado em Ciência da Computação) |
| Segundo semestre de 2011: disciplina oferecida como optativa do Bacharelado em Ciência da Computação. |
Horário: Terças 19:00, Sextas, 19:00, sala PC01
Prova 1: 22 de novembro de 2011 (na hora da aula, na sala de aula)
Prova 2: 20 de dezembro de 2011 (na hora da aula, na sala de aula)
(Os alunos estão convidados a ver as provas corrigidas na semana de estudos que antecede as finais.)
Avaliação: 2 provas de 40 pontos cada; 1 trabalho prático de 20 pontos.
| O Trabalho Prático: Implementação de um Algoritmo Distribuído Utilizando Simulação |
Os trabalhos serão corrigidos a partir de 21/10/2011
Implemente o algoritmo Adaptive-DSD. Ao invés de utilizar o vetor Tested-UP[], use um vetor State[0..N-1]: uma entrada State[i] deste vetor é -1 se o estado do nodo i é desconhecido; 0 se o nodo i é sem-falha; 1 se o nodo i é falho. Um nodo que inicializa desconhece o estado de todos os outros, menos o seu próprio estado. Na medida em que testes são executados todos os nodos descobrem o estado dos demais.
Simule a execução de um evento: um nodo sem-falha fica falho, ou vice-versa. Repita para diversos tamanhos de sistema e eventos diferentes. Em cada caso mostre: (a) a latência, isto é tempo desde a ocorrência do evento até todos os nodos completarem seu diagnóstico; (b) o número de testes executados por todos os nodos durante o intervalo da latência.
ATENÇÃO: Na página do trabalho devem se colocados os códigos (não precisa de resultados etc,
quero ver só o código destas etapas intermediárias das 3 tarefas da aula prática:
Deve ser feita uma página Web, que contém:
Mestrado em Informática: o pré-requisito para a disciplina do Mestrado, Sistemas Distribuídos
(CI721), é o aluno ter domínio de Programação de Computadores, com as
linguagens C, C++ ou Java.
Bacharelado em Ciência da Computação: A disciplina Redes de Computadores II (CI061) é Pré-Requisito obrigatório
para o aluno poder se matricular em Tópicos em Sistemas Distribuídos
(CI088).
Esta é uma disciplina com ênfase em algoritmos distribuídos clássicos &
tolerância a falhas. Os tópicos cobertos em cada semestre incluem:
smpl.c
 
 
 
 
smpl.h
 
 
 
 
rand.c
 
 
 
 
makefile
Não há um único livro texto para esta disciplina. Alguns dos tópicos
aparecem no livro abaixo (ainda que com enfoque diferente). Este livro
está disponível para os alunos fazerem download na Biblioteca
da UFPR
R. Guerraoui, L. Rodrigues, Introduction to Reliable Distributed Programming, Springer, 2006.
Alguns dos artigos importantes neste semestre serão listados neste espaço, aguardem!
Informações
sobre a Disciplina Sistemas Distribuídos
Pré-Requisitos
Programa
Biblioteca
SMPL
Simulation Programming Language - Biblioteca C, C++ para Simulação
baseada em Eventos Discretos
hipercubo.c
 
 
 
 
cisj.c
Referências
UFPR  
Departamento de Informática  
Prof. Elias P. Duarte Jr.
Última
Modificação: 2 de julho de 2011