24
PROBABILISTC CLOCK SYNCHRONIZATION PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 4 2 Agenda: •Notas introdutórias •Pressupostos •Tempo de um relógio remoto •Tempo de um relógio remoto com precisão especifica •A concretização •Conclusões

PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Embed Size (px)

Citation preview

Page 1: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

PROBABILISTC CLOCK SYNCHRONIZATIONPROBABILISTC CLOCK SYNCHRONIZATION

André RibeiroClaudia CarvalhoNuno Paiva

b

a

be

mc

4

2

Agenda:•Notas introdutórias•Pressupostos•Tempo de um relógio remoto•Tempo de um relógio remoto com precisão especifica•A concretização•Conclusões

Page 2: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Onde está o tempo exacto?

• GMT-Rotação da Terra• TAI - Frequência de oscilações

atómicas (celsium-133)• UTC – Universal Time

Coordinated

Mais info. http://www.gb.nrao.edu/~rfisher/Ephemerides/times.html

Page 3: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Porquê o tempo exacto?

• Quando ocorreu um evento• Quanto tempo demorou• Qual ocorreu primeiro

Page 4: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Tipos de relógios utilizados

• Relógios físicos• Relógios lógicos

Page 5: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

O que fazer para acertar o relógio?

• Equipamento dedicado:– WWv

– GPS

– Linha telefónica

• Recursos existentes:– Ligação em rede

• Acerto gradual vs Abrupto

Page 6: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Métodos de acerto

• Métodos de acerto:– Push

– Pull

• Algoritmos por SW:– Convergência

• C/média

• S/média

– Consistência

Page 7: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Porquê um método probabilistico

min

median delay

delay

Page 8: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Trabalhos anteriores

• Assume-se a existência de um limite máximo no atraso (max) em que n relógios não se sincronizam com uma precisão melhor do que (max-min) (1-1/n);

• Estimula-se um timeout (maxp) de forma a que o processo não fique eternamente à espera de resposta em que a melhor sincronização alcançada é caracterizada como sendo 4(maxp-min);

Page 9: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Assunções em Relógios, Processos e Comunicação

• Subentende-se que um relógio físico (HC) que mostra o tempo (HC(t’)) em determinado tempo real (t’), permanece correcto num tempo posterior (t >t’), se se encontrar no intervalo[t,t’] com um erro no máximo de (t-t’) em que é a variação máxima do relógio em relação ao tempo real:

(t-t’)- (t-t’) HC(t)-HC(t’) (t-t’)+ (t-t’);

• Ignoram-se valores como 2 ;

Page 10: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

• Quaisquer dois relógios podem variar entre si até 2;

• Escolha de um timeout (maxp);

tempo realtempo do relógio1

tempo do relógio2

1- +

2

Page 11: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

• Uma falha no relógio ocorre quando a clock condition é violada:– Crash (o relógio pára);

– Falhas no timing (o contador do relógio acelera ou atrasa muito);

– Falhas Bizantinas (o contador apresenta valores errados por alguns dos seus bits se encontrarem sempre com o mesmo valor);

• Assume-se que entre a ocorrência de um timeout e o pedido de interrupção não decorre nenhum tempo.

Page 12: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Leitura de um relógio remotoP Q

D

(“time=?”)

(“time=”,T)

Page 13: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

• Teorema: Se os relógios P e Q estão correctos, o valor mostrado pelo relógio de Q quando P recebe a mensagem (“time=”,T) encontra-se no intervalo [T+min(1-), T+2D(1+2)-min(1+)].

Page 14: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

• Demonstração:

1. 2d = (min+)+(min+) = 2min++min+ - Delay real aquando da mensagem

(“time=?”)

min+ - Delay real aquando da mensagem (“time=”,T)

0, 0

2.0 2d-2min

3.CQ(t) [T+(min+)(1-), T+(min+)(1+)]

4.CQ(t) [T+min(1-), T+(2d-min)(1+)]

CQ(t) [T+(min+0)(1-), T+(min+2d-2min)(1+)]

CQ(t) [T+min(1-), T+(2d-min)(1+)]

Page 15: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

5.d D(1+)

6.CQ(t) [T+min(1-), T+2D(1+2)-min(1+)] c.q.d.

CQ(t) [T+min(1-), T+(2d(1+)-min(1+)]

CQ(t) [T+min(1-), T+2(D(1+))(1+)-min(1+)]

CQ(t) [T+min(1-), T+2(D+D)(1+)-min(1+)]

CQ(t) [T+min(1-), T+(2D+2D)(1+)-min(1+)]

CQ(t) [T+min(1-), T+(2D+2D+2D+2D2)-min(1+)]

CQ(t) [T+min(1-), T+(2D+4D+2D2)-min(1+)]

CQ(t) [T+min(1-), T+2D(1+2+2)-min(1+)]

CQ(t) [T+min(1-), T+2D(1+2)-min(1+)]

Page 16: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

• Este teorema indica que P consegue determinar um intervalo que contém o valor do relógio Q se medir o round trip delay 2D. Esse valor pode ser qualquer ponto nesse intervalo.

• P deve minimizar o erro máximo que comete ao ler o relógio de Q, estimando CQ(t) através da escolha da função CP

Q(T,D) para ser o ponto médio do intervalo.

7.CPQ(T,D) T+D(1+2)-min

8.e = D(1+2)-min Quanto mais pequeno for o round trip delay, menor será o erro de P ao ler o relógio de Q

Page 17: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Leitura de um Relógio Remoto com uma Precisão Específica

P terá de rejeitar todas as leituras cujo round trip delay seja superior a 2U de forma a obter um erro de leitura mínimo () em que

9. U = (1-2) (+min) Quanto mais próximo o U estiver de min melhor é a precisão da leitura de P

Page 18: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Contudo, uma vez que na pior das situações o timer de P pode-se encontrar com uma velocidade 1+, o timeout escolhido por P deve ser maior que

10.Umin = min(1+)

para assegurar que entre o envio da mensagem e a sua recepção haja um delay real de pelo menos min. Para obter a melhor precisão possível, o timeout deve ser o mais próximo possível de Umin.

Page 19: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

De acordo com a fórmula 8, a melhor precisão possível é

11.emin = 3min

D(1+2 )-min

min(1+)(1+2 )-min

min(1+2 + +2 2)-min

min+3 min-2 2-min

3min

2 Variação relativa entre o relógio de P e o de Q enquanto a mensagem (“time=”,T) “viaja” entre Q e P

Erro de P no estabelecimento de um timeout

Page 20: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

De forma a impedir que P fique eternamente a tentar ler o relógio de Q, há que definir um valor máximo de tentativas sucessivas de leitura (k) em que

12.

é a média de mensagens para estabelecer uma ligação entre dois processos.

)1(

2

m

Page 21: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

RELÓGIOS CONTINUAMENTE AJUSTÁVEIS

• Para compensar o facto de a velocidade de um relógio físico (HC), não ser ajustável, é implementado um relógio lógico (C) em software:

C(t) HC(t)+A(t)

• Para evitar “saltos” no tempo, A deve ser uma função contínua de tempo:

A(t) = m*HC(t)+Nem que, m = (M-L)/ e N = L-(1+m)*HC - parâmetro de amortização.

Page 22: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Protocolo de sincronização Master-slave

• O desvio máximo (es) entre um slave e um relógio externo é: es = em + ms.

• Protocolo de sincronização em = ao protocolo ms.

• Como existe ligação dedicada, eem=D-min

• considerando d (round trip delay) < 10s e = 10-5

1) CM(t) [T+min, T+2D-min]

2) e = D-min

Page 23: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

O algoritmo

M

S

at rapport:e D-min

te

t

W

C(t)=HC(t)

C(t)=HC(t)+A(t)

treal

tmedido

kW

DmsDNA )1(

min)()1(

Page 24: PROBABILISTC CLOCK SYNCHRONIZATION André Ribeiro Claudia Carvalho Nuno Paiva b a b e mc 42 Agenda: Notas introdutórias Pressupostos Tempo de um relógio

Características e melhoramentos

• DNA é variável.– D ~= min => DNA grande– D ~= U-min => DNA pequeno

• Se se escolher U ~= min => grande precisão´e muitas mensagens

• Se se escolher U ~= atrazo maximo, bastam 2 mensagens. Algoritmo Deterministico.

• São permitidas até k-1 tentativas falhadas• Distribuição das mensagens de sincronização• Se estimar ró estaticamente aumento o DNA• Aumentar e diminuir U automaticamente.