1s2013
RA |
Nome |
Fase 1 |
Fase 2 |
Fase 3 |
Fase 4 |
Fase 5 |
Nota |
15585 |
Bruno Marques Ruiz |
0,0 |
0 |
0 |
0 |
0 |
0,0 |
73805 |
Victor de Oliveira Carmona |
8,6 |
10 |
10 |
10 |
10 |
9,7 |
73969 |
Davi Albernaz Lameiro da Costa |
8,6 |
10 |
10 |
10 |
10 |
9,7 |
80664 |
André de Vasconcellos |
9,5 |
9,5 |
10 |
10 |
8 |
9,4 |
81398 |
Fernando Shikanai Massunari |
8,0 |
9,5 |
10 |
10 |
10 |
9,5 |
82107 |
Marcelo D. R. Cecchino Zabani |
8,0 |
9,5 |
10 |
10 |
10 |
9,5 |
83499 |
Felipe Augusto Rosa |
9,5 |
9,5 |
10 |
10 |
8 |
9,4 |
83597 |
Guilherme Monteiro da Silva Lanna |
9,5 |
9,5 |
10 |
10 |
8 |
9,4 |
83632 |
Henrique de Souza Oliveira |
8,0 |
9,5 |
10 |
10 |
10 |
9,5 |
91187 |
Fernando Lucchesi Bastos Jurema |
10,0 |
9 |
8 |
0 |
10 |
7,4 |
93092 |
Thiago Cabral Valverde |
10,0 |
10 |
10 |
10 |
10 |
10,0 |
95041 |
Raphael De Bianchi Carvalho |
10,0 |
9 |
8 |
0 |
10 |
7,4 |
95696 |
Erick Luis Moraes de Sousa |
10,0 |
9 |
8 |
0 |
10 |
7,4 |
105441 |
Miguel Faggioni Fernandes |
10,0 |
9 |
8 |
0 |
10 |
7,4 |
970812 |
Henri Rodrigues Zurmely |
0,0 |
0 |
0 |
0 |
0 |
0,0 |
Fase1
RA |
Nome |
Comentários |
Nota |
015585 |
Bruno |
não entregou |
|
073805 |
Victor |
Não apresentaram história ilustrativa. Acréscimo de mensagens de log no arquivo SynchPrimitive original para permitir o acompanhamento da execução. Análise dos 2 bugs. Bug 1: modificaram o flag do nó filho para PERSISTENT. Bug2: Implementação da correção com nó ready. Makefile. Entrega com atraso. |
8,6 |
073969 |
Davi |
8,6 |
080664 |
André |
Slides com ilustração da aplicação e visão geral sobre a complexidade da tarefa. História ilustrativa: marido apressado. Separação do código em vários arquivos, incluindo os papéis da aplicação. Comunicação entre os processos é feita via socket. Código adicional no qual sleeps contornam o bug. Não apresentaram documentação nem instruções para rodar o programa. |
9,5 |
083499 |
Felipe |
9,5 |
083597 |
Guilherme |
9,5 |
081398 |
Fernando S. |
Não apresentaram história ilustrativa. Separação do código em vários arquivos. Código com várias threads e mensagens de log para evidenciar o problema. Não apresentaram documentação nem instruções para rodar o programa. |
8 |
082107 |
Marcelo |
8 |
083632 |
Henrique |
8 |
091187 |
Fernando L. |
História ilustrativa: Aboborela. Separação do código em vários arquivos, incluindo os papéis da aplicação. Análise dos dois bugs. Código para eliminar nós filhos do nó root da barreira. Makefile. Arquivo texto com documentação da fase e como rodar o programa. |
10 |
095041 |
Raphael |
10 |
095696 |
Erick |
10 |
105441 |
Miguel |
10 |
093092 |
Thiago |
Scritps para criação dos arquivos de configuração e para facilitar a inicialização e finalização dos servidores do Zookeeper. Separação do código em vários arquivos. Mensagens de erro para exceções que eram tratadas silenciosamente. Análise dos 2 bugs. Bug 1: construtor de barreiras recebe parâmetro name adicional e retirou flag SEQUENTIAL. Bug2: código multithread para ilustrar o bug; analogia descrita separadamente. |
10 |
970812 |
Henri |
desistiu |
|
Fase2
RA |
Nome |
Comentários |
Nota |
015585 |
Bruno |
não entregou |
|
073805 |
Victor |
Makefile. Nome do nó: hostname. Implementação com ready node, que é removido ao final. Todos os nós verificam se o diretório está vazio, o que implica em mais processamento do que o algoritmo sugerido na página do ZooKeeper. Barreira simples é implementada a partir da barreira dupla. Aplicação: prova. |
10 |
073969 |
Davi |
10 |
080664 |
André |
Arquivo README.txt com instruções para rodar o programa e descrição sucinta dos arquivos. Nome do nó: hostname+ID. Implementação sujeita a bugs: (i) getChildren não garante uma lista ordenada e vários processos podem pensar que são o primeiro; (ii) ready node pode atrapalhar a contagem dos nós restantes na barreira e o protocolo de espera. Aplicação: marido apressado. |
9,5 |
083499 |
Felipe |
9,5 |
083597 |
Guilherme |
9,5 |
081398 |
Fernando S. |
Readme com descrição da abordagem e documentação de problemas encontrados. Nós recebem nomes com sufixo sequencial. Implementação diferenciada, com alteração de um flag no nó raiz. Processos passam por duas verificações na entrada: número de nós e flag. Espera ocupada é introduzida para evitar problemas de concorrência. Melhor uso do flag não poderia eliminar esta necessidade? Barreira simples é implementada a partir da barreira dupla. Aplicação: pagamento na república. |
9,5 |
082107 |
Marcelo |
9,5 |
083632 |
Henrique |
9,5 |
091187 |
Fernando L. |
Documentação em arquivo separado. Nome do nó: c+ número sequencial fornecido pela aplicação. Parte da lógica da implementação da barreira ficou do lado da aplicação. Espera ocupada para término dos processos Child e Partner. Aplicações: excursão de ônibus escolar e reunião. |
9 |
095041 |
Raphael |
9 |
095696 |
Erick |
9 |
105441 |
Miguel |
9 |
093092 |
Thiago |
Documentação no arquivo README.md. Nós recebem nomes baseados em UUIDs. Implementações seguem fielmente os algoritmos propostos na página do ZooKeeper, adicionando a possibilidade de timeout. Código apresentado adiantou vários aspectos solicitados para a fase 3. Aplicação utilizada: jogo da vida. |
10 |
970812 |
Henri |
desistiu. |
|
Fase3
RA |
Nome |
Comentários |
Nota |
015585 |
Bruno |
não entregou |
|
073805 |
Victor |
Pequena alteração na função leave(): se o nó ready foi apagado, um processo pode sair da barreira mesmo que existam outros nós no diretório (serão nós da passada seguinte). Aplicação: prova com classificação. |
10 |
073969 |
Davi |
10 |
080664 |
André |
Arquivo README.txt com instruções para rodar o programa e descrição sucinta dos arquivos. Barreira reutilizável: processo aguarda remoção do ready node da rodada anterior para poder entrar. Nós recebem nomes com sufixo sequencial em diretório separado. Implementação sujeita a bugs: getChildren não garante uma lista ordenada e vários processos podem pensar que são o primeiro. Erros corrigidos no código da versão 4, apresentado em 5 de junho. |
10 |
083499 |
Felipe |
10 |
083597 |
Guilherme |
10 |
081398 |
Fernando S. |
Readme com descrição da abordagem e documentação de problemas encontrados. Nó raiz com flag 0/1 para permitir barreiras reutilizáveis. O que acontece se um nó consegue terminar a função leave() e executa enter() antes de um nó que estava saindo verificar que o diretório estava vazio? Problema corrigido na versão entregue em 20 de junho, via abordagem não bloqueante. |
10 |
082107 |
Marcelo |
10 |
083632 |
Henrique |
10 |
091187 |
Fernando L. |
Alteração da implementação das barreiras simples para torná-las reutilizáveis, funcionalidade obtida via espera ocupada. Não foi feita a alteração das barreiras duplas. Nova versão entregue em 16 de junho: (i) biblioteca devidamente implementada, (ii) algoritmo com nó ready semelhante ao da página do ZooKeeper, mas mais ineficiente em termos de número de processos acordados, (iii) identificador do nó pode não ser único. Código não garantia barreiras reutilizáveis. Na apresentação de 26 de junho, o grupo sugeriu verbalmente como solucionar este problema e implementou na fase 5. |
8 |
095041 |
Raphael |
8 |
095696 |
Erick |
8 |
105441 |
Miguel |
8 |
093092 |
Thiago |
Código da fase anterior já removia nó ready e aplicação já fazia uso de barreiras reutilizáveis. Bug quando um processo sai da barreira, entra novamente e atrapalha a saída de outros processos. Problema corrigido no código da fase 4 (entregue em 5 de junho). |
10 |
970812 |
Henri |
desistiu. |
|