You are on page 1of 30

Sincronizao em sistemas

Distribudos
Sistemas
centralizados
possuem clock
comum
Possvel determinar
ordem de eventos
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
E em Sistemas
distribudos?
Como funciona? visto
que nem o clock nem
a memria so
comuns
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
Qual a forma de comunicao entre
os processos?
Por troca de mensagens que podem
ser SNCRONO(BLOQUEANTES) E
ASSNCRONOS(NO
BLOQUEANTES)(PRIMITIVAS SEND e
RECEIVE)(PAG. 76)

FAX e a carta de correio, chamadas a


SP de Banco de dados
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
Leida causalidade:
uma mensagem s
pode ser recebida
depois que ela foi
enviada
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
Relaoacontece-
antes ( -> ):
Seo processo A
acontece antes de B
ento A -> B(l-se A
precede B)
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
SE A no precede
B e B no precede
A, podemos dizer
que so
concorrentes
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS

Exemplocom o
diagrama espao-
tempo:
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
Eventos ocorrendo em trs processos:
p1
a b
m1
p2 Tempo
c d Fsico
m2
p3
e f

a - b, c - d, e - f, b - c, d - f
a - f
Os processos "a" e "e" so concorrentes: a || e
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
COMO IMPLEMENTAR A
SINCRONIZAO NO
CASO QUE VIMOS ACIMA
E NO QUADRO(livro)?
VISTO QUE NENHUM
DISPOSITIVO DE TEMPO
EST PRESENTE
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
A RESPOSTA RELAO
DE PRECEDENCIA:
ASSOCIAR A CADA
EVENTO UMA
ETIQUETA(TIMESTAMP)
IMPLEMENTANDO...
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
UM CLOCK
LGICO(LAMPORT)
PARA CADA
PROCESSO Pi um
CLOCK LCi
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
O QUE O CLOCK
LGICO?
Um contador simples
incrementado entre
quaisquer dois eventos
sucessivos executados
em um processo
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
PORTANTO SE: O
evento A ocorrer
antes do evento B do
processo P(i) ento
LC(i)(A) < LC(i)(B)
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
ISSOGARANTE QUE
DOIS EVENTOS NO
MESMO PROCESSO
ATENDAM AO
REQUISITO DE
ORDENAO GLOBAL.
MAS...
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
PROCESSOS: P1 e P2 se
comunicam entre sim
com processadores de
velocidades(pulso mais
lento) diferentes...
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
P1 envia uma mensagem
para P2(EVENTO A) com
LC1(A) = 200 e
P2(EVENTO B) recebe a
mensagem com LC2(B) =
195
VIOLOU O REQUISITO?
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
QUAL A SOLUO?
LC2(B) = t+1

MORAL DA
HISTRIA...
SINCRONIZAO EM SISTEMAS
DISTRIBUDOS
EM SISTEMAS DISTRIBUDOS
NO H PREOCUPAO COM
RELAO AO MOMENTO EM
QUE O EVENTO OCORRE E
SIM EM SUA PRECEDNCIA,
POIS EXISTEM SISTEMAS
QUE SE COMUNICAM EM
LOCAIS DE HORRIOS E AT
DATAS DIFERENTES
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS
COMO
IMPLEMENTAR A
EXCLUSO MTUA
EM SISTEMAS
DISTRIBUDOS?
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS
ABORDAGEM
CENTRALIZADA
Escolha do
processo
coordenador
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS

MENSAGENS:

request(solicitao)

reply(resposta)

release(liberao)
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS
E SE O COORDENADOR
FALHAR?
Existem algortmos de
eleio de um novo
coordenador(veremos
adiante)
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS

ABORDAGEM
TOTALMENTE
DISTRIBUDA
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS

USARELAO DE
PRECEDNCIA
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS
Gera uma TS e envia(REQUEST) para
todos os outros processos no
sistema(Incluindo a si mesmo)
Se receber o REPLY de todos os
processos poder entrar na sua
seo crtica
O processo que tiver a etiqueta
maior entra primeiro que os outros
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS
COMPORTAMENTO DESEJVEL:
Obteno da Excluso Mtua
Garantia de no haver deadelocks
Garantia de no haver
paralizao(usa escalonamento de
acordo com a ordenao da
etiqueta
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS
CONSEQUNCIAS INDESEJVEIS:
Os processos precisam
conhecer as identidades
de todos os outros
Se um processo falhar
todo o esquema falha
EXCLUSO MTUA EM
SISTEMAS DISTRIBUDOS
OUTRA ABORDAGEM:
PASSAGEM DE FICHA(TOKEN PASSING)
ORGANIZAO LGICA EM UMA
ESTRUTURA DE ANEL
COM A FICHA APENAS UM PROCESSO
DE CADA VEZ PODE ESTAR NA SEO
CRTICA
PREVENO, DETECO E
TRATAMENTO DE DEADLOCKS
PODE SER USADO COMO NO
SISTEMAS CENTRALIZADOS,
MAS COM ALGUMAS
MUDANAS
PREEMPO DE RECURSOS

DETECO CENTRALIZADA E
TOTALMENTE DISTRIBUDA
ELEIO DOS
COORDENADORES
ALGORTIMO DO TIRANO
ALGORTIMO DO ANEL