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

Documentos relacionados
Sistemas Distribuídos Aula 10

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

Sincronização de relógios

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

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

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

MC714 - Sistemas Distribuídos. Leandro Villas

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

Sincronização em Sistemas Distribuídos

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

Sistemas Distribuídos Aula 13

SISTEMAS DISTRIBUÍDOS

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos: Conceitos e Projeto

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

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

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

Sistemas Distribuídos

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

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

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

Sistemas Distribuídos Capítulo 6 - Aula 12

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos. Aleardo Manacero Jr.

Sistemas Distribuídos Capítulo 8 - Aula 15

Sistemas Distribuídos

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

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

Sistema de Navegação Global por Satélite

Sincronização de Relógios

SINCRONIZAÇÃO ATRAVÉS DO CLOCK

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

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistema de Posicionamento por Satélite (GPS)

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos Capítulo 6 - Aula 10

Sistemas Distribuídos Capítulo 8 - Aula 14

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

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos Capítulo 8 - Aula 13

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

Sistemas Distribuídos

Introdução aos 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

Conceitos Básicos dos Sistemas de Tempo Real

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Sistemas Distribuídos

Sistemas Distribuídos

Projeto de Sistemas Distribuídos. Considerações

Sistemas Distribuídos

Sistemas Distribuídos

GPS: conceitos, funcionamento e utilidade

Barramento. Prof. Leonardo Barreto Campos 1

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

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

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Trabalho do Curso de Redes de Computadores COS765/MAB /1

Comunicação entre Processos

Introdução a Sistemas Operacionais. Adão de Melo Neto

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

Função da camada de sessão

GSCT. Gerenciador de Sistemas de Carimbo do Tempo

Introdução a Sistemas Distribuídos

Novas Propostas para Protocolos de Streaming Luiz Eduardo Fontes Mello de Almeida

Prof. Marcelo Cunha Parte 6

Arquitetura em Camadas. Profª. Dianne Scherly Varela de Medeiros

Redes de Computadores

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock)

slide Pearson Prentice Hall. Todos os direitos reservados.

Aplicações com Banco de Dados e Cliente-Servidor

Sistemas Distribuídos

Redes de Computadores. Alan Santos

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

Data and Computer Network Endereçamento IP

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

REDES DE COMPUTADORES

SISTEMAS OPERACIONAIS

falhas em sistemas distribuídos

Transcrição:

Sistemas Distribuídos Aula Passada Capítulo 6 - Aula 10 Nomeação estruturada Implementação de um espaço de nomes Implementação de resolução de nomes Nomeação baseada em atributo Introdução ao problema de sincronização (cap 6) Aula de hoje Introdução ao problema de sincronização Relógios Físicos Algoritmos de Sincronização 1

Sincronização Comunicação é importante, mas não é tudo! Como os processos cooperam e sincronizam uns com os outros? Ex 1. Importante que vários processos não acessem simultaneamente um recurso compartilhado como uma impressora, mas cooperem para garantir um acesso temporário exclusivo. Ex 2. Concordância, entre dois processos, em relação a ordenação de eventos

Sincronização Sincronização em relação ao tempo Relógios Físicos e Lógicos Sincronização em relação ao compartilhamento de recursos Exclusão Mútua Sincronização em relação ao coordenador de um grupo de processos Algoritmos de Eleição de Lider

Sincronização de Relógios Em um sistema centralizado, o tempo não é ambíguo Se A pergunta a hora e logo depois B pergunta a hora, tempo A <= tempo B! Sistema distribuído e a aplicação make input.c 2151 e arquivo-objeto 2150 modificação é feita pelo make Arquivo-objeto 2144 e input.c 2143 nenhuma modificação é feita : Inconsistência!

Relógios Físicos Nos computadores, é possível programar um temporizador para gerar uma interrupção 60 vezes por segundo ou a qualquer outra frequência Cada interrupção é denominada ciclo de relógio Ao iniciar o sistema, data e hora atuais são digitadas e convertidas em ciclos de relógio. A cada ciclo de relógio, o procedimento do serviço de interrupção soma uma unidade a hora armazenada na memória.

Programas que esperam que o horário associado com um arquivo, objeto, processo ou uma mensagem esteja correto e seja independente da máquina na qual foi gerado podem falhar! Relógios Físicos Com um único computador e um único relógio Não há problema se o relógio estiver um pouco defasado! Todos os processos na máquina usam o mesmo relógio, internamente estão consistentes! Com a introdução de múltiplas CPUs, cada uma com o seu relógio diferença nos valores dos horários! Clock skew diferença entre a leitura simultânea de dois relógios

Relógios Físicos Hora atômica Internacional (International Atomic Time) é baseada em relógios muito precisos (taxa de variação de 10-13 ) Hora Coordenada Internacional (Universal Coordinated Time UCT) é o padrão para medição do tempo É baseada na hora atômica, mas ocasionalmente é ajustada pela hora astronômia 'Broadcast' da hora é feito através de estações de rádio (WWV) e satélites (GPS) Computadores que recebem o sinal sincronizam os relógios

Relógios Físicos - GPS Global Positioning System (sistema de posicionamento global) GPS usa 29 satélites, cada um circulando em a 20,000Km de altura Cada satélite tem até quatro relógios atômicos que são calibrados periodicamente Um satélite transmite sua posição em broadcast e anexa marcas de tempo a cada msg, informando a hora local Essa transmissão broadcast permite que todo receptor na Terra calcule com precisão sua própria posição (usando três satélites)

Relógios Físicos - GPS Ao se calcular a posição/tempo, usando GPS, dois fatos importantes do mundo real devem ser considerados: Leva um certo tempo para que os dados sobre a posição de um satélite cheguem ao receptor De modo gral, o relógio do receptor não está em sincronia com o de um satélite De modo geral, calcular uma posição exata não é trivial! No caso do tempo, receptores GPS têm um erro declarado de menos de 20 a 35 nanossegundos.

Relógios Físicos Se, no SD,em uma máquina tiver um receptor WWV, o objetivo é manter toadas as outras máquinas sincronizadas com ela Se nenhuma máquina tiver receptores WWV, cada uma monitora seu próprio horário, e o objetivo é manter todas as máquinas o mais junto possível Vários algoritmos foram propostos para manter um SD sincronizado. Cada máquina deve ter um temporizador que provoca uma interrupção H vezes por segundo. Quando o temporizador esgota o tempo fixado, o manipulador de interrupção soma 1 a um relógio de software que monitora o número de ciclos do relógio

Relógios Físicos Seja C o valor do relógio 'ideal' (hora UTC) Seja C p o valor do relógio no computador p Se t é o tempo no relógio em sincronia com a hora UTC, então temos o tempo em p dado por C p (t) Idealmente para todo p e para todo t C p (t) = t C' p (t) = dc/dt = 1

Relógios Físicos Seja ρ a taxa máxima de variação (que especifica se um relógio está adiantado ou atrasado). Especifica até que ponto a defasagem de um relógio pode chegar Como fazer a sincronização periódica entre relógios?

Sincronização de Relógios Se existe um 'servidor de tempo' (receptor WWC ou relógio de precisão) Algoritmo proposto por Cristian (1989) Se não existe uma fonte que disponibilize a hora coordenada universal (UCT) Algoritmo de Berkeley Tempo exato não importa!! Relógios Lógicos Algoritmo de Lamport e Relógios vetoriais

Algoritmo I Cristian (1989) Consulta a servidores de tempo equipados com um receptor WWV ou um relógio de alta precisão Utilizável em sistemas assíncronos onde os tempos de RTT são menores que a precisão desejada Problema: Atrasos de mensagens farão com que a hora fornecida esteja desatualizada Solução: Achar estimativas para os atrasos entre as máquinas (delay)

Algoritmo I Cristian (1) Computador A consulta a hora no computador B (requisição) (2) Computador B inclui na resposta o valor do seu relógio T 3 e T 2 (3) Computador A registra a hora da chegada da resposta T 4 (4) Supondo atraso aproximadamente igual em ambas as direções: θ = T 3 - ((T 2 -T 1 ) + (T 4 - T 3 ))/2 = ((T 2 -T 1 ) + (T 3 - T 4 ))/2

Algoritmo I Cristian Se o relógio de A estiver adiantado (θ < 0), significa que A deve atrasar o seu relógio Alteração deve ser feita gradativamente Se cada interrupção somaria 10 ms a hora, para atrasar, a rotina de interrupção soma apenas 9 ms, até que a correção tenha sido feita O mesmo mecanismo pode ser usado caso o relógio de A esteja atrasado (soma 11ms a cada interrupção)

Algoritmo II Berkeley Algoritmo usado para a sincronização interna de um grupo de computadores 'Servidor de tempo' é ativo (master) e coleta os valores de relógios de outros (slaves) Master usa estimativas do RTT para estimar o valor dos relógios dos computadores dentro dos grupos Hora atual é resultante de uma média Master envia aos slaves o AJUSTE a ser feito no relógio Caso o master falhe, um novo computador master é eleito

Algoritmo II Berkeley

Protocolo de Tempo de Rede (Network Time Protocol) Algoritmos de Christian e Berkeley são usados para intranets, enquanto o NTP é um serviço para Internet Protocolo para sincronização de relógios, baseado no UDP O ajuste do relógio é feito entre pares de servidores: A consulta B e B consulta A É possível calcular o deslocamento θ, bem como a estimativa de atraso δ entre os computadores (RTT/2) Oito pares de valores (θ,δ) são armazenados. O valor mínimo de δ é usado para a estimativa de atraso entre os dois servidores O valor θ associado a δ é considerado a estimativa mais confiável do deslocamento

Protocolo de Tempo de Rede (Network Time Protocol) Apesar de ser um protocolo que permite sincronismo simétrico, um relógio somente é ajustado se a sua precisão é pior do que a do relógio do outro computador Servidores são organizados em hierarquia, onde um relógio do nível k, possui maior precisão do que um relógio do nível k+1 Se nível de A for mais baixo do que o nível de B, B se ajustará a A

Protocolo de Tempo de Rede (Network Time Protocol)

NTP É confiável não é afetado por problemas de conexão pois usa servidores redundantes e caminhos redundantes entre servidores Atende 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

Relógios Lógicos Sincronização baseada em tempo relativo Tempo relativo não possui nenhuma relação com o tempo real O mais importante é que os processos do Sistema Distribuído concordem com a ordem em que os eventos ocorrem Algoritmo de Lamport Relógios Vetoriais