Sincronização em Sistemas Distribuídos

Slides:



Advertisements
Apresentações semelhantes
Bruno M. Carvalho Sala: 3B2 Horário: 35T34
Advertisements

Sistemas Operacionais Sincronismo e Comunicação entre processos
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Sistemas distribuídos
Sincronização em Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 1 Sincronização em Sistemas Distribuídos Módulo 4 [C10,C13,T3]
Exercícios de revisão sobre relógios lógicos e físicos
Relógios Lógicos e Físicos
Exercícios de revisão sobre relógios lógicos e físicos Prof. Alcides Calsavara.
Algoritmos Distribuídos Professora: Lúcia Drummond
Capítulo 2: Modelo de Computação distribuída
Capítulo 4: Estado Global
EXPRESSÕES ARITMÉTICAS
Sincronização em SDs I Bruno M. Carvalho Sala: 3B2 Horário: 35T34.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Aula.
Sistemas Distribuídos de Tempo Real
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 4: Mais Conceitos Básicos As figuras que aparecem nesses slides são de Veríssimo&Rodrigues,
Sistemas Distribuídos Sincronização e Coordenação
Funções de hash unidirecionais
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Sincronização e Comunicação entre Processos
A Tabuada.
Capítulo 5 – Tanenbaum Capítulo 10,11,12 e 13 - Coulouris
TIME, CLOCK’S and EVENTS
PROBABILISTC CLOCK SYNCHRONIZATION
Sistemas Operacionais
Sistemas Distribuídos
Nazareno Andrade Universidade Federal de Campina Grande 02/2008
Tópicos em redes e sistemas distribuídos
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Coordenação e Sincronização em Sistemas Distribuídos
Difusão de Mensagens Broadcast confiável, atômico e causal
Busca com informação e exploração
Sistemas Distribuídos
Protocolos de Recuperação
Controle de acesso ao Ambiente – floor control. Controle de acesso ao ambiente Introdução.
Olhe fixamente para a Bruxa Nariguda
Aula 12: Probabilidade Prof. Diovani Milhorim
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
UML - Unified Modeling Language
Bruna Rafaella da Costa Moura Silvana dos Santos Lima
Técnicas de Replicação
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Sistemas Distribuídos Capítulo 02 – Algoritmos Distribuídos Aula Passada 2.1 – Relógios Físicos e Lógicos Aula de Hoje 2.3 Exclusão Mútua 2.4 Eleição.
1 Sincronização em Sistemas Distribuídos Alcides Calsavara.
Controle de Acesso Kerberos
Domain Name System - Sistema de Nomes de Domínios
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
Sincronização de Clocks em Sistemas Distribuídos Alessandra Antunes Vargas UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Programa de Pós-Graduação em Engenharia.
Modelos de Comunicação em Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
Conceitos Fundamentais e Convenções de Notação
Sincronização 6 capítulo Andrew S. Tanenbaum Maarten Van Steen.
Passagens de Mensagens Prof. Dr. Norian Marranghello
Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki.
Algoritmos Distribuídos. 3.1 Relógios Físicos Porque sincronizar relógios?
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos
Capítulo 13 Camada 5 A Camada de Sessão. Sumário A Camada de Sessão.
Lucas R. Costa Rodrigo R. Bezerra Kaio A. da silva
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Transcrição da apresentação:

Sincronização em Sistemas Distribuídos Prof. Diovani Milhorim

Conteúdo Relógios lógicos Relógios físicos Exclusão mútua Algoritmos de eleição

Eventos e relógios A ordem de eventos que ocorrem em processos distintos pode ser crítica em uma aplicação distribuída (ex: make, protocolo de consistência de réplicas). Em um sistema com n computadores, cada um dos n cristais terá uma frequência própria, fazendo com que os n relógios percam seu sincronismo gradualmente.

Relógios lógicos Princípios: » Ordenação parcial de eventos Somente processos que interagem precisam sincronizar seus relógios. » Ordenação parcial de eventos 2. Não é necessário que todos os processos observem um único tempo absoluto; eles somente precisam concordar com relação à ordem em que os eventos ocorrem. » Ordenação causal potencial

Relógios lógicos (cont.)‏ Relação acontece-antes ( -» ): 1. Sejam x e y eventos num mesmo processo tal que x ocorre antes de y. Então x -» y é verdadeiro. 2. Seja x o evento de uma mensagem a ser enviada por um processo, e y o evento dessa mensagem ser recebida por outro processo. Então x -» y é verdadeiro. 3. Sejam x, y e z eventos tal que x -» y e y -» z. Então x -» z é verdadeiro.

Relógios lógicos (cont.)‏

Relógios lógicos (cont.)‏ Implementação: Cada processo p mantém seu próprio relógio lógico (um contador, por software), Cp, usado para fazer timestamp de eventos. Cp(x) denota o timestamp do evento x no processo p, e C(x) denota o timestamp do evento x em qualquer processo. LC1: Cp é incrementado antes de cada evento em p. LC2: (a) Quando um processo p envia uma mensagem m, ele concatena a informação t=Cp a m, enviando (m,t). (b) Quando um processo q recebe a mensagem (m,t), ele computa Cq := max(Cq, t) e aplica LC1 antes de fazer timestamp do evento de recebimento da mensagem.

Exemplo de aplicação do algoritmo de relógios lógicos 6 12 18 24 30 36 42 48 54 60 P2 8 16 24 32 40 48 56 64 72 80 P3 10 20 30 40 50 60 70 80 90 100 A B C D

Exemplo de aplicação do algoritmo de relógios lógicos 6 12 18 24 30 36 42 48 70 76 P2 8 16 24 32 40 48 61 69 77 85 P3 10 20 30 40 50 60 70 80 90 100 A,0 B,24 C,60 D,69

Relógios lógicos (cont.)‏ Ordenação total de eventos: dois eventos nunca ocorrem exatamente no mesmo instante de tempo. 1. Se x ocorre antes de y no mesmo processo, então C(x) é menor que C(y). 2. Se x e y correspondem ao envio e ao recebimento de uma mensagem, então C(x) é menor que C(y). 3. Para todos os eventos x e y, C(x) é diferente de C(y). Implementação: concatenar o número do processo ao timestamp.

Relógios físicos GMT: Greenwich Mean Time BIH: Bureau Internacional de l’Heure TAI: International Atomic Time UTC: Universal Coordinated Time NIST: National Institute of Standard Time WWV: estação de rádio de ondas curtas GEOS: Geostationary Environment Operational Satellite

Relógios físicos (cont.)‏ Algoritmo de Berkeley: A rede não dispõe de uma máquina com um receptor WWV A rede dispõe de um time server que faz polling nas outras máquinas a fim de obter a hora marcada por cada uma, fazer uma média entre essas horas e divulgar essa média para todas as máquinas. NTC: Network Time Protocol Sub-rede hierárquica de sincronização Servidores primários (WWV) e secundários

Relógios físicos (cont.)‏ Algoritmo de Cristian: A rede dispõe de um time server (receptor WWV)‏ Uma máquina cliente envia uma mensagem pedindo a hora certa ao time server Ao receber a mensagem resposta do time server, o cliente adiciona o tempo médio de envio de mensagens à hora recebida. Esse tempo médio é calculado pelo próprio cliente considerando as horas de envio e recebimento das mensagens e ainda o tempo gasto pelo time server para processar o pedido.

Algoritmo de Cristian Máquina M Timer Server T0 R ? d I d T1 R d = ( T1 – T0 – I ) / 2

Exclusão mútua Controle de acesso a regiões críticas Algoritmo centralizado: Um processo é eleito o coordenador Os processos concorrentes devem requisitar permissão de acesso ao coordenador Um processo que termina de fazer acesso a uma região crítica deve comunicar a liberação da região ao coordenador Processos que tentam entrar em uma região crítica ocupada devem aguardar em uma fila controlada pelo coordenador

Alg. Centralizado - Exemplo

Alg. Centralizado - Exemplo

Alg. Centralizado - Exemplo

Exclusão mútua (cont.)‏ Algoritmo distribuído: Baseado em ordenação total de eventos e comunicação confiável em grupo (multicast ou broadcast). Um processo que deseja entrar em uma região crítica constrói uma mensagem com o nome da região, o número do processo e a hora, e a envia a todos os demais processos concorrentes. Um processo que recebe a mensagem: Caso não esteja na região crítica e não intencione entrar nela, retorna OK. Caso já esteja na região crítica, não responde e enfileira a requisição. Caso também intencione entrar na região crítica, determina o processo que tentou primeiro (comparando timestamps) e responde OK ou enfileira a requisição, apropriadamente.

Alg. Distribuído - Exemplo

Alg. Distribuído - Exemplo

Alg. Distribuído - Exemplo

Exclusão mútua (cont.)‏ Algoritmo de Token Ring: Os processos são conectados por um anel e numerados sequencialmente a partir de 0. Na iniciação do anel, uma token é dada ao processo 0. A token é passada do processo k para o processo k+1. Ao receber a token, um processo pode retê-la ou passá-la imediatamente para o próximo processo, dependendo se deseja ou não, respectivamente, entrar na região crítica. Enquanto o processo estiver na região crítica, a token fica retida, e somente ao sair da região crítica é repassada adiante.

Alg. Token Ring - Exemplo

Algoritmos de eleição Eleição de um processo coordenador em algoritmos distribuídos Algoritmo Bully: 1. Um processo P envia uma mensagem ELECTION para todos os processos de maior número. 2. Se nenhum processo responde, P vence a eleição e se torna o coordenador. 3. Se um dos processos responde este inicia sua participação na eleição a partir do passo 1. O trabalho de P está feito.

Algoritmos de eleição (cont.)‏ Algoritmo de Anel: Um processo constrói uma mensagem ELECTION contendo seu número e envia ao seu sucessor. Se o sucessor estiver parado, a mensagem é enviado ao sucessor do sucessor. O processo que recebe a mensagem insere seu próprio número na mensagem e passa para o seu sucessor. Quando a mensagem retorna ao processo que originou a eleição, este descobre quem é novo coordenador (o processo com número maior) e, em seguida, envia uma mensagem COORDINATOR comunicando o fato.