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

2.355 visualizações

Publicada em

Tempos, Relogios e Sincronizacao de Tempo

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.355
No SlideShare
0
A partir de incorporações
0
Número de incorporações
15
Ações
Compartilhamentos
0
Downloads
125
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

  1. 1. SISTEMAS DISTRIBUÍDOS TEMPO, RELÓGIO E SINCRONIZAÇÃO DE TEMPO ARTHUR EMANUEL DE OLIVEIRA CAROSIA 1
  2. 2. ROTEIRO Introdução Relógios, eventos e estados de processo Sincronização de Tempo em Sistemas Distribuídos 2
  3. 3. ROTEIRO Introdução Relógios, eventos e estados de processo Sincronização de Tempo em Sistemas Distribuídos 3
  4. 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 4
  5. 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. 5
  6. 6. ROTEIRO Introdução Relógios, eventos e estados de processo Sincronização de Tempo em Sistemas Distribuídos 6
  7. 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 7
  8. 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 8
  9. 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? 9
  10. 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 10
  11. 11. MEDIÇÃO DE TEMPO 11
  12. 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) 12
  13. 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 13
  14. 14. ROTEIRO Introdução Relógios, eventos e estados de processo Sincronização de Tempo em Sistemas Distribuídos 14
  15. 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. 15
  16. 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 16
  17. 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 17
  18. 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 18
  19. 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 19
  20. 20. SINCRONIZAÇÃO EM SISTEMAS DISTRIBUÍDOS • Algoritmos de sincronização de tempo • Algoritmo de Cristian • Algoritmo de Berkeley • Algoritmo de Lamport 20
  21. 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 21
  22. 22. ALGORITMO DE CRISTIAN 22
  23. 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. 23
  24. 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. 24
  25. 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 25
  26. 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 26
  27. 27. RELÓGIOS LÓGICOS DE LAMPORT Relógio lógico de Lamport em sistemas distribuídos. 27
  28. 28. RELÓGIOS LÓGICOS DE LAMPORT Cada 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 28
  29. 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. 29
  30. 30. SISTEMAS DISTRIBUÍDOS TEMPO, RELÓGIO E SINCRONIZAÇÃO DE TEMPO ARTHUR EMANUEL DE OLIVEIRA CAROSIA 30

×