Main Page

From Mc715-1s2011

Jump to: navigation, search

Contents

Notas

Veja aqui as notas até o momento. Quem ainda não entregou todas as fases tem até o dia 13 de julho.

Critério de Avaliação

O projeto será dividido em fases. Para cada fase, o grupo deverá descrever o que foi feito na wiki e fazer uma apresentação oral com a presença de todos os integrantes do grupo.

Fase 1

Veja aqui o detalhamento da fase 1.

Data de entrega da fase 1: 23 de março

Peso: 25% da nota final

Propostas para a fase 2

  • Melhorias no código atual da classe WriteLock
    • permitir desistência do lock
    • submeter versão corrigida para a comunidade ZooKeeper
  • Estudo/implementação para múltiplos leitores/ único escritor
    • análise do algoritmo proposto em alto nível
    • proposta de algoritmos com possibilidade de controle do grau de paralelismo
  • Estudo/implementação lock recursivo
  • Estudo/implementação de semáforos (em Java)

Data de entrega: 04/05

Peso: 25% da nota final

Curiosidades: problemas reportados na lista de e-mails zookeeper-user:

comentário explicando a necessidade do formato x-identifier-sequenceNumber.

Fase 3

Na fase 3, os grupos deverão escolher um tema relacionado às receitas do ZooKeeper para implementação de primitivas concorrentes. Após a escolha do tema, deverão conversar com a professora para acertar os detalhes sobre a implementação, documentação na wiki e apresentação.

Data final para entrega: 13 de julho (data do exame final)

Dúvidas

Tire suas dúvidas e/ou ajude a resolver as dúvidas dos colegas :) aqui

Formação de Grupos

Os projetos podem ser feitos individualmente ou em grupos de 2 a 4 alunos. Veja aqui a lista dos matriculados e escolha uma página para você ou para o seu grupo: Grupo01, Grupo02, Grupo03 ou Grupo04.

Tema

Vamos trabalhar com o ZooKeeper e aproveitar toda a experiência e as dicas do pessoal do semestre passado e da turma de verão.

Uma boa introdução para o projeto pode ser vista em ZooKeeper: A Distributed Coordination Service for Distributed Applications.

O ZooKeeper permite a criação de primitivas para sincronização. Na primeira parte da disciplina, vamos conhecer um pouco sobre a implementação da primitiva lock:

Será que esta primitiva está implementada corretamente?

Será que podemos contribuir para o projeto?

E as contas no cluster? Como instalar o ZooKeeper

As senhas serão enviadas para o seu e-mail no IC. Saiba mais sobre o cluster aqui. Um aspecto muito relevante do cluster é que todos os nós enxergam o mesmo sistema de arquivos!

O Grupo01 do 2s2010 fez um vídeo muito bom sobre como instalar o ZooKeeper no cluster. O Grupo13 da turma de verão de 2011 fez um texto bastante detalhado para ajudar a instalação.

Cuidado com os Zumbis e os conflitos de portas

Dois problemas recorrentes no semestre passado devem ser evitados nesse verão.

  • Muitas vezes processos zumbis de servidores do ZooKeeper continuam rodando e consumindo recursos. Ainda não temos nenhum mecanismo automático para acabar com os zumbis, por isso, verifique se você não deixou nenhum processo deste tipo nas máquinas antes de deslogar.
  • Cada grupo deverá escolher um conjunto distinto de portas para operar, caso contrário, erros inesperados poderão ocorrer. Registre as portas que seu grupo está trabalhando aqui Reserva de Portas.

Python

As primitivas podem ser implementadas em Python.

Veja o tutorial feito pelo Grupo03 do verão de 2011.

Personal tools