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

Documentos relacionados
Computação Distribuída I

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

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

Sistemas Distribuídos Aula 13

Sistemas Distribuídos

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

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

Sistemas Distribuídos

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

Sincronização de relógios

Sistemas Distribuídos: Conceitos e Projeto

Comunicação de Grupo: Disfusão Confiável e Atômica

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

Sincronização e Concorrência

Sincronização em Sistemas Distribuídos

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

Sincronização de Relógios

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 ATRAVÉS DO CLOCK

SISTEMAS DISTRIBUÍDOS

Sincronização em Sistemas Distribuídos

Tempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos

Ordenação. Relógios lógicos

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

Sistemas Distribuídos

Sincronização em Sistemas Distribuídos

Faculdade de Informática - PUCRS. Sistemas Distribuídos 2. Faculdade de Informática - PUCRS. Sistemas Distribuídos 4. Faculdade de Informática - PUCRS

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

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

Sistemas Distribuídos

Ordenação. Sistemas Distribuídos e Tolerância a Falhas. Universidade da Beira Interior 07/08

Sistemas Distribuídos

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

Sistemas Distribuídos

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

Sistemas Distribuídos Capítulo 8 - Aula 15

Relógio Lógico Algoritmo de Lamport. Relógio Lógico Algoritmo de Lamport. Relógio Físico Algoritmo Centralizado. Relógio Físico Algoritmo Centralizado

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos Aula 15

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

Sistemas Distribuídos

Redes de Computadores. Prof. MSc André Y. Kusumoto

Sistemas Distribuídos Aula 16

Sistemas Distribuídos. Aleardo Manacero Jr.

Unidade 1 de FQA 11.º Ano. Satélites e Movimento Circular Uniforme. GPS - Sistema de Posicionamento i Global. Coordenadas e Relógios

Sistemas Distribuídos

Sistemas Distribuídos

GLONASS Sistema idêntico ao GPS, mas projetado e lançado pela Rússia.

Comunicação orientada a mensagens

Sistemas Distribuídos Capítulo 6 - Aula 10

Programação Distribuída

Modelos Fundamentais. Introdução. Interação. Falhas. Segurança. Prof. Adriano Fiorese

Redes de Computadores. Prof. André Y. Kusumoto

Relógios Lógicos. Sumário. November 27, Relação Happened-Before. Relógios de Lamport. Relógios Vectoriais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Configurar configurações de tempo no WAP125 e no WAP581

Sistemas Distribuídos: Conceitos e Projeto Resiliência de Processos

Unidade 1 de FQA Nível 2. GPS e MCU. Satélites e Movimento Circular Uniforme. GPS - Sistema de Posicionamento i Global. Coordenadas e Relógios

Sistemas Distribuídos

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

MC714 - Sistemas Distribuídos. Leandro Villas

Sistemas Distribuídos Capítulo 6 - Aula 12

Tempo e sincronização

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

Sistemas Distribuídos e Redes de Sensores. abril de 2013

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

Um Algoritmo Probabilista de Recuperação de Erros para Difusão Fiável

Sistemas Distribuídos. 7 Coordenação e Acordo. Coordenação e Acordo. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

2) Em relação aos algoritmos de sincronização de relógios:

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

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

Sistemas Distribuídos Capítulo 8 - Aula 14

Visão do Usuário da DSM

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

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos. Capítulo 7 - Aula 16

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

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

RELÓGIOS. (d) Entre 101 e 99 milisegundos. (e) Entre 102 e 98 milisegundos.

Submódulo Sistema de Medição de Sincrofasores

Vamos fazer um pequeno experimento

Sincronização. Fernando Silva DCC-FCUP. Fernando Silva (DCC-FCUP) Sincronização 1 / 45

7 Testes de Desempenho

AULA ANTERIOR: MODELOS FUNDAMENTAIS

Sistemas Distribuídos Capítulo 8 - Aula 13

Sistemas Distribuídos

Algoritmos Distribuídos Modelo Computacional

Redes de Transporte SDH Sincronização de rede

Comunicação. capítulo

Cap. 06 Sincronização

Comunicação em tempo real

Sistemas Distribuídos Aula 17

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

SSC546 -Avaliação de Desempenho de Sistemas

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

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

Introdução Tempo Lógico Relógios Lógicos de Lamport Relógios Lógicos Vetoriais. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Transcrição:

WTF : Computação mini-curso Distribuída LCMI/DAS/CTC/UFSC canismos de ordenação total Sincronização de Relógios e Relógios Lógicos Prof. Lau Cheuk Lung E-mail: lau.lung@inf.ufsc.br Departamento de Informática - INE Universidade Federal de Santa Catarina - UFSC Histórico da comunicação: baseado no algoritmo de ordenação de eventos do Lamport; Baseado em privilégio: o token dentro de um anel lógico de processos. O processo de posse do token tem direito de multicast; Baseado em seqüenciador (fixo ou móvel): a mensagem é enviada pro seqüenciador e ele repassa a mensagem pro grupo; Sequenciador repassa a mensagem (Tandem); Sequenciador define a ordem de entrega (ISIS); Acordo no destino: a mensagem em enviada pro grupo que executa um protocolo de acordo para decidir sobre a ordem de entrega da mensagem. Histórico da comunicação Ordenando eventos baseado em relógios físicos Ordenando eventos em sistemas de comunicação: Uso de relógios sincronizados; Histórico de comunicação (algoritmo de Lamport78) P P P P Problema: P:,,,, P:,,,, P:,,,, P:,,,, Como fazer com que todos os processos entreguem as mensagens numa única ordem?? Solução : relógios sincronizados Se todos os processos tiverem relógios sincronizados a solução é trivial. Cada mensagem, antes de ser difundida, é marcada com o tempo no instante do envio (estampilha de tempo); Uma mensagem m é definida por m(id, ts), onde: id é o identificador do processo que enviou a mensagem; ts é o instante de tempo em a mensagem foi enviada Os processos receptores comparam as estampilhas de tempo de cada mensagem para estabelecer uma ordem única; Se duas mensagens tiverem a mesma estampilha de tempo, elas são entregues de acordo com o id do emissor. 4 Ordenando eventos baseado em relógios físicos Uso de relógios físicos sincronizados; P P P P Sem ordem: P:,,,, P:,,,, P:,,,, P:,,,, Com ordem baseado nas estampilhas de tempo: P:,,,, P:,,,, P:,,,, P:,,,, e foram enviadas no mesmo instante de tempo (o que é quase impossível), a ordem de entrega dessas mensagens pode ser estabelecida, por exemplo, pelo processo que tiver o menos id (P), desta forma, é entregue antes de. A solução usando relógios sincronizados é trivial, mas sincronizar relógios em sistemas distribuídos NÃO! É necessário determinar com exatidão o tempo no qual os eventos ocorrem nos sistemas computacionais Registro de acesso ao sistema (login/logout) Determinação do tempo de uso (ex.: telefonia, acesso à rede, vídeo sob demanda, videoconferência, etc.) Registro de transações bancárias Registro de compra/venda de produtos Auditoria e segurança... 5 6

A importância da sincronização de relógios, exemplo: Arquivos fonte Input.c com tempo igual a 5 e arquivo objeto Input.o com tempo igual a 5 -> ocorre recompilação; Arquivos fonte Output.c com tempo igual a 4 e arquivo objeto Output.o com tempo igual a 44 -> nada é feito; Os relógios das máquinas não são sincronizados Os relógios não são precisos: há um desvio entre o tempo real e o marcado pelo relógio smo que se acerte os relógios, com o passar do tempo eles perdem a sincronia Computador no qual o compilador executa 44 45 46 47 48 Output.o criado Computador no qual o editor executa 4 4 44 45 46 Colouris, Dollimore & Kindberg Rede Output.c criado 7 8 Relógios físicos Computadores têm um circuito para manter a trilha de tempo. Este circuito depende de um cristal de quartzo que quando mantido sob tensão oscila em uma freqüência bem definida que depende do: Tipo de cristal; Como ele foi cortado; Quantidade de tensão aplicada. Cada cristal tem um contador e um registro. Cada oscilação do cristal decrementa o contador em uma unidade e quando o contador alcança zero, uma interrupção é gerada e o contador recarregado de acordo com o valor do registro. Desta forma é possível programar um temporizador para gerar uma interrupção 6 vezes por segundo, ou em qualquer outra freqüência. Cada interrupção é chamado um tique de relógio (clock tick). Relógios implementados usando cristal de quartzo podem sofrer uma diferença de segundo a cada.. de segundos (aproximadamente.6 dias). Portanto, em sistemas distribuídos, é necessário sincronizar os relógios dos computadores de tempos em tempos. A sincronização de relógios físico é baseada num relógio de referência baseado no movimento solar chamado de UTC (Universal Time Coordenated), fornecido pelo NIST (National Institute of Standard Time). 9 Chamaremos o relógio local de C. Quando o UTC é t, o valor do relógio na máquina p é Cp(t). Em um mundo perfeito, teríamos então Cp(t) = t para todo p e todo t, ou seja, dc/dt =. No entanto, relógios reais não geram interrupções exatamente H vezes por segundo. Um temporizador usando quartzo com H = 6 deveria gerar 6. tiques por hora (6 tiques x 6 seg). Na prática, o erro relativo é de -5, isto é, a máquina pode obter valores entre 5.998 a 6. tiques por hora. is precisamente, se existe alguma constante ρ tal que: O desvio de um relógio em relação a uma referência UTC. Relógio, C dc/dt > Relógio dc/dt = perfeito ( ρ) dc/dt ( + ρ) Relógio rápido dc/dt < o temporizador pode ser dito que trabalha dentro de sua especificação. A constante ρ é especificada pelo manufaturador e é conhecido como a taxa de desvio máximo. Relógio lento Referência UTC, t

Possíveis soluções: Relógios atômicos colocados em todas as máquinas, marcando o tempo universal (UTC) Inviável! Possíveis soluções: Receptores de satélite em todas as máquinas (satélites difundem o sinal de tempo UTC) Sairia caro demais! A medição do tempo para fins científicos deve ser muito precisa e o Relógio Atômico é o mais preciso de todos que existem atualmente. Ele mede as diminutas trocas de energia do interior dos átomos do metal Césio. Por serem muito regulares, as trocas criam um padrão preciso para medir o tempo. O Relógio Atômico mede as vibrações naturais dos átomos de Césio. Eles vibram mais de 9 bilhões de vezes por segundo, com isso, o Relógio Atômico atrasará poucos segundos a cada. anos. 4 Possíveis soluções: Sincronização pela rede Servidores de tempo, com relógios precisos, difundem um sinal de tempo pela rede NTP (Network Time Protocol) Hieraquia de Servidores Servidores de o nível (ou primários): possuem relógios precisos Servidores de o, o,..., N o nível: recebem o tempo do nível anterior Clientes (máquinas dos usuários finais): perguntam o tempo a um servidor e atualizam seus relógios com base na resposta recebida NTP (Network Time Protocol) o Nível o Nível 5 6 Características do NTP Barato por não exigir relógios precisos (atômicos ou com GPS) em todas as máquinas Impreciso devido ao tempo de propagação das mensagens pela rede não ser constante O algoritmo de sincronização dos relógios leva em conta uma estimativa do tempo de propagação das mensagens pela rede smo assim, existe um erro implícito que pode chegar a dezenas de ms, e que deve ser levado em conta pelos sistemas Algoritmos de sincronização Os algoritmos de sincronização podem ser centralizados ou distribuídos. Na abordagem centralizada podemos ter duas variantes: servidor passivo e servidor ativo. Centralizada passiva: o cliente envia uma mensagem perguntado as horas (Horas =?) ao servidor no instante T no relógio do cliente. No instante T, também no relógio do cliente, ele recebe a resposta. Cliente T Hora =? Servidor de Tempo Tr = (T - T) + I Hora = T T 7 8

Centralizada ativa: o servidor de tempo envia uma mensagem com as horas (Horas = T) aos clientes registrados a cada período de tempo. Cliente Hora = T Servidor de Tempo distribuída algoritmo de Univ. de Berkeley : : 8 + 5 + 7 = 85 = :5: Tr = Ti + Tt Hora = T :5 :5 Rede local Tt: Tempo de transmissão Hora = T :5 :5 9 distribuída algoritmo de Univ. de Berkeley +5 :5 :5 - +5 :5 8 + 5 + 7 = 85 = :5: Rede local 4 Solução : algoritmo de Lamport78 Lamport propôs um algoritmo simples que não precisa de relógios físicos para ordenar eventos. Cada processo possui um contador local (que inicializa em zero) que incrementa cada vez que este difunde uma mensagem. Na mensagem deve conter o valor desse contador: nsagem: m(pi, Ci), onde Pi é o id do processo e Ci é o valor do contador. Quando um processo recebe uma mensagem ele compara com o valor do contador da mensagem com o seu contador local. Se for maior, ele adota esse valor. Se for menor ou igual, não faz nada. Uma vez que todos processos vão receber o mesmo conjunto de mensagem m(pi, Ci). A ordenação é baseada na valor de Ci de cada mensagem. nsagens com Ci igual, vai primeiro a que tiver o menor Pi. Solução : algoritmo de Lamport78 Solução : algoritmo de Lamport78 P P P P P P P P P P P P P P P P P envia : (P, ) P envia : (P,) P envia : (P, ) 4

Solução : algoritmo de Lamport78 Solução : algoritmo de Lamport78 P P P P P P P P P P P P P P P P P envia : (P,) P recebe (P,): contador de P é e vai a P recebeu (P,): contador de P é e continua com P envia : (P,) P envia : (P,) P recebe (P,): contador de P é e continua com P envia : (P, ) P envia : (P,) P envia : (P, ) 5 6 Solução : algoritmo de Lamport78 Solução : algoritmo de Lamport78 P P P P P P P P 5 P P P P P P P P P envia : (P,) P recebe (P,): contador de P é e vai a P envia : (P,) P recebe (P,): contador de P é e continua com P envia : (P,) P envia : (P, ) 7 P recebe (P,): contador de P é e vai a P envia : (P,) P recebe (P,): contador de P é e vai a P envia : (P,) P recebe (P,): contador de P é e continua com P envia : (P,) P envia : (P, ) 8 Solução : algoritmo de Lamport78 Solução : algoritmo de Lamport78 P P P P P P P P P P P P P P P P P envia : (P,) P recebe (P,): contador de P é e vai a P envia : (P,) P recebe (P,): contador de P é e vai a P envia : (P,) P recebe (P,): contador de P é e continua com P envia : (P,) P envia : (P, ) 9 No final, todos recebem (P,) e seus contadores locais vão a P envia : (P,) P recebe (P,): contador de P é e vai a P envia : (P,) P recebe (P,): contador de P é e vai a P envia : (P,) P recebe (P,): contador de P é e continua com P envia : (P,) P envia : (P, )

Solução : algoritmo de Lamport78 P P P P P P P P nsagens recebidas por cada processo: (P,), (P,), (P,), (P,), (P, ) Ordenando-as baseado no contador: (P, ), (P,), (P,), (P,), (P,) Desta forma todos processos entregam esse conjunto de mensagens e na mesma ordem (ordem total). 6