Você está na página 1de 3

FACULDADE METROPOLITANA DA GRANDE FORTALEZA

SISTEMAS DE INFORMAÇÃO

DAVI FELIPE CAVALCANTE MENDES (1-2019215976)

APS

DISCIPLINA
SISTEMAS DISTRIBUÍDOS

FORTALEZA 2023
Atividade:

Selecione um algoritmo distribuído e produza uma resenha


destacando:
a) Funcionalidade
b) Aplicação
c) Implementação

O algoritmo selecionado é o algoritmo de eleição, que será


abordado neste contexto.

Em sistemas distribuídos, é comum a necessidade de um processo atuar como coordenador ou


realizar uma tarefa especial. Para isso, os processos são identificados com números únicos, de
P0 a PN, sendo que o processo com o menor número é considerado o mais antigo do grupo.
Semelhante ao já visto nos sistemas centralizados em algoritmos de exclusão mútua. Em geral
não importa qual o processo toma para si a responsabilidade, mas alguém tem que
desempenhar este papel.

Os algoritmos de eleição são utilizados para selecionar o processo com o menor identificador
(rank) como líder ou coordenador. No entanto, cada algoritmo possui sua própria abordagem
para realizar essa indicação. Dentre os algoritmos de eleição, destacam-se dois exemplos: o
algoritmo,

Bully (algoritmo do valentão) e o algoritmo em anel (Ring algorithm).

a) Funcionalidade.

O algoritmo de eleição é uma técnica muito útil em sistemas distribuídos, pois permite
selecionar um líder entre os nós do sistema. Existem várias implementações desse
algoritmo, sendo as mais conhecidas o algoritmo Bully, e o algoritmo do Anel.

Algoritmo Bully;

Este algoritmo, (Tanembaum apud Garcia−Molina (1982)), quando verifica que o coordenador
está morto, inicia-se uma nova eleição da seguinte maneira.

1. P envia uma mensagem de ELEIÇÃO para todos os processos existentes.


2. Se nenhum processo responde então ele se torna o coordenador

3. Se alguém que responder tiver o número maior do que o de P então P’ será tomado sobre
ele.

Algoritmo do Anel para Eleição do Coordenador

Uma abordagem para eleger um coordenador em um sistema distribuído é utilizar um anel


sem a necessidade de um token. Os processos são organizados em uma ordem lógica ou física,
de forma que cada processo conhece o seu sucessor no anel, essa abordagem permite a
eleição de um novo coordenador quando o anterior fica inativo, garantindo a continuidade do
funcionamento do sistema distribuído. O uso do anel e a ordem dos processos permitem a
propagação eficiente da mensagem de eleição e a identificação correta do coordenador atual.

b) Aplicação.

O algoritmo Bully, os nós se organizam em uma hierarquia. Quando um nó percebe que o


líder atual está inativo, ele inicia o processo de eleição enviando uma mensagem eleitoral
para os demais nós. Os nós respondem comparando seus próprios identificadores (IDs) com
o do remetente. Se o ID do remetente for maior, o nó responde com uma mensagem de
"OK" e se retira da eleição. Se um nó não receber respostas dentro de um certo tempo, ele
assume que é o novo líder e notifica os outros nós sobre sua eleição.
Esses algoritmos garantem que, mesmo em sistemas distribuídos, haja um processo justo e
confiável para a escolha de um líder. O algoritmo Bully utiliza uma hierarquia de nós,
enquanto o algoritmo do Anel utiliza a estrutura em anel para passar as mensagens de
eleição. Cada um deles possui suas características e é adequado para diferentes contextos de
aplicação em sistemas distribuídos.

c) Implementação

A implementação dos algoritmos de Bully, Anel (Ring) pode variar de acordo com a
linguagem de programação e o ambiente de desenvolvimento utilizados. Esses algoritmos
são amplamente utilizados em serviços e aplicações distribuídas em que um processo
específico desempenha um papel especial, como um coordenador. Quando esse processo
falha, o grupo de processos precisa reeleger um novo coordenador para manter a
continuidade do serviço.

Você também pode gostar