sistemas distribuídos - aula 09 - tempos, relogios e sincronizacao de tempo

30
SISTEMAS DISTRIBUÍDOS TEMPO, RELÓGIO E SINCRONIZAÇÃO DE TEMPO ARTHUR EMANUEL DE OLIVEIRA CAROSIA 1

Upload: arthur-emanuel

Post on 27-Jun-2015

642 views

Category:

Technology


0 download

DESCRIPTION

Tempos, Relogios e Sincronizacao de Tempo

TRANSCRIPT

Page 1: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

1

SISTEMAS DISTRIBUÍDOS

TEMPO, RELÓGIO E SINCRONIZAÇÃO DE TEMPO

ARTHUR EMANUEL DE OLIVEIRA CAROSIA

Page 2: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

2

ROTEIRO

Introdução

Relógios, eventos e estados de processo

Sincronização de Tempo em Sistemas Distribuídos

Page 3: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

3

ROTEIRO

Introdução

Relógios, eventos e estados de processo

Sincronização de Tempo em Sistemas Distribuídos

Page 4: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

4

INTRODUÇÃO• Em sistemas centralizados o tempo não é ambíguo

• Núcleo do SO informa tempo aos processos   • P1 solicita hora   • P2 solicita hora depois de P1   • tempo(P2) >= tempo(P1)

• Em SDs, cada máquina tem sua própria percepção do tempo

• P1 no host1, P2 no host2 se comunicam em ambiente com potencial diferença de tempo

• Não há noção de tempo global

Page 5: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

5

INTRODUÇÃO• Porque sincronizar os relógios em um sistema distribuído?

• Monitorar sistemas distribuídos à medida em que a sua execução se desenrola;

• Saber o momento exato em que eventos ocorrem, • ex.: para auditoria em transações bancárias.

• Sincronização externa: • sincronizar os processos com uma fonte de tempo externa de

referência.

• Sincronização interna: • relógios de diferentes computadores são sincronizados com

grau de precisão conhecido.

Page 6: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

6

ROTEIRO

Introdução

Relógios, eventos e estados de processo

Sincronização de Tempo em Sistemas Distribuídos

Page 7: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

7

RELÓGIOS FÍSICOS

Temporizador

•Cristal de quartzo lapidado e usinado com precisão

• Oscilam a frequências bem-definidas sob pressão

• Associados ao cristal:

• Contador • Registrador de retenção • Uma oscilação = uma unidade de contagem • Contador = 0

• gera uma interrupção e o contador é recarregado pelo registrador de retenção

• A interrupção é denominada clock do relógio

Page 8: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

8

TEMPO EM SISTEMAS DISTRIBUÍDOS• CPU’s múltiplas, cada uma com seu próprio relógio

• Frequência de cada oscilador cristal é normalmente estável, no entanto:

•  Impossível garantir que todos os cristais funcionem na mesma frequência

•  Cristais, funcionando a taxas ligeiramente diferentes

• Relógios fora de sincronia • Problema da defasagem do relógio

Page 9: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

9

PROBLEMAS DE TEMPORIZAÇÃO

• Como sincronizar os relógios com o mundo real?

• Como sincronizar os relógios um com o outro em um sistema distribuído?

Page 10: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

10

MEDIÇÃO DE TEMPO• Invenção dos relógios: séc. XVII

•   Tempo medido por meios astronômicos •   Todo dia o Sol nasce no leste e se põe no oeste •   Zênite é o ponto mais alto no céu alcançado pelo Sol •   Passagem do Sol pelo zênite chama-se: trânsito solar •   Trânsito solar ocorre aproximadamente ao meio-dia •   Intervalo de dois trânsitos solares é um dia solar •   Segundo solar= 1/86400 avos de um dia solar

Page 11: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

11

MEDIÇÃO DE TEMPO

Page 12: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

12

MEDIÇÃO DE TEMPO• O relógio atômico

• Surgido em 1948 • Mede o tempo com mais exatidão, independente dos

movimentos da Terra • Baseado nas transições do átomo de Césio 133

• Um segundo = “9.192.631.770 ciclos de radiação correspondente a transição entre dois níveis de energia do átomo de césio-133, no estado fundamental”

• 1 Segundo atômico = 1 segundo solar médio do ano de medição

• Usado para gerar o Tempo Atômico Internacional (TAI)

Page 13: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

13

MEDIÇÃO DE TEMPO• Resumo

• Medição do tempo baseado em segundos TAI (Tempo Atômico Internacional) constantes

•   Em fase com o movimento aparente do Sol

•  Hora Coordenada Universal (UTC)

•   UTC substitui o GMT (hora astronômica)

• National Institute of Standard, em Colorado/USA

• Time opera estações de ondas de rádio WWV para informar o tempo UTC

Page 14: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

14

ROTEIRO

Introdução

Relógios, eventos e estados de processo

Sincronização de Tempo em Sistemas Distribuídos

Page 15: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

15

SINCRONIZAÇÃO DE TEMPO EM SISTEMAS DISTRIBUÍDOS

• Se uma máquina tem um receptor WWV,

• Deve-se manter as demais sincronizadas com o tempo real

• Se não possui receptor WWV,

• Deve-se manter o tempo o mais próximo possível.

Page 16: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

16

SINCRONIZAÇÃO EM SISTEMAS DISTRIBUÍDOS• Problemas

• Processos localizados em sistemas computacionais diferentes

•  Atrasos decorrente do tempo de rede •  Há casos com diferencial de fuso horário

Page 17: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

17

SINCRONIZAÇÃO EM SISTEMAS DISTRIBUÍDOS• Há um relógio que define o tempo comumente aceitado e

pré-acordado

• “C”é o valor do relógio • “p”é uma dada máquina • “t”é hora UTC

• tempo na máquina p é Cp(t)

• Ideal

• R’p(t) = dC/dt = 1

Page 18: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

18

SINCRONIZAÇÃO EM SISTEMAS DISTRIBUÍDOS• Temporizadores

• Temporizadores reais não interrompem exatamente H vezes por segundo

• Teoricamente, um temporizador H=60 deve gerar 216.000 ciclos por hora

• O erro relativo de modernos chips estão em 10-5

Page 19: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

19

SINCRONIZAÇÃO EM SISTEMAS DISTRIBUÍDOS

Relação entre a hora do relógio e a hora UTC quando as

taxas de ciclos de relógios são diferentes

Page 20: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

20

SINCRONIZAÇÃO EM SISTEMAS DISTRIBUÍDOS• Algoritmos de sincronização de tempo

•  Algoritmo de Cristian • Algoritmo de Berkeley• Algoritmo de Lamport

Page 21: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

21

ALGORITMO DE CRISTIAN• Idéia geral

• Clientes consultam um servidor de tempo com hora exata (WWV)

• Hora fornecida enfrenta problema de atraso de atualização (demora para receber de volta a resposta)

•Solução

• Estimar atrasos

Page 22: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

22

ALGORITMO DE CRISTIAN

Page 23: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

23

ALGORITMO DE BERKELEY• Um daemon de tempo pergunta para todas as outras máquinas os valores marcados por seus relógios.

• As máquinas respondem.

• O daemon de tempo informa a todas as máquinas como devem ajustar seus relógios.

Page 24: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

24

RELÓGIOS FÍSICOS• Para muitas finalidades é suficiente que todas as máquinas concordem em uma hora.

• Só para algumas finalidades é necessário que a hora acordada seja idêntica ao tempo real.

Page 25: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

25

RELÓGIOS LÓGICOS DE LAMPORT• Mecanismos para identificação de relações causais e cronológicas em sistemas distribuídos

• Cada processo mantém um relógio lógico, que não necessariamente precisa ter relação com um relógio físico.

• Os processos atualizam seus relógios lógicos e transmitem valores de seus relógios lógicos em mensagens.

• Princípio de Lamport (1978)

• Processos do sistema não precisam concordar na hora atual, mas sim na ordem em que os eventos ocorrem

• Relógios do sistema não precisam estar sincronizados se os processos não interagem

• Relógios são sincronizados para frente, nunca para trás

Page 26: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

26

RELÓGIOS LÓGICOS DE LAMPORT• Para sincronizar relógios lógicos Lamport definiu:

• Relação “acontece antes” • Notação: a →b é lida como “a acontece antes de b” • A relação é transitiva:

• se a →b • b →c, • então a →c

•   Se a →b, então C(a) < C(b)

•  Se dois processos diferentes x e y não trocam mensagens

•   x →y e y →x não são verdadeiros

Page 27: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

27

RELÓGIOS LÓGICOS DE LAMPORT

Relógio lógico de Lamport em sistemas distribuídos.

Page 28: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

28

RELÓGIOS LÓGICOS DE LAMPORTCada processo Pi mantém um contador Ci

• Antes de executar um evento Pi executa Ci = Ci + 1.

• Quando um processo Pi envia uma mensagem m para Pj, ele ajusta a marca de tempo de m, ts (m) para igual a Ci após ter executado a etapa anterior.

• Ao receber a mensagem m, o processos Pj ajusta seu próprio contador local para Cj = max{Cj, ts (m)}, e depois disto executa a primeira etapa e entrega a mensagem à aplicação

Page 29: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

29

RELÓGIOS LÓGICOS DE LAMPORT

Três processos, cada um com seu próprio relógio.

Os relógios funcionam a taxas diferentes.

Page 30: Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo

30

SISTEMAS DISTRIBUÍDOS

TEMPO, RELÓGIO E SINCRONIZAÇÃO DE TEMPO

ARTHUR EMANUEL DE OLIVEIRA CAROSIA