Sistemas Distribuídos



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

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos Aula 10

Sincronização de Relógios

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

Sistemas Distribuídos

Sincronização em 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. Aleardo Manacero Jr.

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

MC714 - Sistemas Distribuídos. Leandro Villas

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

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

Programação Distribuída

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

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

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

Sistemas Operacionais

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

Estruturas do Sistema de Computação

Sistemas Distribuídos Grupos

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Arquitetura e Organização de Computadores I

Organização de Computadores 1

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

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUÍDOS

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

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

GPS (Global Positioning System) Sistema de Posicionamento Global

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

Sistemas Operacionais

Sincronização de relógios

Entendendo como funciona o NAT

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

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

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

Comunicação. Parte II

UNIVERSIDADE. Sistemas Distribuídos

Exclusão Mútua em Sistemas Distribuídos

- Wireless e NTP - 272

Mecanismo de Interrupção

Redes de Computadores II. Professor Airton Ribeiro de Sousa

GESTÃO DE SISTEMAS E REDES YNAMIC HOST CONFIGURATION PROTOCOL

Sistemas Operacionais

Sistemas distribuídos:comunicação

Quando se fala em ponto eletrônico, a primeira coisa que vem à sua cabeça ainda é dor?

Relatorio do trabalho pratico 2

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

Veja abaixo um exemplo de um endereço IP de 32 bits:

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

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

Timer e serviços do Timer

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

MC714 - Sistemas Distribuídos. Leandro Villas

Sistemas Operacionais. Prof. André Y. Kusumoto

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

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

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

4 Arquitetura básica de um analisador de elementos de redes

POLÍTICA DE CARIMBO DO TEMPO DA AUTORIDADE DE CARIMBO DO TEMPO VALID (PCT da ACT VALID)

Introdução ao Modelos de Duas Camadas Cliente Servidor

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

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Grupos de Processos (Comunicação Grupal)

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014

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

DEPARTAMENTO DE ENGENHARIA ELÉTRICA DEE CURSO DE ENGENHARIA ELÉTRICA

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

Modelos Fundamentais. Carlos Ferraz.

Sistemas Operacionais

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

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

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

Sistemas Distribuídos

Sistemas Distribuídos

Processos e Threads (partes I e II)

MODELO CLIENTE SERVIDOR

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Conexão de Redes. Protocolo TCP/IP. Arquitetura Internet.

Gerência de Processador


Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

Subcamada MAC. O Controle de Acesso ao Meio

Sistemas Operacionais Processos e Threads

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga

Capítulo 4 - Roteamento e Roteadores

Gerência do Processador

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Capítulo 4 Gerenciamento de Memória

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

GT-VOIP Relatório I.9: Avaliação do Ambiente Sphericall da Marconi. Setembro de 2002

Sistemas Distribuídos

Transcrição:

Sincronização Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 995 Seção. pág. 36-325 2

Conteúdo Relógios lógicos Algoritmo de Lamport Relógios físicos Algoritmos para sincronização de relógio Algoritmo de Cristian Algoritmo de Berkeley Algoritmo baseado na média Sistema com várias fontes externas 3 Sincronização através do relógio Sincronização: sistemas distribuídos sistemas centralizados Sistemas distribuídos utilizam algoritmos distribuídos não é conveniente coletar todas as informações sobre a situação corrente para então tomar as decisões 4

Sincronização através do relógio Propriedades dos algoritmos distribuídos:. Informações espalhadas em diversas máquinas 2. Processos decidem baseados em informações locais 3. Deve ser evitado um único ponto de falha 4. Não existe relógio global Ex.: um único processo gerenciando acesso a E/S Ex.: programa make 5 Sincronização através do relógio 6

Sincronização através do relógio Por que é necessário a sincronização de clocks? A ordem cronológica entre 2 eventos éimportante. Clock Lógico: consistência interna entre os clocks Clock Físico: consistência interna entre os clocks e com o tempo real Qual a solução para a sincronização de clocks? Algoritmos de Lamport, Cristian, Berkeley e Daemon Time-Manager 7 Relógios lógicos Temporizador: dispositivo baseado em cristal de quartzo que oscila em uma freqüência bem definida. Dois registradores são associados ao temporizador: contador: quando chega a zero gera interrupção retenção: valor carregado no contador Escorregamento de clock: diferenças entre as freqüências dos cristais que fazem com que os clocks percam o sincronismo. 8

Relógios lógicos O que é CLOCK? Cristal de quartzo; Registrador Contador; Registrador de Retenção; retenção retenção retenção CLK 0 0 CLK 0 0 0 0 0 CLK contador contador INT contador CPU CPU CPU 9 Relógios lógicos É possível sincronizar TODOS os relógios para obter um tempo padrão único? Lamport (978): se 2 processos não interagem não é necessário sincronismo não é preciso que todos os processos estejam de acordo com o valor exato do tempo mas apenas sobre a ordem em que os eventos acontecem 0

Relógios lógicos Relógios lógicos: medem a passagem do tempo mas não precisa estar com o valor igual ao da hora oficial Relógios físicos: dispositivos que não podem diferir da hora oficial mais do que um determinado valor Algoritmo de Lamport Relação acontecimento-anterioridade: a b (a acontece antes de b). Pode ocorrer em 2 situações: Se a e b são eventos do mesmo processo, e se a ocorre ante de b, então a b é verdadeira. Se a é o evento de uma mensagem sendo enviada e b é o evento da mesma mensagem sendo recebida, então a b é verdadeira. 2

Algoritmo de Lamport Relação transitiva: se a b e b c então a c Eventos concorrentes: se x e y são eventos que acontecem em processos distintos que não trocam mensagens (nem mesmo indiretamente) então nada pode ser dito sobre x y e y x. Se a b então C(a) < C(b) O tempo medido pelo clock é crescente. Para corrigi-lo deve-se somar. 3 Algoritmo de Lamport 4

Algoritmo de Lamport Com uma pequena modificação, cumpre os requisitos para a implementação do tempo global: Entre 2 eventos, o clock precisa rodar pelo menos vez (mesmo que os eventos aconteçam em rápida sucessão) Como 2 eventos não podem nunca ocorrer exatamente no mesmo instante, deve-se juntar o número do processo no qual o evento ocorre aos bits de mais baixa ordem do tempo 5 Algoritmo de Lamport Podemos atribuir o tempo de todos os eventos sujeito às seguintes condições:. Se a ocorre antes de b no mesmo processo, então C(a) < C(b). 2. Se a e b são envio e recepção de uma mensagem, então C(a) < C(b). 3. Para quaisquer eventos a e b, C(a) C(b). 6

Relógios físicos Trânsito do sol: evento do Sol alcançando seu ponto de maior altura no céu Dia solar: intervalo entre 2 trânsitos consecutivos Segundo solar: dia solar/86.400 86.400 = 24 * 3600 Segundo solar médio: dia solar médio/86.400 (necessário pois o dia solar varia) 7 Relógios físicos Relógios atômicos de césio: tempo para que o césio 33 faça 9.92.63.770 transições 86.400 segundos TAI (Tempo Atômico Internacional) é, atualmente, 3ms menor que o dia solar Foram introduzidos os segundos bissextos (quando a diferença atinge 800 ms) UTC (Tempo Universal Coordenado) O UTC está substituindo o GMT (Tempo Médio de Greenwich) 8

Relógios físicos 9 Relógios físicos Disponibilização do UTC: Estação de rádio de ondas curtas prefixo WWV (NIST) Satélite GEOS Serviço na Internet: time.nist.gov 20

Algoritmo para sincronização de relógio Como manter o sincronismo dos relógios das máquinas de um sistema distribuído? Todas as máquinas possuem um temporizador que causa H interrupções por segundo. Quando o temporizador expira adiciona-se no clock. Idealmente em uma máquina p: C p (t UTC ) = t UTC 2 Algoritmo para sincronização de relógio 22

Algoritmo de Cristian Servidor de tempo: máquina sincronizada com um serviço que fornece o tempo UTC. Periodicamente cada máquina envia uma mensagem para o servidor de tempo. O servidor responde com o tempo corrente C UTC. 23 Algoritmo de Cristian Cliente T 0 T Requisição R UTC Servidor 24

Algoritmo de Cristian Problema: o tempo nunca pode andar para trás mudança do tempo é feita gradativamente. Ao invés de se adicionar 0 ms a cada interrupção adiciona-se 9 ms até atingir o valor corrigido. Pode-se utilizar o mesmo esquema para adiantar o relógio. 25 Algoritmo de Cristian Outro problema: a requisição e a resposta gastam um tempo não nulo. E este tempo pode variar. Pode-se estimar o tempo que a mensagem gastou para retornar fazendo: ( T -T 0 ) / 2 Ou ainda, se soubermos o tempo que o servidor gasta para processar a requisição: ( T -T 0 - I ) / 2 26

Algoritmo de Berkeley Algoritmo adotado no UNIX Berkeley: se nenhuma máquina está sincronizada com o tempo UTC:. o servidor de tempo consulta todas as máquinas 2. calcula a média dos tempos 3. informa a cada máquina se ela deve adiantar ou atrasar o relógio 27 Algoritmo de Berkeley 28

Algoritmo baseados na média Algoritmo descentralizado Divide-se o tempo em intervalos fixos de ressincronização (i-ésimo intervalo): Início: T 0 + ir Fim: T 0 + (i+)r T 0 : tempo conhecido por todas as máquinas R: parâmetro do sistema 29 Algoritmo baseados na média Em cada intervalo todas as máquinas devem:. Enviar uma mensagem de broadcast com seu tempo corrente. as mensagens não vão ser emitidas ao mesmo tempo 2. Iniciar um temporizador para coletar todas as outras mensagens. 3. Calcular o tempo corrente com os valores coletados ex.: calcular a média dos valores podendo descartar os valores muito alto ou muito baixos 30

Sistema com várias fontes externas de tempo No caso de sistemas distribuídos onde seja necessária uma sincronização muito precisa pode-se utilizar várias fontes conectadas a serviços de UTC. Como calcular o tempo baseado nos vários servidores de tempo? Estabelece-se intervalos de valores válidos para o tempo UTC. 3 Sistema com várias fontes externas de tempo Sistema do DCE (Distributed Computing Environment) da OSF (Open Software Foundation):. Cada servidor de tempo envia um broadcast periodicamente 2. Cada máquina, quando obtém os intervalos de UTC, descarta os valores muito fora do esperado 3. Calcula a interseção dos intervalos válidos 4. Ajusta o seu relógio para coincidir com o ponto médio deste intervalo 32

Sistema com várias fontes externas de tempo Fonte de UTC Fonte de UTC 2 Fonte de UTC 3 Rejeitado Fonte de UTC 4 Interseção Valor corrente Tempo 33 NTP Network Time Protocol Desenvolvido na Universidade de Delaware Características: Usa o protocolo UDP e porta 23 Usa o algoritmo de Marzullo para determinar o valor do tempo NTPv4 pode manter um relógio com precisão de 0 milissegundos na Internet e 200 microssegundos em uma LAN Sistema hierárquico baseado em estratos (stratum) 34

NTP Network Time Protocol 35 NTP Network Time Protocol Página oficial: http://www.ntp.org/ Servidores do estrato time.nist.gov ntp.rnp.br ntps.pads.ufrj.br 36

Exercícios Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 995 Capítulo Exercícios - 3 (pág. 345) 37