Sincronização em Sistemas Distribuídos

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Bruno M. Carvalho Sala: 3B2 Horário: 35T34
Geometria Computacional Fecho Convexo II
Inteligência Artificial
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sincronização em Sistemas Distribuídos
Sistemas distribuídos
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Curso de ADMINISTRAÇÃO
Transações Atômicas Distribuídas
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
Transações Atômicas Distribuídas
Exercícios de revisão sobre relógios lógicos e físicos Prof. Alcides Calsavara.
Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação
Orientação a Objetos: Encapsulamento e Classificação
Algoritmos Distribuídos Professora: Lúcia Drummond
Capítulo 2: Modelo de Computação distribuída
Capítulo 4: Estado Global
Algoritmos Distribuídos Professora: Lúcia Drummond
EXPRESSÕES ARITMÉTICAS
Endereçamento de hardware e identificação de quadros
DNS Introdução.
Avaliação de Desempenho
Sistemas Distribuídos
Sistemas Distribuídos Sincronização e Coordenação
Capítulo 3 Deadlocks - Impasses 3.1. Recurso
DeadLock Sistemas Operacionais I
Sincronização e Comunicação entre Processos
A Tabuada.
Capítulo 5 – Tanenbaum Capítulo 10,11,12 e 13 - Coulouris
PROBABILISTC CLOCK SYNCHRONIZATION
Sistemas Distribuídos
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
Lógica do Sequenciamento das Operações
Nazareno Andrade Universidade Federal de Campina Grande 02/2008
Estruturas de Dados com Jogos
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
Funcionários - Grau de Satisfação 2096 avaliações
Busca com informação e exploração
Sistemas Distribuídos
Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos.
Controle Distribuído da Concorrência
Olhe fixamente para a Bruxa Nariguda
Uma lição de matemática... Já pensou naquelas pessoas que dizem que estão dando mais que 100% delas mesmas?
Máquina de Turing Universal
UML - Unified Modeling Language
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Exercício de Revisão – Teste 02
Bruna Rafaella da Costa Moura Silvana dos Santos Lima
Técnicas de Replicação
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.
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.
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
Transcrição da apresentação:

Sincronização em Sistemas Distribuídos Módulo 4 [C10,C13,T3]

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

Relógios Lógicos e Físicos Alcides Calsavara

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.

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 1. Somente processos que interagem precisam sincronizar seus relógios. 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 parcial de eventos » 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

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.

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.

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.