Redes II Sistemas Distribuídos Algoritmos Eletivos Redes II Sistemas Distribuídos Francisco José Torres Jean Vitor Pessoa de Paiva
Sumário Algoritmos eletivos; Algoritmo ditador (Algoritmo de Garcia-Molina); Algoritmo em anel.
Algoritmos eletivos Algoritmos distribuídos geralmente precisam definir um processo pára atividades especiais (coordenação, inicialização, seqüenciamento, etc.) Como decidir qual deles deve ser escolhido? Cada processo possui um identificador (número) Pode-se escolher o de maior número. Mais quais estão ativos?
Algoritmos eletivos Objetivos: Eleger novo coordenador se o atual falhar: tolerância a falhas. Garantir que haja um coordenador e que ele seja único e conhecido por todos os outros processos no sistema distribuídos.
Algoritmo ditador Desenvolvido por Garcia-Molina (1982) Quando um processo (X) nota que o coordenador não está respondendo, ele inicia uma eleição: X manda uma mensagem indicando eleição a todos os processos com identificação maior que a sua. Se nenhum responde então X ganhou a eleição. Se algum responder, este passa a controlar a eleição e o trabalho de X termina. Quando um processo chega ao final da eleição o mesmo envia uma mensagem informando que é o novo coordenador.
Algoritmo ditador 1 1 1 5 2 5 5 2 2 6 4 6 6 4 4 3 3 3 7 7 7 1 1 5 5 2 2 6 6 4 4 3 3 7 7
Algoritmo ditador Se um processo que estava inativo for ativado: Ele imediatamente convoca eleição; Se for o processo ativo de numero mais alto ele se torna o coordenador. Daí vem o nome do algoritmo...
Algoritmo em anel Os processos estão ordenados e cada um sabe quem é o seu substituto; Quando um dos processos nota que o coordenador não esta respondendo, o mesmo envia uma mensagem de ELEIÇÃO com seu identificador ao próximo do anel; Se ele não responder ele tenta o da seqüência até que algum responda.
Algoritmo em anel A cada passo o processo adiciona sua identificação na lista da mensagem; Quando a mensagem chega de volta ao processo que iniciou a eleição o mesmo manda a mensagem coordenador para indicar quem o novo coordenador (processo de maior identificação da lista); Quando a mensagem coordenador volta a origem ela é removida do anel.
Algoritmo em anel 5.6.0 1 2 MSG eleição 2 7 3 Down 5.6 2.3 2 MSG eleição 2 7 3 Down 5.6 2.3 Sem resposta 4 6 5 5
Referências “Sistemas operacionais modernos” Andrew S. TANENBAUM Pretice-Hall, 1995 Seleção 11.3 pag. 329-331