Aula-SD-17-exclusao mutua em sistemas distribuidos

TorresNeto1 10 views 15 slides Sep 03, 2025
Slide 1
Slide 1 of 15
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15

About This Presentation

exclusao mutua em sistemas distribuidos


Slide Content

5/28/25
1
SistemasDistribuídos
Prof. Dr. José R. Torres Neto
1
ExclusãoMútua
2
2

5/28/25
2
RegiõesCríticas
◎partes do código ou operações onde a execução deve
ser controlada para garantir consistência e evitar
conflitos entre processos concorrentes.
3
Ex.: Váriosprocessostentando
acessare modificarum arquivo
compartilhado
simultaneamente
Ex.: Diferentesnóstentando
modificarregistrosemuma
base de dados distribuídaao
mesmotempo
3
ExclusãoMútua
◎A melhor maneira de garantir a exclusão mútua em SD
é imitar o que acontece em um Sistema local.
◎Passos:
◎Elege um coordenador (Líder)
◎Lembrando…
4
4

5/28/25
3
ExclusãoMútua
◎Passos:
◎Elege um coordenador (Líder)
◎Um processo envia uma solicitação para o
coordenador para entrar em uma região crítica
◎Se nenhum processo está acessando essa região, o
coordenador autoriza o acesso.
5
5
AlgoritmoCentralizado
a) Nó 1 solicita o acesso à região crítica. A permissão é condedida.
b) Nó 2 solicita o acesso, mas o coordenador não responde.
c) Nó 1 informa que a região crítica foi liberada. Coordenador dá
permissão ao Nó 2.
6
6

5/28/25
4
AlgoritmoCentralizado-Vantagens
◎Garante a exclusão mútua
◎Justo (os pedidos são concedidos na ordem em que
são recebidos - FIFO)
◎Sem inanição (um processo não espera pra sempre)
◎Fácil implementação (apenas 3 mensagens:
solicitação, concessão, liberação)
7
7
AlgoritmoCentralizado-Desvantagens
◎Ponto único de falha: Coordenador
◎Gargalo no desempenho: Escalabilidade
◎Se os processos bloqueiam após fazer um pedido, eles
não podem distinguir um coordenador morto com
uma falta de permissão (“permissão negada”)
8
8

5/28/25
5
AlgoritmoDescentralizado
a) Dois processos querem entrar na região crítica ao mesmo tempo( 0 e 2)
b) Processo 0 tem o timestamp mais baixo, então ganha a permissão
concentida
c) Quando o processo 0 termina, ele envia um “OK” e o processo 2 pode
acessar a região 9
9
AlgoritmoToken Ring
10
10

5/28/25
6
Vantagens
◎Exclusãomútua? ok!
◎Inanição? Ordem ok!
AlgoritmoToken Ring
Desvantagens
◎Token podeser perdido?
-regeneaçãodo token
◎Detectarque o token foiperdido?
-desafiodifídil: rede pode
estarsobrecarregada
11
11
Replicaçãoe
Consistência
12
12

5/28/25
7
1.
Replicação
13
13
Confiabilidade
Garante comportamento
correto, apesar de erros.
•Dadoscorrompidos
Uma réplica
funcionando, o serviço
continua
Por que replicar?
14
14

5/28/25
8
Por que replicar?
Desempenho
É importante quando
precisa se ampliado
em quantidade e área geográfica
Ampliação e
quantidade: diversos
servidores web com cache de páginas
Aplicação geográfica:
requisições são
repassadas para o servidor mais
próximo.
15
15
2.
Consistência
Desafio
16
16

5/28/25
9

Como garantira consistênciaentre
osdados das diversasréplicas?
17
17
Desafios
◎Na utilização de caches em um servidor web, os
browsers salvam cópias locais de páginas acessadas
◎Se o usuário requisitar o acesso mais de uma vez, o
browser retorna a página salva localmente
◎Isso melhora o tempo de acesso
Mas e se o usuário quiser a versão da página mais
recente?
18
18

5/28/25
10
Desafios
◎Sincronização das réplicas
◎Quando uma atualização deve ser realizada?
◎Deve-se ter um acordo, e em geral, uma
sincronização global
◎Relaxar as restrições de consistência
◎Réplicas diferentes temporariamente
19
19
Modelosde
Consistência
Contratos: um conjunto de regras
20
20

5/28/25
11
Modelosde ConsistênciaCentradoa Dados
◎Operações de leitura-escrita em dados
compartilhados:
◎Memória distribuída
◎Banco de dados distribuídos
◎Sistemas de arquivos
21
21

Modelosde Consistênciaéo contrasteentre osprocessose o
repositóriode dados, no sentidodas regrasacordadasentre os
mesmospara mantera consistência
22
22

5/28/25
12
Depósitode Dados –Distribuídosemváriasmáquinas
23
◎cada processo pode acessar dados
do repositório através de um cópia
local de todo o conteúdo do
repositório
◎operaçõesde escritasão
propagadaspara todasas cópias
◎operaçãode dados éclassificada
comoescritaquandoaltera o
dado, diferentementeda operação
de leitura
23
Modelosde Consistência
◎Difícil definir com precisão a ordem das escritas sem
um relógio global
◎O relaxamento do modelo de consistência é uma
solução factível
24
24

5/28/25
13
Modelosde ConsistênciaCentradoa Dados
◎Quais inconsistência sao toleráveis?
◎Diferenças dos valores numéricos entre réplicas
◎Diferenças das idades entre replicas
◎Diferença em relação à ordenação de operações
de atualização
25
25
DesviosNuméricos
◎Utilizada por aplicações onde os dados têm semântica
numérica
◎Existe um faixa de valores onde existe uma réplica
◎Ex. Aplicação diz que duas cópias não podem
desviar de R$ 0,40
◎Ex. Valores de replicas não podem diferir mais do
que 0,5%
26
26

5/28/25
14
Desviosde Idade
◎Relacionado com a última atualização de uma replica
◎Algumas aplicações podem tolerar que uma replica
forneça dados antigos, contanto que não sejam tão
antigos
◎Ex. Previsão do tempo, permacem a mesma
durante algum tempo
◎Ex. Servidor principal pode receber atualizações
em tempos oportunos27
27
Desviosemrelaçãoàordenaçãode operações
◎Em algumas aplicações, a ordenação das atualizações
podem ser diferente nas replicas, dentro de um limite
◎Atualizações são aplicadas a uma cópia local, à espera
de um acordo global de todas as replicas
◎Algumas atualizações podem voltar atrás e serem
aplicadas em uma ordem diferente, antes da
permanência
28
28

5/28/25
15
ConsistênciaContínua-conit
◎Conit – Consistency Unit
◎Especifica a unidade Segundo a qual a consistência
deve ser medida
29
29
Tags