Sistemas Distribuídos IIParte 04EleiçãoConteúdo adaptado a partir do material do professor Edmar Rezende (PUC-Campinas)
Introdução• Por que sistemas distribuídosprecisam de soluções de eleição?– Muitos algoritmos distribuídosnecessitam de um ...
Introdução• Objetivo:– Assegurar que todos os processos do sistema saibam quem é o novocoordenador após a realização de um...
Introdução• Eleições, em geral, possuem as seguintes características:– Não importa qual processo do sistema será o coorden...
Introdução• Outras características importantes deeleições:– O resultado da eleição não precisa ser perpétuo• Um processo p...
Algorítmo do Ditador• Garcia-Molina (1982)– Também conhecido como “algoritmo bully” ou “algotritmo do valentão”• Funcionam...
Algorítmo do Ditador (cont.)• O algoritmo exige que cada processo conheça os IDs dosdemais processos– 7 –
Algoritmo em Anel• Funcionamento do algoritmo:– Quando um processo desconfia que o coordenador está inativo:• Monta uma me...
Algoritmo em Anel (cont.)• Chang-Roberts (1979)• Inspirado no algoritmo de exclusão mútua em anel, mas comas seguintes car...
Algoritmo em Anel (cont.)• Funcionamento:– O grupo se organiza em um anel e cada integrante possui um númeroidentificador–...
Algoritmo em Anel (cont.)• Funcionamento:– 11 –
Algoritmo em Anel (cont.)• Variação do algoritmo em anel:– A mensagem de eleição passa a transportar apenas um ID (o do ca...
Próximos SlideShares
Carregando em…5
×

Sd07 (si) eleição

349 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
349
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Sd07 (si) eleição

  1. 1. Sistemas Distribuídos IIParte 04EleiçãoConteúdo adaptado a partir do material do professor Edmar Rezende (PUC-Campinas)
  2. 2. Introdução• Por que sistemas distribuídosprecisam de soluções de eleição?– Muitos algoritmos distribuídosnecessitam de um processocoordenador (Exemplo: AlgoritmoCentralizado para Exclusão Mútua)– Grupos igualitários de processospodem necessitar escolher um deseus integrantes paradesempenhar determinada tarefa– 2 –
  3. 3. Introdução• Objetivo:– Assegurar que todos os processos do sistema saibam quem é o novocoordenador após a realização de uma eleição• Requisitos:– Cada processo convoca apenas uma eleição por vez para cada caso,mas “N” processos podem convocar “N” eleições concorrentes para amesma coisa– O processo eleito deve ser único para um objetivo– Mesmo que várias eleições sejam convocadas concorrentemente paraocupar o “cargo” o resultado de todas deve ser idêntico – 3 –
  4. 4. Introdução• Eleições, em geral, possuem as seguintes características:– Não importa qual processo do sistema será o coordenador, contantoque um deles faça o trabalho– Cada processo é identificado por um número único• Este número não precisa ser necessariamente o número de criação doprocesso, mas sim um identificador único que pode ser gerado a partir deoutros critérios (por exemplo: índice de carga computacional)• O os algoritmos tendem a designar como coordenador o processo comnúmero mais alto (é uma tendência e não uma garantia)– 4 –
  5. 5. Introdução• Outras características importantes deeleições:– O resultado da eleição não precisa ser perpétuo• Um processo pode ser eleito para coordenardeterminada exclusão mútua e deixar o posto decoordenador assim que não for mais necessário (issocria a necessidade de nova eleição)• Um processo pode ser eleito coordenador epermanecer assim até que deixe de existir– A entrada de um novo processo no grupo pode ounão ocasionar uma nova eleição• Tudo depende das regras de funcionamento dogrupo– 5 –
  6. 6. Algorítmo do Ditador• Garcia-Molina (1982)– Também conhecido como “algoritmo bully” ou “algotritmo do valentão”• Funcionamento do Algoritmo:– Quando um processo “P” nota que não existe um coordenador ou queo coordenador não está respondendo, o mesmo convoca uma eleição– “P” envia uma mensagem indicativa de ELEIÇÃO a todos os processoscom ID maior que o seu• Se nenhum processo responder: P ganha a eleição, tornando-se ocoordenador (e avisa o grupo)• Se algum dos processos consultados responder: este processo passa acontrolar a eleição e P desiste de se tornar o coordenador– Quando um processo recebe uma mensagem convocando eleição epossui um ID maior que o remetente, envia de volta uma mensagemde OK em seguida inicia uma eleição– 6 –
  7. 7. Algorítmo do Ditador (cont.)• O algoritmo exige que cada processo conheça os IDs dosdemais processos– 7 –
  8. 8. Algoritmo em Anel• Funcionamento do algoritmo:– Quando um processo desconfia que o coordenador está inativo:• Monta uma mensagem indicativa de ELEIÇÃO contendo seu próprio ID e envia amensagem para o vizinho– Se o vizinho estiver inativo:• O emissor envia a mensagem ao próximo processo ativo no anel– Cada processo que recebe a mensagem de leição:• Acrescenta seu próprio ID na lista da mensagem– Quando a mensagem retorna ao processo que a enviou:• O emissor reconhece a mensagem com seu próprio ID• Identifica quem venceu a eleição (o maior id existente na mensagem)• Envia uma mensagem indicando a existência de um novo COORDENADOR para osdemais processos, cuja identificação vai na mensagem– Quando a mensagem termina de circular:• É descartada (retirada da rede) e todos voltam ao trabalho– 8 –
  9. 9. Algoritmo em Anel (cont.)• Chang-Roberts (1979)• Inspirado no algoritmo de exclusão mútua em anel, mas comas seguintes características:– Os processos estão logicamente ordenados de alguma maneira paraformar o anel– Não usa o “token” para funcionar e sim uma mensagem que contémos votos– 9 –
  10. 10. Algoritmo em Anel (cont.)• Funcionamento:– O grupo se organiza em um anel e cada integrante possui um númeroidentificador– Quem começa a eleição é o processo que primeiro sentir falta de umcoordenador– Este processo manda uma mensagem ao seu vizinho convocando a eleição einforma seu ID na mensagem– O vizinho acrescenta seu próprio ID na mensagem e encaminha para o vizinhoseguinte– A mensagem segue circulando no anel até retornar ao processo que iniciou aeleição– Ao reconhecer seu próprio ID na mensagem, o processo entende que amesma já passou por todos os demais integrantes, então este verifica qual omaior ID contido na mensagem e informa aos demais que este é o IDvencedor da eleição– 10 –
  11. 11. Algoritmo em Anel (cont.)• Funcionamento:– 11 –
  12. 12. Algoritmo em Anel (cont.)• Variação do algoritmo em anel:– A mensagem de eleição passa a transportar apenas um ID (o do candidatocom maior ID até o momento)– Cada processo que recebe a mensagem de eleição compara seu ID com o IDrecebido na mensagem:• Se o ID da mensagem é maior que o ID do processo, então o processo passa amensagem para o próximo integrante do anel sem alteração nenhuma• Se o ID da mensagem é menor que o ID do processo, então o processo altera amensagem, substituindo o ID da mensagem pelo seu próprio ID (ou seja: o IDanterior perdeu a eleição) e passa a mensagem para o próximo integrante do anel• Se o ID da mensagem é igual ao ID do processo, então o processo se considera ovencedor da eleição (pois isso significa que sua mensagem percorreu todo o anel eretornou intacta) e passa a mensagem indicando a existência de um novocoordenador para o próximo integrante do anel– Um processo que está participando de uma eleição não aceita participar deoutra para o mesmo “cargo”– 12 –

×