Download - Sistemas Distribuídos: Sincronização
-
8/18/2019 Sistemas Distribuídos: Sincronização
1/25
Sistemas Distribuídos Jorge Surian [email protected]
Sistemas Distribuídos: Sincronização
-
8/18/2019 Sistemas Distribuídos: Sincronização
2/25
2
2
Relógios Físicos Hora atômica Internacional (International tomic !ime" # baseada em rel$gios muito %recisos (ta&a
de 'ariação de ) *+". Hora ,oordenada Internacional (-ni'ersal
,oordinated !ime -,!" # o %adrão %ara mediçãodo tem%o.
/ baseada na 0ora atômica1 mas ocasionalmente# ajustada %ela 0ora astronômia. 23roadcast2 da 0ora # 4eito atra'#s de estaç5es de
r6dio (778" e sat#lites (9S".
,om%utadores ;ue recebem o sinal sincronizamos rel$gios.
2
-
8/18/2019 Sistemas Distribuídos: Sincronização
3/25
3
3
Relógios Físicos Seja C o 'alor do rel$gio 2ideal2 (0ora -!,". Seja Cp o 'alor do rel$gio no com%utador p. Se t # o tem%o no rel$gio em sincronia com a
0ora -!,1 então temos o tem%o em p dado %orCp(t).
Idealmente %ara todo p e %ara todo t 1 temos: Cp(t) = t → C'p(t) = dC/dt = 1.
,loc< s
-
8/18/2019 Sistemas Distribuídos: Sincronização
4/25
4
4
Relógios Físicos Seja & a ta&a m6&ima de deri'a (;ue es%eci?ca se
um rel$gio est6 adiantado ou atrasado".
,omo 4azer a sincronização %eri$dica entrerel$gios
-
8/18/2019 Sistemas Distribuídos: Sincronização
5/25
5
5
Sincronização de Relógios Se e&iste um 2ser'idor de tem%o2 (rece%tor 77,
ou rel$gio de %recisão"
lgoritmo %ro%osto %or ,ristian (ABA" Se não e&iste uma 4onte ;ue dis%onibilize a 0ora
coordenada uni'ersal (-,!" lgoritmo de 3er
-
8/18/2019 Sistemas Distribuídos: Sincronização
6/25
6
6
Relógio de Cristian (1!)
ossibilidade de consultar ser'idores de tem%oe;ui%ados com um rece%tor 778 ou umrel$gio de alta %recisão.
roblema: trasos de mensagens 4arão com;ue a 0ora 4ornecida seja desatualizada
8ariaç5es na estimati'a do atraso entre asm6;uinas.
Algoritmos...
-
8/18/2019 Sistemas Distribuídos: Sincronização
7/25
""
Relógio de Cristian (1!)
,om%utador consulta a 0ora no com%utador3.
,om%utador 3 inclui na res%osta o 'alor do seu
rel$gio G !+. ,om%utador atualiza o seu rel$gio com o'alor do rel$gio em 3 adicionado ao retardo damensagem entre 3 e (ne =aC delaC".
stimati'a %ara o one*=aC delaC E!!KL1 casoatrasos em ambas direç5es sejam a%ro&imados
Algoritmos...
-
8/18/2019 Sistemas Distribuídos: Sincronização
8/25
!!
Algoritmos...Relógio de #er$ele%
lgoritmo usado %ara a sincronização internade um gru%o de com%utadores.
2Ser'idor de tem%o2 # ati'o (master" e coleta os'alores de rel$gios de outros (sla'es".
Master usa estimati'as do E!! %ara estimar o
'alor dos rel$gios dos com%utadores dentro dosgru%os.
Hora atual # resultante de uma m#dia . Master en'ia ao sla'es o total de tem%o em
;ue os rel$gios de'em adiantarKatrasar. ,aso o master 4al0e1 um no'o com%utador
master # eleito.
-
8/18/2019 Sistemas Distribuídos: Sincronização
9/25
AlgoritmosRelógio de #er$ele%
-
8/18/2019 Sistemas Distribuídos: Sincronização
10/25
1&1&
Relógios Lógicos Sincronização baseada em Ntem%o relati'oO. !em%o relati'o não %ossui nen0uma relação com
o tem%o real. mais im%ortante # ;ue os %rocessos do Sistema
Distribuído concordem com a ordem em ;ue ose'entos ocorrem:
lgoritmo de Fam%ort Eel$gios 8etoriais
-
8/18/2019 Sistemas Distribuídos: Sincronização
11/25
1111
Relógios LógicosRelógios de 'amport 1"!.
m 'ez da sincronização de rel$gios1ordenação dos e'entos:"Se dois e'entos ocorrem no mesmo
%rocesso1 então eles ocorrem na ordemobser'ada %elo %rocesso pi.
L"Puando uma mensagem m # trocada entredois %rocessos1 e a # o e'ento de en'io e b o de recebimento1 então a b.
+"Eelação Nacontece antesO # transiti'a.
-
8/18/2019 Sistemas Distribuídos: Sincronização
12/25
1212
Relógios LógicosRelógios de 'amport 1"!.
a b ( %" c d (%L" b c dado m d 4dado mL
*as1 nem todos os e'entos %odem ser relacionadosatra'#s da relação Nacontece antesO
,onsideremos a e e (%rocessos di4erentes1 sem ae&ist>ncia de cadeias de mensagens entre os%rocessos"Qão estão relacionados atra'#s da relação
São de?nidos como %rocessos concorrentes: a ++ e
-
8/18/2019 Sistemas Distribuídos: Sincronização
13/25
1313
Relógios LógicosRelógios de 'amport 1"!.
a b ( %" c d (%L" b c dado m d 4dado mL
-
8/18/2019 Sistemas Distribuídos: Sincronização
14/25
1414
Relógios LógicosRelógio de 'amport 1"!. -m rel$gio l$gico # um contador
monotonicamente crescente. ,-o %recisa estarrelacionado com o rel$gio 4ísico.
Como un/iona0
,ada %rocesso pi tem o seu rel$gio l$gico Ci
;ue %ode ser usado %ara a%licar timestam%sl$gicos aos e'entos.
1)Ci # incrementado de antes de cadae'ento no %rocesso pi.
L"Puando um %rocesso pi en'ia mensagemm1 o tem%o t Ci # ane&ado a mensagem.
+"Puando pi recebe (mt)1 o rel$gio #atualizado %ara Ci ma(C t) antes dea%licar .
-
8/18/2019 Sistemas Distribuídos: Sincronização
15/25
1515
Relógios LógicosRelógio de 'amport 1"! m cada um dos %rocessos %1 %L1 %+ o rel$gio
l$gico # inicializado com zero. s 'alores dos rel$gios l$gicos são a;ueles ;ue
ocorrem imediatamente a%$s o e'ento. odemosimaginar a1 bL e assim sucessi'amente.
Juntamente com m1 o 'alor L # en'iado e orel$gio em %L1 a%$s o e'ento c1 recebe oma&()1L"R +.
a b im%lica em ;ue ,(a", (b " mas ,(a",
(b " n-o im%lica em a
b
-
8/18/2019 Sistemas Distribuídos: Sincronização
16/25
1616
Relógios LógicosRelógio de 'amport emplo 1
-
8/18/2019 Sistemas Distribuídos: Sincronização
17/25
1"1"
Relógios LógicosRelógio de 'amport emplo 2
-
8/18/2019 Sistemas Distribuídos: Sincronização
18/25
1!1!
Relógios LógicosRelógio de 'amport roblema
,(a" ,(b": Qão se %ode in4erir ;ue a G b
-
8/18/2019 Sistemas Distribuídos: Sincronização
19/25
11
Relógios LógicosRelógios 7etoriais
,riados %or Mattern1 Tigdge1ABB. Im%lementados %ara e'itar a limitação dos
rel$gios de Fam%ort: C(a) 8 C(b) não im%lica a Nacontece antesO de b.
8etores com marcas de tem%o são usados %ara
os e'entos locais em cada %rocesso. Seja 7Ci 9:; o nUmero de e'entos ocorridos em
pi at# o instante de tem%o em ;uestão. Seja 7Ci 9; o nUmero de e'entos ;ue
ocorreram em p1 %ortanto pi sabe ;uantose'entos ocorreram em p.
-
8/18/2019 Sistemas Distribuídos: Sincronização
20/25
2&2&
Relógios LógicosRelógios 7etoriais
Como 1
3)pi en'ia t C7i em cada mensagemtransmitida
W"Puando %i recebe (m1t"1 o %rocesso ajustaC7i9; ma(C7i9; 1 tXjY" j 1 L1 ZQ(antes do %r$&imo e'ento adiciona ao seu%r$%rio contador de e'entos"
-
8/18/2019 Sistemas Distribuídos: Sincronização
21/25
2121
Relógios LógicosRelógios 7etoriais
&em%li?cando...
%: a(1)1)"[ b (L1)1)" en'ia (L1)1)" juntamente com amensagem m.
m %L1 no recebimento de m1 o 'etor de rel$gios #modi?cado %ara ma&.
(()1)1)"1 (L1)1)"" (L1 )1 )" adicionando ao seu %r$%rio
rel$gio (L11)" Qeste caso1 o e'ento c 2sabe2 ;ue ocorreram L e'entos
no %rocesso % antes da ocorr>ncia do e'ento c em %L 8 ma? de'em ser realizadas entre %ares de
elementos
-
8/18/2019 Sistemas Distribuídos: Sincronização
22/25
2222
Relógios LógicosRelógios 7etoriais
'entos / e e são concorrentes1 mas nem7C(e) 8 7C(/) nem 7C(/) 87C(e) %odemser a?rmados
-
8/18/2019 Sistemas Distribuídos: Sincronização
23/25
2323
Relógios...
lgoritmos de ,ristian e 3er
-
8/18/2019 Sistemas Distribuídos: Sincronização
24/25
2424
Relógios
Eel$gios de Fam%ort são contadores ;ue mudam
de acordo com o relacionamento de NaconteceantesO entre os e'entos.
Eel$gios 'etoriais são uma mel0ora nos rel$gios
de Fam%ort1 onde dois e'entos são ordenados%ela relação Nacontece antesO ou sãoconcorrentes atra'#s da com%aração dos 'etorescom marcas de tem%o.
-
8/18/2019 Sistemas Distribuídos: Sincronização
25/25
2525
,o%Crig0t \ L)) ro4. Jorge Surian
!odos direitos reser'ados. Ee%rodução ou di'ulgação total ou %arcial deste
documento # e&%ressamente %roíbido sem o consentimento 4ormal1 %or escrito1 doro4essor Surian.
Fontes:
Tanenbaum, Andrew S. e Steen, Marteen Van. SistemasDistribuídos, São Paulo: Prentice Hall, 2008.
Imagem do Relógio, treco da obra !Persist"ncia do #em$o%, deSal&ador Dali.