Tempo e estados globais. Tempo. Tempo. Sincronização de relógios físicos. Sincronização de relógios físicos: drift



Documentos relacionados
Sincronização. Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol

Sistemas Distribuídos Aula 10

Sincronização em SDs I. Bruno M. Carvalho Sala: 3B2 Horário: 35T34

Sistemas Distribuídos Sincronização de Relógios. Edeyson Andrade Gomes

Sistemas Distribuídos. Aleardo Manacero Jr.

Sistemas Distribuídos

Sincronização em Sistemas Distribuídos

Sincronização de Relógios

Sistemas Distribuídos e Tolerância a Falhas. Tempo e Relógios. Baseado no trabalho de: Ana Sofia Cunha m1892 Christian Lopes a15132 UBI, 2008

Sincronização em Sistemas Distribuídos

Introdução Sincronização Interna Sincronização Externa. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

Programação Distribuída

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Sistemas Distribuídos

Sincronização. Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol

- Wireless e NTP - 272

Considerações no Projeto de Sistemas Cliente/Servidor

Tipos de Servidores. Servidores com estado

NTP. Instalação e Configuração. Centro de Atendimento a Incidentes de Segurança - CAIS. Novembro de 1998 NTP PAL0102 PAL RNP

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos

Sincronização. Sincronização de Relógios. Relógios Físicos

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

MC714 - Sistemas Distribuídos. Leandro Villas

Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos

Tutorial NTP. Importânica e Funcionamento do Sincronismo de Tempo na Internet e do NTP


MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Protocolos Hierárquicos

Wireless LAN (IEEE x)

Sistemas Distribuídos

Programação de Sistemas para Tempo Real Capítulo 1. Luiz Affonso Guedes DCA-CT-UFRN

6 de Julho de Exercício 23 Para que servem portas na camada de transporte?

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

RCO2. Introdução à camada física

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

SISTEMAS DISTRIBUIDOS

PROJETO DE REDES

Modelos Fundamentais de um SD. Modelo de Interação ou Sincronismo

Posicionamento por Satélite. Tecnologia em Mecanização em Agricultura de Precisão Prof. Esp. Fernando Nicolau Mendonça

Redes de Computadores I - Protocolos de Controle: ICMP. por Helcio Wagner da Silva

Organização de Computadores 1

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Exclusão Mútua em Sistemas Distribuídos

Modelos Fundamentais. Carlos Ferraz.

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais

AULA Redes de Computadores e a Internet

Quadro de consulta (solicitação do mestre)

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

MODELO CLIENTE SERVIDOR

Sistemas Distribuídos. Capítulo 6 - Aula 10

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos Aula 15

Roteador Load-Balance / Mikrotik RB750

Ciência de Computadores Sistemas Distribuídos e Móveis

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

Sistemas Distribuídos

Módulo 8 Ethernet Switching

Lista de Erros Discador Dial-Up

Comunicação. Parte II

Arquitetura de Rede de Computadores

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

MC714 - Sistemas Distribuídos. Leandro Villas

Redes de Computadores

Tabela de roteamento

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT

Sumário. Comunicação Multicast. Soluções. Multicast. Application-Level Multicast. October 20, 2008 Algoritmos Epidémicos

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz

Grupos de Processos (Comunicação Grupal)

Redes de computadores. Redes para Internet

Sistemas Distribuídos

Tecnologia e Infraestrutura. Conceitos de Redes

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

Redes de Computadores

Rede de Computadores

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Arquitetura dos Sistemas de Informação Distribuídos

Redes de Computadores

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

PROJETO E IMPLANTAÇÃO DE INTRANETS

Capítulo 7 CAMADA DE TRANSPORTE

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

PARANÁ GOVERNO DO ESTADO

Manual Replicação Manual VPN

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Modelos de Arquiteturas. Prof. Andrêza Leite

Transcrição:

Tempo e estados globais Tempo Capítulo 10 - Introdução Noções iniciais: tempo em S, drift, skew, UTC Sincronização de relógios físicos lgoritmo de Christian lgoritmo de erkeley Protocolo NTP Tempo lógico e relógios lógicos Estados globais ebug distribuído Tempo é importante em Ss para etiquetar transações comerciais eletrônicas controle de concorrência com ordenação por timestamp manter a consistência de dados distribuídos Problema não existe um tempo global em Ss cada computador tem seu próprio relógio físico estes relógios não são exatos, desviam ao longo do tempo Não conseguimos sincronizá-los perfeitamente Sist. istrib. II - Prof. Cesar. Tacla 1 Sist. istrib. II - Prof. Cesar. Tacla 2 Tempo Veremos lgoritmos para sincronizar relógios físicos de forma aproximativa Relógios lógicos (relógios vetoriais), uma alternativa a sincronização de relógios físicos lgoritmos para determinar o estado global de uma execução distribuída. Ex. eterminar o estado de um processo quando o processo estava num determinado estado Sincronização de relógios físicos O que queremos Ordenar os eventos que ocorrem num S Para isto, colocamos timestamps = hora + data Todo computador num S tem um relóginterno utilizados pelos processos para obter o tempo local corrente processos em computadores diferentes podem colocar timestamps nos eventos mas os relógios de cada computador fornecem tempos diferentes Como sincronizar os relógios dos processos de um S? Poderiamos setar todos para o mesmo horário Mesmo assim, os relógios divergem ao longo do tempo a menos que correções sejam aplicadas Sist. istrib. II - Prof. Cesar. Tacla 3 Sist. istrib. II - Prof. Cesar. Tacla 4 Sincronização de relógios físicos: drift Sincronização de relógios físicos: drift Relógios internos divergem em relação a um tempo de referência pois cada um tem uma taxa de desvio = drift rate rift rate: é a taxa de desvio de um relógio em relação a um relógio padrão Exemplo Relógios quartz simples: 10-6 seg/seg trasa 1 segundo a cada 11,6 dias Relógios quartz de precisão: 10-8 seg/seg trasa 1 segundo a cada 3 anos e 2 meses Relógios atômicos: 10-11 seg/seg trasa 1 segundo a cada 3 mil anos Há relógios mais precisos (atrasam 1 seg a cada 3 bilhões de anos) Clock skew: diferença entre a leitura simultânea de dois relógios Exemplo: Skew num instante t qualquer Clock 1 = 10:00:00.005 Clock 2 = 9:00:58.000 Skew = 2.005 Sist. istrib. II - Prof. Cesar. Tacla 5 Sist. istrib. II - Prof. Cesar. Tacla 6 1

Sincronização de relógios físicos: UTC UTC: Tempo universal coordenado Padrãnternacional de tempo baseado em relógio atômico mas eventualmente atualizado pelo horário astronômico ifundido por estações de rádio por terra e satélite Computadores com receptores do sinal de rádio podem sincronizar seus relógios Existem es de tempo na Internet Sincronização de relógios físicos: Sincronização Quando os relógios dos processos estão sincronizados com uma autoridade S(t) C i (t) para i=1,2, N t: tempo físico/real S: tempo dado por um UTC C i : clock d-ésimo computador de um S : limite de sincronização Mais detalhes: http://www.bipm.fr/en/scientific/tai/time_server.html http://www.worldtimeserver.com/?locationid=utc Hora fornecida por uma autoridade tempo Sist. istrib. II - Prof. Cesar. Tacla 7 Sist. istrib. II - Prof. Cesar. Tacla 8 Sincronização de relógios físicos: interna Sincronização de relógios físicos: x interna Sincronizaçãnterna Quando os relógios dos processos estão sincronizados entre eles dentro de um determinado limite Utilizada quando é necessário somente controlar o tempo de execução das operações internas ao sistema. Hora fornecida por uma autoridade tempo C i (t) C j (t) para i, j=1,2, N Se um conjunto de processos está sincronizado mente dentro do limite então estes processos estão sincronizados internamente dentro do limite 2. Sist. istrib. II - Prof. Cesar. Tacla 9 Sist. istrib. II - Prof. Cesar. Tacla 10 Sincronização de relógios físicos: interna x Sincronizaçãnterna em sistemas síncronos Hora fornecida por uma autoridade Se um conjunto de processos está sincronizado internamente dentro do limite não podemos afirmar nada quanto ao sincronização pois os relógios podem desviar coletivamente em relação ao relógio de uma autoridade. tempo Sincronizaçãnterna em sistemas síncronos Num sistema síncrono os seguintes limites são conhecidos: o tempo que cada processo leva para executar um passo (é possível utilizar timeouts) os drift rates dos relógios o tempo máximo e mínimo de transmissão de mensagens Ex. e estão sincronizados em, mas está atrasado 3 e, 4 em relação à autoridade. Sist. istrib. II - Prof. Cesar. Tacla 11 Sist. istrib. II - Prof. Cesar. Tacla 12 2

Sincronizaçãnterna em sist. síncronos Sincronizaçãnterna em sist. síncronos ois processos, p1 e p2, querem sincronizar seus relógios: p1 envia seu clock t numa mensagem mediante uisição de p2 ou num de um período pré-estabelicido Sincronizaçãnterna em sistemas síncronos É o caso mais simples de sincronização Casos extremos Se p2 seta o relógio para t + Tmin então o skew pode ser igual a i (Tmax Tmin) se a mensagem levou Tmax para chegar Se p2 seta o relógio para t + Tmáx então o skew pode ser igual a i (Tmax Tmin) se a mensagem levou Tmin para chegar seta seu clock para t + Ttrans associada a Ttrans: i = Tmáx - Tmín t Caso médio Se p2 seta o relógio para t + (Tmax + Tmin)/2 então o skew será menor ou igual a i contece que a maioria dos sistemas são assíncronos (não existem limites máximos de transmissão). Pode-se simplesmente dizer que Ttrans = Tmin + x, x 0 Sist. istrib. II - Prof. Cesar. Tacla 13 Sist. istrib. II - Prof. Cesar. Tacla 14 Sincronização de relógios físicos: revisão aula 1 Método de Christian Revisão aula 1 Clock drift/skew UTC Tipos de sincronização Interna: C i (t) C j (t) Externa: S(t) C i (t) Sincronizaçãnterna em sistemas síncronos t + (Tmax + Tmin)/2 (menor skew máximo que as opções abaixo) t + Tmax t + Tmin Sincronização em sistemas assíncronos Um S conectado a uma fonte UTC responde fornecendo o tempo de seu relógio Cliente Cliente seta o clock em t + RTT/2 t Servidor Fonte UTC RTT = round-trip time (envio + recebimento) Sist. istrib. II - Prof. Cesar. Tacla 15 Sist. istrib. II - Prof. Cesar. Tacla 16 Método de Christian utilizável em sistemas assíncronos onde os tempos de roundtrip observados entre cliente e são menores que a precisão desejada Fórmula: t + RTT/2 Método de Christian: precisão : precisão rtt = 10ms cliente Cliente seta clock em t + rtt/2 = 10:00:00.010 Mas, o exato seria: 10:00:00.007 Erro: +3ms t = 10:00:00.005 2ms Sist. istrib. II - Prof. Cesar. Tacla 17 Sist. istrib. II - Prof. Cesar. Tacla 18 3

Método de Christian: precisão : precisão erro máximo cliente Método de Christian: precisão : precisão erro máximo cliente rt =10ms 9ms t = 10:00:00.000 Supondo um Tmin = 1ms Cliente seta clock em t + rtt/2 = 10:00:00.005 Mas, o exato seria: 10:00:00.009 Erro: -4ms rt =10ms 1ms t = 10:00:00.010 Supondo um Tmin = 1ms Cliente seta clock em t + rtt/2 = 10:00:00.015 Mas, o exato seria: 10:00:00.011 Erro: +4ms ±(RTT/2 Tmin) Sist. istrib. II - Prof. Cesar. Tacla 19 Sist. istrib. II - Prof. Cesar. Tacla 20 Método de Christian: resumo sobre precisão Método de Christian: exercício em lab. Resumo sobre a precisão : ±(RTT/2 Tmin) Quanto mais o RTT se aproxima Tmin, MIOR será a precisão Para obter um RTT mínimo pode-se fazer diversos pedidos ao Problemas do algoritmo Utiliza um se o morre impossível de sincronizar Solução: utilizar vários es de tempo, clientes fazem multicast do pedido e guardam a primeira resposta Outros problemas: es intrusos podem difundir um horário falso Exercício em laboratório: Fazer um cliente e um que implementem o algoritmo de Christian. O cliente deverá ser configurável para fazer n pedidos ao antes de escolher o menor RTT para setar seu clock. O NÃO SERÁ SINCRONIZO como uma fonte. Cliente e devem se comunicar por UP Sist. istrib. II - Prof. Cesar. Tacla 21 Sist. istrib. II - Prof. Cesar. Tacla 22 lgoritmo de erkeley lgoritmo de erkeley: exemplo lgoritmo de erkeley para sincronizaçãnterna em sistemas assíncronos Tem-se um conjunto de computadores, escolhe-se um como mestre t1 lgoritmo de erkeley Exemplo: RTT máximo = 10ms P3 clock? juste 1 clock? juste 2 clock? juste 3 t2 t3 P4 mestre clock? juste 4 t4 Comp Mestre P3 Leitura 1:00:05.010.031.000.070 RTT 0 6 8 20 Estimado 1:00:05.010.034.004.080 Média 1:00:05.016 esconsidera da média pois RTT > RTT máximo justes + 0.006-0.018 + 0.012-0.064 Sist. istrib. II - Prof. Cesar. Tacla 23 Sist. istrib. II - Prof. Cesar. Tacla 24 4

lgoritmo de erkeley: descrição NTP: Network Time Protocol lgoritmo de erkeley cada t unidades de tempo, o mestre pergunta o valor do clock dos seus escravos O mestre estima o valor do clock dos escravos observando o RTT (idem ao método de Christian) Em seguida, o mestre calcula a média dos valores obtidos (inclusive do seu relógio) Esta média elimina a tendência causada por certos clocks que rodam +rápido ou +lento que os outros precisão do protocolo depende de um RTT máximo nominal O mestre elimina todas leituras maiores que este máximo O mestre envia o valor de JUSTE dos clocks aos escravos Se o mestre falha, outro computador pode assumir seu papel Network Time Protocol Método de Christian e alg. de erkeley são utilizados principalmente em intranets enquanto que NTP é um serviço para Internet Permite aos clientes sincronizarem com uma fonte UTC Utilizável em sistemas assíncronos e sincronização Características É confiável não é afetado por problemas de conexão pois usa es redundantes e caminhos redundantes entre es tende um grande número de clientes É seguro evita interferências acidentais ou voluntárias usando técnicas de autenticação para verificar se os dados provém de uma origem conhecida. Sist. istrib. II - Prof. Cesar. Tacla 25 Sist. istrib. II - Prof. Cesar. Tacla 26 NTP: camadas NTP: sincronização entre es Funciona em camadas ou stratum Cada camada contém vários es Subrede de sincronização pode se reconfigurar quando um cai ou ocorre uma falha Fonte UTC NTP modos de sincronização entre es (1/2) Multicast Uso: em LNs de alta velocidade Um ou mais es enviam periodicamente o valor do clock para os outros es que setam seus relógios assumindo um tempo desprezível de transmissão relativamente baixa (mas pode ser suficiente em muitas situações) dos relógios Strata 1 (300) Strata 2 (20.000) Strata 3 (80.000)* Primário 1 Primário 2 Primário n Secundário1 Secundário2 Terciário 1 Terciário 2 Por solicitação Uso: quando uma precisão mais alta do que a obtida pelo modo multicast é necessária Um responde aos pedidos de timestamp idem ao método de Christian Ex: dois sistemas de arquivos em redes LN vizinhas, que devem manter os relógios sincronizados para bem registrar os horários dos acessos aos arquivos, podem acessar um de tempo local * Os números entre parênteses indicam a quantidade de es na Internet (dados de 1999) Sist. istrib. II - Prof. Cesar. Tacla 27 Sist. istrib. II - Prof. Cesar. Tacla 28 NTP: sincronização entre es NTP: duas partes NTP modos de sincronização (2/2) Simétrico Para es que fornecem o tempo em LNs e para os níveis mais altos da subrede de sincronização (níveis +próximos da fonte) través de troca de mensagens Para todos os modos Mensagens são entregues de maneira não confiável (UP) Nos modos por chamada e simétrico, os processos trocam PRES de mensagens uas partes: 1) Estimar a diferença dos relógios e a precisão desta estimativa Servidores trocam mensagens com timestamps das últimas duas trocas e da presente 2) Efetuar o cálculo do horário para o relógio a ser sincronizado Um NTP troca mensagens com vários outros Neste, um algoritmo seleciona o que fornece valores mais confiáveis => peer selection algorithm Um troca de par se o atual não fornece bons resultados : ±1 ms em LNS na ordem de dezenas de ms na Internet Sist. istrib. II - Prof. Cesar. Tacla 29 Sist. istrib. II - Prof. Cesar. Tacla 30 5

NTP: parte 1 do algoritmo T i-4 T i-3 T i-5 T i-2 t t T i-1 T i T i-5, T i-6, T i-7 T i-5, T i-4, T i-3 T i-1, T i-2, T i-3 Cálculos feitos no processo elay estimado (área em azul) = t - t = (T i T i-3 ) (T i-1 T i-2 ) Estimativa do offset (em ) = (T i-1 + /2) - T i = ± /2 O erro vem da suposição que metade do delay foi gasto na transmissão de para e a outra metade de para Sist. istrib. II - Prof. Cesar. Tacla 31 NTP: parte 1 - exemplo 00:00:04.000 00:00:00.000 00:00:04.060 0.030; 0.010; 4.000 00:00:00.010 00:00:00.030 00:00:04.040 00:00:00.040 0.030; 4.040; 4.060 00:00:00.070 t t 00:00:00.100 00:00:04.110 0.100; 0.070; 4.060 00:00:00.060 00:00:00.110 elay estimado (em ) = t - t = 50-30 = 20 ms Offset estimado (em ) = (t i-1 + /2) - t i = 100 + 10 4.110 = -4.000 (clock de b está atrasado) = ± /2 = ±10ms Sist. istrib. II - Prof. Cesar. Tacla 32 NTP: parte 1 precisão em detalhes (1) (em ) = ± /2 = ±10ms NTP: parte 1 precisão em detalhes (2) (em ) = ± /2 = ±10ms 0.030; 0.010; 4.000 elay estimado = 50 30 = 20 ms 0.030; 0.010; 4.000 elay estimado = 50 30 = 20 ms 0.030; 4.040; 4.060 00:00:00.060 Offset estimado = (0.090 + 0.010) 4.110 = -4.010ms 00:00:00.060 20ms Offset estimado = (0.110 + 0.010) 4.110 = -3.990ms 00:00:04.110 0.090; 0.060; 4.060 00:00:00.090 20ms 00:00:00.110 Erro = -10ms Flechas azuis: real Flechas marrons: assumido pelo algoritmo Sist. istrib. II - Prof. Cesar. Tacla 33 00:00:04.110 0.030; 4.040; 4.060 0.110; 0.080; 4.060 00:00:00.080 00:00:00.110 Erro = -10ms Sist. istrib. II - Prof. Cesar. Tacla 34 Sincronização de relógios físicos Sincronização de relógios físicos lgoritmo NTP parte 1 O algoritmo guarda os oito últimos pares <, > Para setar o clock, NTP utiliza o valor do offset que apresenta menor (ou seja, maior precisão) Sist. istrib. II - Prof. Cesar. Tacla 35 sincronização Tipo de sincron. interna Tipo de sistema síncronos assíncronos síncronos assíncronos simples erkeley Christian NTP t + (Tmax + Tmin)/2 Cálculo dos ajustes é dado pela média dos n clocks. Estimativa de cada clock similar ao método de Christian Clock t + RTT/2 ±(RTT/2 Tmin) Estimativa delay trans.: di = Ti Ti-3 + Ti-2 Ti-1 Estimativa do offset: oi = (Ti-1 + di/2) - Ti : = ±di/2 Sist. istrib. II - Prof. Cesar. Tacla 36 6