240 likes | 331 Views
b. å. =. 2. 4. b. e. mc. a. PROBABILISTC CLOCK SYNCHRONIZATION. 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. André Ribeiro Claudia Carvalho Nuno Paiva.
E N D
b å = 2 4 b e mc a PROBABILISTC CLOCK SYNCHRONIZATION • 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 André Ribeiro Claudia Carvalho Nuno Paiva
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
Porquê o tempo exacto? • Quando ocorreu um evento • Quanto tempo demorou • Qual ocorreu primeiro
Tipos de relógios utilizados • Relógios físicos • Relógios lógicos
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
Métodos de acerto • Métodos de acerto: • Push • Pull • Algoritmos por SW: • Convergência • C/média • S/média • Consistência
Porquê um método probabilistico median delay min delay
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);
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 ;
2 - 1 + tempo do relógio1 tempo real tempo do relógio2 • Quaisquer dois relógios podem variar entre si até 2; • Escolha de um timeout (maxp);
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.
P Q (“time=”,T) D (“time=?”) Leitura de um relógio remoto
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+)].
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+)]
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+)]
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 CPQ(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
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
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.
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
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.
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)+N em que, m = (M-L)/e N = L-(1+m)*HC - parâmetro de amortização.
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
O algoritmo S M tmedido at rapport: e D-min C(t)=HC(t) C(t)=HC(t)+A(t) W treal
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.