MC714 - Sistemas Distribuídos. Leandro Villas



Documentos relacionados
Sistemas Distribuídos Aula 10

Sincronização em Sistemas Distribuídos

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

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

Sincronização de Relógios

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos. Aleardo Manacero Jr.

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

MC714 - Sistemas Distribuídos. Leandro Villas

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

Sincronização em Sistemas Distribuídos

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

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

Projeto de controle e Automação de Antena

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

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

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

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

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

SISTEMAS DISTRIBUÍDOS

Arquitetura e Organização de Computadores I

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

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

Programação Distribuída

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

Disciplina de Banco de Dados Introdução

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

MODELO CLIENTE SERVIDOR

Introdução aos Computadores

Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador

Profs. Deja e Andrei

29/06/ :30 Leite Júnior QUESTÕES CESPE BACKUP

Processos e Threads (partes I e II)

3 SCS: Sistema de Componentes de Software

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

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Distribuídos

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

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

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

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

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

Subcamada MAC. O Controle de Acesso ao Meio

Estruturas do Sistema de Computação

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Rede de Computadores

Prefixo a ser comparado Interface Senão 3

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

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Sistemas Distribuídos Grupos

Sistemas Operacionais. Prof. André Y. Kusumoto

Análise e Projeto Orientados por Objetos

Organização de Computadores 1

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Técnicas e ferramentas de ataque. Natiel Cazarotto Chiavegatti

Sistemas Operacionais

O quê um Processador e qual a sua função?

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

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

Exclusão Mútua em Sistemas Distribuídos

Capítulo 9. Gerenciamento de rede

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

Comparativo de desempenho do Pervasive PSQL v11

09/06/2011. Profª: Luciana Balieiro Cosme

3. Arquitetura Básica do Computador

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

1. NÍVEL CONVENCIONAL DE MÁQUINA

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Sistemas de Informações Gerenciais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Sistemas Distribuídos

Gerência de Redes Áreas Funcionais de Gerenciamento. Douglas Duarte

Máscaras de sub-rede. Fórmula

Sistemas Distribuídos. Introdução

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Sistemas Distribuídos

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc.

Relatorio do trabalho pratico 2

UNIVERSIDADE. Sistemas Distribuídos

Circuitos Digitais Cap. 6

Fundamentos de Banco de Dados

GNSS: CONCEITOS, MODELAGEM E PERSPECTIVAS FUTURAS DO POSICIONAMENTO POR SATÉLITE

Sistemas distribuídos:comunicação

Circuitos Seqüenciais: Latches e Flip-Flops. Fabrício Noveletto

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Evolução na Comunicação de

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Transcrição:

MC714 - Sistemas Distribuídos

Aula de Hoje Aula Passada Nomeação Aula de Hoje Introdução ao problema de sincronização Relógios Físicos Algoritmos de Sincronização Sincronização de Relógios em Redes sem Fio

Sincronização Comunicação é importante, mas não é tudo! Como os processos cooperam e sincronizam uns com os outros? Vários processos NÃO acessem simultaneamente um recurso compartilhado como uma impressora, mas cooperem para garantir um acesso temporário exclusivo Vários processos às vezes podem concordar com a ordenação dos 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! Em um SD, conseguir acordo nos horários não é trivial! Implicações da falta de um horário global no programa make Quando cada máquina tem seu próprio relógio, um evento que ocorreu após outro evento pode receber um horário anterior

Sincronização de Relógios 1. Em Horário um que sistema o output.ocentralizado, foi criado 2144 o tempo não é ambíguo 2. Logo depois o output.c foi modificado, mas recebeu o horário 2143 Se A pergunta a hora e logo depois B pergunta a hora, tempo A <= tempo B! O relógio da máquina que roda o editor estava atrasado 3. Make não chamará o compilador 4. O programa binário executável resultante conterá uma mistura de arquivos-objetos do fonte antigo e dos fonte novos Em um SD, conseguir acordo nos horários não é trivial! Implicações da falta de um horário global no programa make 5. Provavelmente falhará... Quando cada máquina tem seu próprio relógio, um evento que ocorreu após outro evento pode receber um horário anterior

Sincronização de Relógios É possível sincronizar todos os relógios em um sistema distribuído?

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 A cada ciclo de relógio, o procedimento do serviço de interrupção soma uma unidade a hora armazenada na memória 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!

Relógios Físicos 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 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!

Medição do tempo Século XVII: O tempo tem sido medido por meios astronômicos O segundo solar é definido como 1/86.400 de um dia solar

Medição do tempo Século XVII: O tempo tem sido medido por meios astronômicos O segundo solar é definido como 1/86.400 de um dia solar Na década de 1940 foi estabelecido que o período da rotação da terra não é constante

Medição do tempo Século XVII: O tempo tem sido medido por meios astronômicos O segundo solar é definido como 1/86.400 de um dia solar Na década de 1940 foi estabelecido que o período da rotação da terra não é constante Em 1948: invenção do relógio atômico Tornou-se possível medir o tempo com mais exatidão Hoje, 86.400 segundos TAI (tempo atômico internacional) equivalem 3ms a menos que um dia solar médio

Medição do tempo Século XVII: O tempo tem sido medido por meios astronômicos O segundo solar é definido como 1/86.400 de um dia solar Na década de 1940 foi estabelecido que o período da rotação da terra não é constante Em 1948: invenção do relógio atômico Tornou-se possível medir o tempo com mais exatidão Hoje, 86.400 segundos TAI (tempo atômico internacional) equivalem 3ms a menos que um dia solar médio Solução: hora coordenada universal adicionar um segundo à hora do relógio quando diferença > 800ms

Relógio Físicos - GPS GPS usa 29 satélites, cada um circulando em uma órbita a ~20,000Km de altura Cada satélite tem até quatro relógios atômicos que são calibrados periodicamente por estações espaciais na terra

Relógio Físicos - GPS GPS usa 29 satélites, cada um circulando em uma órbita a ~20,000Km de altura Um satélite transmite sua posição em broadcast e anexa marcas de tempo a cada msg, informando a hora local

Relógio Físicos - GPS GPS usa 29 satélites, cada um circulando em uma órbita a ~20,000Km de altura Essa transmissão broadcast permite que todo receptor na Terra calcule com uma certa precisão sua própria posição (usando três satélites)

Relógio Físicos - GPS Ao se calcular a posição/tempo, usando GPS, dois fatos importantes 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 20 a 35 nanossegundos.

Sincronização de Relógios Se uma máquina tiver um receptor WWV, meta é manter todas as outras máquinas sincronizadas com ela WWV é o prefixo de uma estação de rádio de ondas curtas operada por National Institute of Standard Time para fornecer a hora coordenada universal (UTC) A WWV transmite um pulso curto no início de cada segundo UTC 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

Sincronização de Relógios Vários algoritmos foram propostos para manter um SD sincronizado Todos os algoritmos têm o mesmo modelo 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 mantém número de tics que ocorreram desde um instante pré-determinado

Sincronização de Relógios Seja C o valor do relógio 'ideal' (hora UTC) Seja Cp 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 Cp(t) Idealmente para todo p e para todo t Cp(t) = t Em outras palavras, seria perfeito que C'p(t) = dc/dt = 1 C p (t) é a frequência do relógio de p C p (t) 1 é a defasagem do relógio de p Magnitude da diferença entre relógio de p e o relógio perfeito C p (t) t é o deslocamento em relação a uma hora especifica

Sincronização de Relógios 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 Sincronização de relógios em redes sem Fio 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 boas estimativas para os atrasos entre as máquinas (delay)

Algoritmo I Cristian (1989) Obtenção da hora corrente por meio de um servidor de tempo 1. Computador A consulta a hora no computador B (requisição) 2. Computador B inclui na resposta o valor do seu relógio T3 e T2 3. Computador A registra a hora da chegada da resposta T4 4. Supondo atraso aproximadamente igual em ambas as direções: A pode estimar seu deslocamento em relação a B como

Algoritmo I Cristian (1989) 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)

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 Sincronização de relógios em redes sem Fio Tempo exato não importa!! Relógios Lógicos Algoritmo de Lamport e Relógios vetoriais

Algoritmo II Berkeley Algoritmo usado para a sincronização interna de um grupo de computadores Servidor de tempo é ativo (master) pergunta a hora das máquinas (slaves) de tempos em tempos 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 Adequado para um sistema sem um receptor WWV Relógio do daemon ajustado manualmente de tempos em tempos

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 Sincronização de relógios em redes sem Fio Tempo exato não importa!! Relógios Lógicos Algoritmo de Lamport e Relógios vetoriais

Sincronização em redes sem fio Uma importante vantagem dos SDs mais tradicionais Servidores de tempo com facilidade e eficiência Disseminação de informações relativamente simples Essas premissas deixam de ser validas em redes sem fio, em particular, redes de sensores sem fio Restrição de recursos Roteamento de múltiplos saltos (caro) Restrições energéticas otimizar os algoritmos Resultaram no projeto de algoritmos de sincronização de relógios muito diferentes para as redes sem fio

Redes de Sensores sem Fio Tipicamente possuem um grande número de nós sensores 31

Redes de Sensores sem Fio Hardware de baixo custo e com capacidades limitadas - Processamento, Comunicação e Energia 32

Redes de Sensores sem Fio Aplicação onde o uso de fios não seja possível ou viável - Estrutura de prédios, interior de máquinas, florestas, vulcões, campo de batalha, rios e etc. 33

Redes de Sensores sem Fio Posição dos nós sensores não precisa ser necessariamente prédeterminada 34

Redes de Sensores sem Fio Contém um ou mais Estações Base (Sink) - Maiores capacidades de hardware e comunicação Sink node: (satellite, cellular) 35

Redes de Sensores sem Fio Esses nós sensores auto organizam-se em uma rede sem fio 36

Redes de Sensores sem Fio Tipicamente, uma árvore é criada para entregar os dados coletados no ambiente monitorado para o nó central Sink node: (satellite, cellular) 37

Aplicações de RSSFs Aplicações ambientais: 38

Aplicações de RSSFs Aplicações ambientais: - temperatura, pressão e umidade. Resolução maior do que imagens de satélite. 39

Aplicações de RSSFs Aplicações ambientais: - Queimadas 40

Aplicações de RSSFs Aplicações ambientais: - monitoramento de áreas, detecção de invasão 41

Aplicações de RSSFs Aplicações ambientais: - monitoramento de flora e fauna - combinado com os dados ambientais (o comportamento) 42

Aplicações de RSSFs Aplicações ambientais: Monitoração de Rios Urbanos 43

Aplicações de RSSFs Outras aplicações - Militar - Situações de Emergência - Medicina - Trânsito - Plantações - Infraestruturas - Exploração espacial 44

Aplicações de RSSFs Outras aplicações - Militar - Situações de Emergência - Medicina - Trânsito - Plantações - Infraestruturas - Exploração espacial 45

Aplicações de RSSFs Outras aplicações - Militar - Situações de Emergência - Medicina - Trânsito - Plantações - Infraestruturas - Exploração espacial 46

Aplicações de RSSFs Outras aplicações - Militar - Situações de Emergência - Medicina - Trânsito - Plantações - Infraestruturas - Exploração espacial 47

Aplicações de RSSFs Outras aplicações - Militar - Situações de Emergência - Medicina - Trânsito - Plantações - Infraestruturas - Exploração espacial 48

Aplicações de RSSFs Outras aplicações - Militar - Situações de Emergência - Medicina - Trânsito - Plantações - Infraestruturas - Exploração espacial 49

Aplicações de RSSFs Outras aplicações - Militar - Situações de Emergência - Medicina - Trânsito - Plantações - Infraestruturas - Exploração espacial 50

Teste 05 Leia os três artigos e descreva as vantagens e desvantagens de cada solução Flooding Time Syncronization Protocol -- 2004 Time Syncronization based on Slow-Flooding in WSNs -- 2014 An Energy Efficient joint Localization and Synchronization Solution for WSNs using Unmanned Aerial Vehicle 2015