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



Documentos relacionados
Sincronização em Sistemas Distribuídos

Sincronização de Relógios

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

Sistemas Distribuídos Aula 10

Sistemas Distribuídos

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

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos

MC714 - Sistemas Distribuídos. Leandro Villas

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

4. Sincronização em Sistemas Distribuídos. 4.1 Sincronização de relógio

Sistemas Distribuídos. Aleardo Manacero Jr.

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

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Sincronização de relógios

Conjunto de Experiências Sobre Sincronização de Relógios

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

Sincronização de Relógios e Relógios Lógicos. Histórico da comunicação. Tempo Global. Mecanismos de ordenação total

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

Sistemas Distribuídos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

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

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

Sistemas Distribuídos Grupos

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

Introdução aos Computadores

RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE

Sistemas Distribuídos

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara

Grupos de Processos (Comunicação Grupal)

GPS (Global Positioning System) Sistema de Posicionamento Global

Exclusão Mútua em Sistemas Distribuídos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 01. Cursos de Computação

Sistemas Distribuídos

Modelos Fundamentais. Carlos Ferraz.

MC714 - Sistemas Distribuídos. Leandro Villas

PADI. Tempo em Sistemas Distribuídos PJPF, LAV INESC-ID/IST

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

Sistemas Operacionais

Sistemas Distribuídos Aula 13

Informática I. Aula 4. Aula 4-11/09/2006 1

LOGO FQA. Unidade 1 de FQA Nível 2. GPS e MCU. Satélites e Movimento Circular Uniforme. Marília Peres e Rosa Pais

Arquitetura e Organização de Computadores I

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

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

Avaliação de Desempenho

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

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Sistemas de Tempo Real: O Tempo Real. Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC

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

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

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

Mecanismo de Interrupção

Timer e serviços do Timer

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

UNIVERSIDADE. Sistemas Distribuídos

Sistemas Distribuídos Comunicação. Edeyson Andrade Gomes

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

MODELO CLIENTE SERVIDOR

Desempenho DESEMPENHO DE COMPUTADORES

Circuitos Lógicos Registradores e Contadores

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

ARQUITETURA DE COMPUTADORES

Arquitetura de um Computador

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)

Fundamentos de Hardware

Trabalhos Relacionados 79

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Edeyson Andrade Gomes

Paralelismo a Nível de Instrução

PROJETO DE REDES

Profs. Deja e Andrei

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções

1.1. Viagens com GPS. Princípios básicos de funcionamento de um GPS de modo a obter a posição de um ponto na Terra.


Arquitetura de Computadores II

O Tempo Real. Fundamentos dos Sistemas de Tempo Real. Rômulo Silva de Oliveira ebook Kindle, 2018

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas distribuídos:comunicação

ARTIGO IV PRINCIPAIS PARTES DA CPU

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Edeyson Andrade Gomes.

Camada Transporte Parte 2. Prof. Dr. S. Motoyama

Arquitetura de Computadores. Tipos de Instruções

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Quadro de consulta (solicitação do mestre)

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa

Sistemas Distribuídos: Conceitos e Projeto

Programação Distribuída

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

Telecomunicações e Teleprocessamento

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Estruturas do Sistema de Computação

SISTEMAS DISTRIBUÍDOS

Transcrição:

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

Roteiro da Aula Definições Clock Físico Cristian Berkeley Clock Lógico Lamport 2

Definições

Clock Físico Dia Solar Intervalo entre dois ápices consecutivos do sol Segundo Solar 1/24*3600 = 1/86400 do dia solar 4

Clock Físico Período de rotação da Terra não é constante Dias ficando mais longos 300 milhões anos atrás Ano terrestre = 400 dias Diminuição da velocidade de rotação devido à fricção do mar e atmosférica Dias mais longos Relógio Atômico Césio 133 Precisão 5

Clock Físico Relógio Atômico Segundo: Tempo de 9.192.631.770 transições do Césio 133 Igualar segundo solar no ano de criação TAI Tempo Atômico Internacional Média de todos os ticks de todos os relógios atômicos TAI = Média de Ticks/9.192.631.770 6

Tempo 50 relógios atômicos no mundo Tempo Atômico Internacional (TAI) Média dos pulsos dos relógios atômicos desde a meia noite do dia 1 de Janeiro de 1958, dividido por 9.192.631.770 86400 segundos do TAI representa hoje 3 milisegundos a menos que o dia solar médio Dias mais longos 7

UTC leap seconds (pulos nos segundos) Ajuste do TAI sempre que o tempo solar ficar 800 milisegundos maior Coordenado pelo Bureau International de l Heure (BIH), Sistema de tempo baseado no TAI Permanece em fase com o aparente movimento do sol Universal Time Coordinated Substituiu GMT (Greenwich Mean Time) 8

Sincronização de Relógio Ambigüidade de Tempo Processo A envia msg1 msg1 = dobre o valor de x C E Processo B envia a msg2 msg2 = some 100 a x X tem valor 1000 A 1 4 D 3 2 5 B Processo C executa msg1 e msg2 x = 2100 Processo D executa msg2, msg1 x = 2200 GRUPO I GRUPO II 9

Sincronização de Relógio Ambigüidade de Tempo Inexistente entre processos em Sistemas Centralizados Informação direcionada pelo Kernel Se P1 pergunta pelo tempo antes de P2 TP1 <= TP2 Solução não trivial em Sistemas Distribuídos 10

Sincronização de Relógio Processo B questiona a hora a S no instante T0 Processo A questiona a hora a S no instante T0 + 1 Tempo de B deveria ser <= ao tempo de A A S B O request de A chega primeiro a S TA <= TB 11

Sincronização de Relógio Exemplo de ambigüidade do Tempo Global Programa make do UNIX ou MS VC++ Examina arquivos fonte e objeto Compara data e hora de alteração Se o tempo do fonte é maior que o do objeto, cria um novo objeto 12

Sincronização de Relógio Exemplo de ambigüidade do Tempo Global Programa make do UNIX ou MS VC++ Se input.c tem tempo 1000 e input.obj tem tempo 900, cria um novo input.obj Se input.c tem tempo 1000 e input.obj tem tempo 1010, NÃO cria um novo input.obj Nesse caso o executável não reflete as alterações feitas 13

Sincronização de Relógio Exemplo de ambigüidade do Tempo Global Supondo um ambiente distribuído com a edição na máquina A e a compilação na máquina B O que acontece se o relógio de B adiantar em função de A? input.obj criado Máquina B 1000 1001 1002 1004 Máquina A 990 991 992 993 input.c alterado 14

Sincronização de Relógio Clock X Timer

Clock x Timer Timer Cristal de Quartzo Oscilar em freqüência bem definida Depende do tipo do cristal, corte e tensão 50 Hz ou 60 Hz Leap Second Ajuste para 51 Hz ou 61 Hz 16

Clock x Timer Timer Registradores associados Counter (Contador) Holding Register (Armazenamento) 17

Clock x Timer Counter (Contador) Decrementado por cada oscilação do cristal Quando Counter = 0 Interrupção Recarga do Counter pelo valor do Holding Register Interrupções Clock Tick 60 vezes por segundo, por exemplo 18

Clock x Timer Hardware Armazena Data e Hora padrão Ajuste manual pelo usuário Armazenado como deslocamento da data e hora padrão em número de ticks Clock tick Adiciona 1 ao tempo da memória Atualiza relógio 19

Clock x Timer Multicomputadores Múltiplos Clocks Freqüências distintas Perda de sincronização dos relógios Diferença Clock Skew 20

Clock x Timer Acesso ao TAI National Institute of Standard Time (NIST) WWV em Fort Collins Precisão de ±1 milisegundo a ±10 milisegundos GPS civil com um erro de 1 ms GPS militar com um erro de 1 ms 21

Clock x Timer Os relógios dos computadores não estão sincronizados skew - diferença entre dois relógios Relógios dos computadores estão sujeitos a desvio drift - contam o tempo a ritmos distintos Ritmo de desvio drift rate - Diferença, por unidade de tempo, em relação a um relógio de referência 22

Clock x Timer Relógios de quartzo correntes Drift de 1 seg em 11-12 dias (10-6 segs/seg) Relógios de quartzo de alta precisão Drift rate entre 10-7 e 10-8 segs/seg TAI Drift rate entre 10-13 segs/seg 23

Clock Lógico Solução de Lamport

Solução de Lamport Lamport Sincronização de Clock não necessita ser absoluta Processos sem interação Perda de sincronização não interfere 25

Solução de Lamport Tempo real X ordem dos eventos O que interessa aos processos? Alguns processos: Ordem dos eventos Clock Lógico 26

Clock Lógico X Físico Clock Físico Clocks devem ser iguais (multicomputadores) e não podem derivar num certo valor do tempo real. Tempo Real 27

Solução de Lamport Relação happens-before a b é lida a acontece antes de b Todos os processos concordam que o evento a ocorreu antes de b Se a e b são eventos num mesmo processo e a acontece antes de b, então a b é verdadeira Se a representa um SEND de P1 e b um RECV de P2, sendo P 1 e P 2 processos distintos, então a b é verdadeira. 28

Solução de Lamport Relação happens-before Transitividade a b e b c, então a c Se os eventos x e y ocorrem em processos que não trocam mensagens (concorrentes) É falso que: x y e y x 29

Solução de Lamport Se a b, então C(a) C(b) Clock de a é menor que o de b Clock como tempo Clock sempre é incrementado, nunca decrementado. 30

Solução de Lamport Processo 1 Processo 2 Processo 3 0 6 12 18 24 30 36 42 48 54 A D 0 8 16 24 32 40 48 56 64 72 B C 0 10 20 30 40 50 60 70 80 90 Processos 1, 2 e 3 executam em máquinas distintas com diferenças de velocidade de Clock. Sistemas Distribuídos - Clock www.edeyson.com.br 60 80 100 31

Sistemas Distribuídos - Clock www.edeyson.com.br Solução de Lamport 0 6 12 A 0 8 16 18 24 24 32 30 40 36 48 42 48 70 D 61 69 77 76 85 32 B C 0 10 20 30 40 50 60 70 80 90 100

Solução de Lamport Requisitos para Tempo Global Entre dois eventos deve haver ao menos um Clock Tick. Múltiplos eventos de SEND ou RECV sucessivos Avançar o Clock Dois eventos não devem ocorrer no mesmo tempo ID do processo 33

Clock Físico

Clock Físico Clock tick (x pulsos por segundo) Adiciona 1 ao tempo da memória X = 60 216.000 Ticks por hora Clocks podem atrasar ou adiantar Taxa de erro Comparação com tempo real 35

Clock Físico 36

Algoritmo de Cristian Servidor de Tempo Receptor WWV Sincronização Externa (fonte externa) Clientes questionam a hora do servidor Resposta imediata Problemas Ajuste de Clock Clock nunca deve ser atrasado Overhead do Kernel do Servidor 37

Algoritmo de Cristian Relógio do computador Ci é sincronizado com uma fonte externa S: S(t) - Ci(t) < D para i = 1, 2, N num intervalo I de tempo real Os relógios Ci são exatos dentro do limite D 38

Algoritmo de Cristian 39

Algoritmo de Cristian Um servidor de tempo ST recebe informação de uma fonte UTC Processo p requisita tempo em T0 e recebe t em T1 de ST p ajusta o seu relógio para t + (T1 T0)/2 Precisão é ± ((T1 T0)/2 - min): O instante mais recente em que ST coloca t na mensagem mreply é min depois de p enviar mrequest O tempo mais atrasado foi min antes de mreply ter chegado ao processo p O tempo segundo o relógio de ST quando mreply chega a p está no intervalo [t+min, t + (T1 T0) - min] 40

Algoritmo de Berkeley Servidor Ativo Sincronização Interna (sincronização entre relógios) Relógios podem não estar sincronizados externamente: Pode existir drift coletivo Questiona todas as máquinas pela hora local Ajuste pela média Avanço do relógio Atraso via mudança de ticks 41

Algoritmo de Berkeley Os relógios de vários computadores sincronizam-se entre si: Ci(t) - Cj(t) < D para i = 1, 2, N num intervalo I de tempo real Os relógios Ci e Cj estão sincronizados dentro do limite D 42

Algoritmo de Berkeley 43

Clock Físico Se um conjunto de processos P está sincronizado externamente com um limite D, então esses processos estão sincronizados internamente com um limite 2D: Ci(t) = S(t) + D, e Cj(t) = S(t) - D Ci(t) - Cj(t) = 2D 44

Algoritmo de Médias Solução descentralizada Cada máquina transmite, via broadcast, sua hora corrente Cada máquina coleta o envio de todas as outras. Após receber todas as mensagens, computa nova hora. Soluções: Média. Média com descarte de extremos. 45

Relógio Correto Um relógio é correto se o seu ritmo de desvio rd (drift rate) é limitado rd > 0 (ex. 10-6 segs/ seg) Erro de medição do intervalo entre t e t é limitado: (1 - rd ) (t - t) <= H(t ) - H(t) <= (1 + rd ) (t - t) (onde t > t) Isto impede saltos no valor do relógio Ex.: rd = 0,01segs/seg t = 1000 e t = 900 (1 - rd ) (t - t) = 0,99 * 100 = 99 H(t ) - H(t) = 100 (1 + rd ) (t - t) = 1,01 * 100 = 101 46

Sincronização em SD Síncrono Sistema distribuído síncrono é aquele em que os limites seguintes estão definidos: Tempo de execução de cada passo num processo tem limites inferior e superior Cada mensagem transmitida na rede é entregue dentro de um limite máximo de tempo Cada processo tem um relógio local cujo desvio em relação ao tempo real tem um limite conhecido 47

Sincronização em SD Síncrono Sincronização interna num sistema síncrono: O processo p1 envia o seu tempo local t para o processo p2 numa messagem m p2 ajusta o seu relógio para t + Ttrans onde Ttrans é o tempo de transmissão da mensagem m Ttrans é desconhecido mas min <= Ttrans <= max Incerteza é: i = max - min Ajustar relógio para o valor: t + (max + min)/2 A diferença entre os relógios é: skew <= i/2 48

Sincronização em SD Síncrono p2 pode fazer t2 = t + max: skew pode ser = i p2 pode fazer t2 = t + min: skew pode ser = i p2 faz t2 = t + ((max+min)/2): (t+max)-(t+(max+min)/2) = t+max-t-max/2-min/2= max/2-min/2=i/2 49

Sincronização em SD Síncrono p2 faz t2 = t + ((max+min)/2): t+((max+min)/2)-(t+min) = t+max/2+min/2-t-min= max/2-min/2 = i/2 A diferença entre os relógios é: skew <= i/2 50

Sincronização em SD Síncrono A Internet é um sistema síncrono? Ttrans = min + x onde x >= 0 Sistema Assíncrono 51