Ladeia / Sistemas-Distribuidos

Repositório para os códigos da disciplina Sistemas Distribuidos
0 stars 0 forks source link

Definir algoritmo de eleição de líder #4

Closed Ladeia closed 9 years ago

Ladeia commented 10 years ago

De acordo com o que foi pensado uma boa escolha seria o algoritmo em anel.

Ladeia commented 10 years ago

Definição da wikipedia

O algoritmo em anel ou LCR, iniciais de Le Lann, Chang e Roberts, serve para eleger um líder se os processos estiverem dispostos em um anel. Cada processo deve conhecer seu vizinho à direita e à esquerda e deve ter um identificador numérico, único, fixo e atribuído antes do início da eleição. Originalmente este algoritmo visava a recuperação de um token perdido em uma rede com topologia em forma de anel, elegendo um nó da rede que servisse como ponto de partida para o novo token. A execução do algoritmo busca eleger o processo de maior identificador e fazer com que todos os membros do anel reconheçam o novo líder. Este é o seu pseudocódigo: Se um dos nós identifica a perda do token, inicia a eleição enviando uma mensagem de eleição com o seu número de nó ao vizinho da direita. Se o nó que recebe a mensagem de eleição tem um identificador maior que o informado na mensagem que recebeu, passa uma mensagem de eleição para seu vizinho da direita com seu próprio identificador. Caso contrário aceita que o nó que tem o identificador contido na mensagem será o líder e repassa ao seu vizinho da direita. Se o nó recebe uma mensagem com o identificador idêntico ao seu, ele se declara líder. Este evento só ocorre quando a mensagem contendo o maior identificador circulou por todo o anel tornando todos os seus membros cientes do resultado.

Modelo em C http://ferpinheiro.wordpress.com/2011/05/14/algoritmo-para-eleicao-em-anel-usado-em-sistemas-distribuidos/