sistemas distribuídos - instituto de computação - uffsimone/sd/contaulas/aula14.pdfalgoritmos...
TRANSCRIPT
![Page 1: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/1.jpg)
SISTEMAS DISTRIBUÍDOSCAPÍTULO 6 – SINCRONIZAÇÃO
Slides cedidos pela professora Aline Nascimento eSlides de COS 418: Distributed Systems
![Page 2: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/2.jpg)
EXCLUSÃO MÚTUA
Uma questão fundamental em SD é a concorrência e a
colaboração entre vários processos
Como garantir que o acesso concorrente de recursos não
gere situações de inconsistência de dados?
São necessárias soluções que garantam o acesso
mutualmente exclusivo pelos processos
Algoritmos distribuídos de exclusão mútua podem ser
classificados em duas categorias
Baseados em ficha e Baseados em permissão
![Page 3: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/3.jpg)
EXCLUSÃO MÚTUA
Abordagens baseadas em fichas
Existe uma ficha disponível no sistema e apenas o processo
que possuir a ficha pode acessar o recurso compartilhado
Evita inanição (Starvation)
Fácil evitar deadlocks
O problema é se a ficha for perdida, como recriá-la?
Abordagens baseadas em permissão
Processo que quer recursos deve antes pedir permissão aos
demais
![Page 4: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/4.jpg)
EXCLUSÃO MÚTUA - ALGORITMOCENTRALIZADO
Simula o que é feito em um sistema monoprocessador:
Um processo é eleito como coordenador
Sempre que um processo quiser acessar determinado recurso,
é necessário pedir permissão ao coordenador, através de uma
mensagem
O coordenador permite acesso ao recurso através de uma
mensagem de concessão, desde que nenhum outro processo
esteja acessando o recurso naquele momento
Para usar uma região crítica: REQUISIÇÃO, CONCESSÃO e
LIBERAÇÃO
![Page 5: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/5.jpg)
EXCLUSÃO MÚTUA - ALGORITMOCENTRALIZADO
![Page 6: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/6.jpg)
EXCLUSÃO MÚTUA - ALGORITMOCENTRALIZADO
Prós:
Simples, fácil de entender e de implementar
É justo (segue o FCFS)
Como no FCFS, não há inanição (starvation)
Contras:
Como todo sistema centralizado um ponto de erro e um
ponto de gargalo
Processos não conseguem distinguir coordenador inativo de
permissão negada, caso se o recurso não está disponível
nenhuma mensagem é enviada
![Page 7: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/7.jpg)
EXCLUSÃO MÚTUA - ALGORITMODISTRIBUÍDO
Pesquisadores procuraram algoritmos distribuídos
determinísticos de exclusão mútua.
Lamport apresentou o primeiro em 1978
Ricart e Agrawala o tornaram mais eficiente em 1981
![Page 8: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/8.jpg)
EXCLUSÃO MÚTUA - ALGORITMODISTRIBUÍDO
Requer ordenação total de todos os eventos no sistema
Para isso será usado... Algoritmo de Lamport!
Funcionamento:
Quando processo deseja acessar um recurso compartilhado,
monta uma mensagem que contém o nome do recurso, seu
número de processo e a hora corrente (lógica).
Envia mensagem para todos processos, inclusive ele mesmo
![Page 9: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/9.jpg)
EXCLUSÃO MÚTUA - ALGORITMODISTRIBUÍDO
Funcionamento (continuação):
Quando um processo recebe uma mensagem de requisição de
outro, executa uma ação de acordo com seu próprio estado em
relação ao recurso:
1. Se o receptor não estiver acessando o recurso nem quer acessá-
lo, devolve “OK” ao remetente
2. Se já tem acesso ao recurso, não responde e coloca requisição
em uma fila
3. Se receptor também quer acessar o recurso, mas ainda não
possui a permissão, compara a marca de tempo da mensagem
que chegou com a marca de tempo da mensagem que enviou a
todos. Se a que recebeu é mais baixa envia OK, senão coloca
requisição na fila e não manda nada
![Page 10: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/10.jpg)
EXCLUSÃO MÚTUA - ALGORITMODISTRIBUÍDO
Funcionamento (continuação):
Após enviar requisições que peçam permissão, um processo
aguarda recebimento de todas as respostas
Quando houver permissão de todos, processo acessa o
recurso
Processo libera o recurso enviando um “OK” a todos os
processos que estão em sua fila
![Page 11: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/11.jpg)
EXCLUSÃO MÚTUA - ALGORITMODISTRIBUÍDO
P0 envia requisição com marcador de hora igual a 8 e P2 com marcadorIgual a 12. P1 envia OK para todos. P0 e P2 veem o conflito e comparamMarcadores. P2 perdeu e envia OK para todos. P0 coloca pedido de P2 naFila e acessa o recurso. Quando acaba envia OK para P2.
![Page 12: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/12.jpg)
EXCLUSÃO MÚTUA - ALGORITMODISTRIBUÍDO
Vantagens:
Exclusão mútua é garantida
Não há deadlock nem starvation
Desvantagens:
Ponto de falha único foi substituído por n pontos de falha
Trocou 1 gargalo por n gargalos
Pode melhorar enviando sempre uma resposta. Se não chegar
resposta quem pediu pode concluir que o nó morreu
Tem que ter uma comunicação de grupo e gerenciamento de
grupo e de mensagens
![Page 13: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/13.jpg)
EXCLUSÃO MÚTUA – ALGORITMO TOKENRING
Algoritmo baseado em ficha que circula ao redor do anel
lógico
Se o processo quer acessar recurso e tem a ficha, usa
recurso e quando acaba passa ficha
Se não quer usar recurso, passa a ficha
![Page 14: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/14.jpg)
EXCLUSÃO MÚTUA – ALGORITMO TOKENRING
Garante a exclusão mútua
Não há deadlock nem starvation
A dificuldade é recuperar uma ficha perdida
Como saber o tempo razoável para um token não aparecer?
Se um processo morreu, um vizinho que tenta enviar o token
para ele pode detectar, e anel pode ser reconfigurado
![Page 15: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/15.jpg)
EXCLUSÃO MÚTUA - COMPARAÇÃO
Algoritmo Mensagens porentrada/saída Problemas
Centralizado 3 Queda do coordenador
Descentralizado 3mk Starvation, baixa eficiência
Distribuído 2(n-1) Queda de qualquerprocesso
Token Ring 1 a ∞ Ficha perdida
![Page 16: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/16.jpg)
ALGORITMOS DE ELEIÇÃO
Usados quando há necessidade de um nó agir como
coordenador. São exemplos tradicionais de algoritmos de
eleição:
Algoritmo do valentão
Algoritmo de anel
Além disso, existem soluções para ambientes específicos:
Algoritmos para redes sem fio
Algoritmos para sistemas de grande escala (como P2P)
![Page 17: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/17.jpg)
ALGORITMOS DE ELEIÇÃO – ALGORITMO DOVALENTÃO
Todos nós possuem um identificador
Sempre que um nó P percebe que o coordenador nãoresponde, P inicia uma eleição:
1. P envia uma mensagem ELEIÇÃO a todos os processos de
números mais altos
2. Se nenhum responder, P vence a eleição e se torna o
coordenador
3. Se um dos processos de número mais alto responder, ele
toma o poder e o trabalho de P está concluído
Dessa forma é eleito o nó com maior identificador
![Page 18: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/18.jpg)
ALGORITMOS DE ELEIÇÃO – ALGORITMO DOVALENTÃO
![Page 19: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/19.jpg)
ALGORITMOS DE ELEIÇÃO – ALGORITMO DOANEL
Baseado na utilização de anel (físico ou lógico), mas não usa
ficha:
Quando qualquer processo nota que o coordenador não está
funcionando, monta uma mensagem ELEIÇÃO com seu número
A mensagem é enviada a seu sucessor ou próximo que esteja
em funcionamento
A cada etapa, o remetente adiciona seu número de modo a se
tornar também um candidato à eleição de coordenador
Quando a mensagem retorna ao processo que iniciou a eleição,
este envia a mensagem COORDENADOR com o número mais
alto da sua lista
![Page 20: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/20.jpg)
ALGORITMOS DE ELEIÇÃO – ALGORITMO DOANEL
Exemplo: Nós 3 e 6 iniciam a eleição simultaneamente
![Page 21: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/21.jpg)
ELEIÇÕES EM AMBIENTES SEM FIO
Necessários em ambientes onde a troca de mensagens não
é confiável e a topologia da rede muda com frequência
Visa eleger o melhor líder
Exemplo: o nó o que possui maior bateria restante
Um nó fonte P inicia a eleição enviando a mensagem
ELEIÇÃO a seus vizinhos
Quando um nó Q recebe a mensagem ELEIÇÃO pela
primeira vez, designa o remetente como seu pai e envia uma
mensagem ELEIÇÃO a todos vizinhos exceto seu pai
![Page 22: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/22.jpg)
ELEIÇÕES EM AMBIENTES SEM FIO
Se Q recebe uma mensagem ELEIÇÃO de um nó não-pai,
apenas confirma o recebimento
Se todos vizinhos de um nó R já possuem um pai, R é um nó
folha, portanto pode reportar de volta a Q, passando
informações úteis
Quando Q recebe todas as respostas, reporta a seu pai qual
é o melhor dos recebidos por Q
O nó P recebe os melhores candidatos e decide pelo melhor,
informando a todos via broadcast.
![Page 23: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/23.jpg)
ELEIÇÕES EM AMBIENTES SEM FIO
F
D
B
C
A
3
10
72
5
● A detecta falha no coordenador e envia eleição para B e C● C e B tem A como pai e C envia para B e D, e B envia para C e F● C responde ACK para B e B para C● D recebe de C eleicão, coloca D como pai e envia para F● F recebe de B eleicão, coloca B como pai e envia para D● D recebe ack de F e envia (D,10) para C● F recebe ack de D e envia (F,7) para B● B recebe de F e manda (F,7) para A● C recebe de D e manda (D,10) para A● A recebe (D,10) e (F,7) e elege D como coordenador
![Page 24: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/24.jpg)
ELEIÇÕES EM SISTEMAS DE GRANDEESCALA
Há situações em que é preciso trabalhar com redes maiores
Exemplo: é necessário eleger Superpares em redes P2P
Requisitos a serem cumpridos por superpar:
1. Nós normais devem ter baixa latência de acesso comsuperpares
2. Superpares devem estar uniformemente distribuídos pela redede sobreposição
3. Deve haver uma porção predefinida de superpares em relaçãoao número total de nós na rede de sobreposição
4. Cada superpar não deve precisar atender mais do que umnúmero fixo de nós normais
![Page 25: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/25.jpg)
QUESTÃO 1
Cite no mínimo 3 fontes de atraso que podem ser
introduzidas entre a transmissão da hora em broadcast
WWV e o ajuste, pelos processadores de seus relógios
internos em um sistema distribuído
![Page 26: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/26.jpg)
RESPOSTA 1
Atraso relativo a propagação de sinal na atmosfera
Latência de transmissão de pacotes na rede
Após um pacote chegar em um processador, ainda existem
atrasos relativos a interrupções no processamento e filas
internas
![Page 27: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/27.jpg)
QUESTÃO 2
Considere o comportamento de duas máquinas em um SD.
Ambas tem relógios que devem pulsar 1000 vezes por
milissegundo.
Um deles realmente pulsa a esta taxa, mas o outro pulsa
990 vezes por milissegundo.
Se as atualizações UTC chegam uma vez por minuto, qual
será a máxima defasagem entre os relógios?
![Page 28: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/28.jpg)
RESPOSTA 2
O relógio da segunda máquina:
990 vezes em um milissegundo
990.000 vezes em um segundo
Em um segundo menos 10.000 ticks 10mseg
Em um minuto 10mseg X 60 = 600mseg
O relógio da segunda máquina é 1% mais lento
1% de 60seg = 0.01 x 60 = 0.6seg = 600mseg
![Page 29: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/29.jpg)
QUESTÃO 8
Muitos algoritmos distribuídos requerem a utilização
de um processo coordenador.
Até que ponto estes algoritmos são realmente
considerados distribuídos?
![Page 30: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/30.jpg)
RESPOSTA 8
Em um algoritmo centralizado sempre existe um processo
fixo que age como coordenador
A distribuição vem do fato de que outros processos rodam
em máquinas separadas.
![Page 31: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/31.jpg)
QUESTÃO 9
Na abordagem centralizada da exclusão mútua, ao
receber uma mensagem de um processo que está
liberando o acesso a região crítica, o coordenador
normalmente concede permissão ao primeiro
processo da fila.
Cite um outro algoritmo possível para o coordenador.
![Page 32: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/32.jpg)
RESPOSTA 9
Os pedidos feitos ao coordenador podem estar associados a
prioridades.
O processos com maior prioridade receberá o recurso
compartilhado
![Page 33: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/33.jpg)
QUESTÃO 10
Suponha que o coordenador, no algoritmo de
exclusão mútua centralizado, caia.
Isto sempre derruba o sistema?
Se não derrubar, sob quais circunstâncias isto acontece?
Há um modo de evitar o problema e fazer com que o sistema
seja capaz de tolerar quedas do coordenador?
![Page 34: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/34.jpg)
RESPOSTA 10
Suponha que o algoritmo seja tal que o coordenador sempre
responda a um pedido, ou aceitando ou negando. Se não
existem processos acessando recursos, nem na fila, então a
queda do coordenador não é fatal.
O próximo pedido de permissão ao coordenador irá falhar e
o processo requisitante pode inicial um novo processo de
eleição de coordenador.
![Page 35: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/35.jpg)
QUESTÃO 11
O algoritmo de Ricart e Agrawala apresenta o seguinte
problema: se um processo falhou e não responde a
uma requisição de um outro processo para acessar um
recurso, a falta de resposta pode ser interpretada
como uma recusa de permissão.
Sugerimos que todas as recusas sejam respondidas
imediatamente para facilitar a detecção de
processos que falharam.
Existem circunstâncias em que até este método é
insuficiente? Discuta sua resposta.
![Page 36: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/36.jpg)
RESPOSTA 11
Suponha que um processo X negue a permissão e depois
caia.
O processo requisitante pensa que X está vivo, e ficará
esperando uma permissão futura que nunca virá.
Uma solução é permitir que o processo requisitante não
fique bloqueado esperando uma resposta. O processo
requisitante apenas dorme por um período fixo de tempo, e
quando acordar, verifica se os processos dos quais ele
espera uma resposta estão vivos.
![Page 37: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/37.jpg)
QUESTÃO 14
Suponha que dois processos detectem a falha de um
coordenador simultaneamente e ambos decidam convocar
uma eleição que utilize o algoritmo do valentão.
O que acontecerá?
![Page 38: Sistemas Distribuídos - Instituto de Computação - UFFsimone/sd/contaulas/aula14.pdfAlgoritmos para sistemas de grande escala (como P2P) ALGORITMOS DE ELEIÇÃO – ALGORITMO DO](https://reader033.vdocuments.net/reader033/viewer/2022051912/6002b8ca5761a042a64b76c9/html5/thumbnails/38.jpg)
RESPOSTA 14
O algoritmo funcionará normalmente.
Cada um dos processos com maiores números irá receber
duas mensagens de ELEIÇÃO.
A segunda mensagem é ignorada e o processo de eleição
continua