A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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]

Apresentações semelhantes


Apresentação em tema: "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]"— Transcrição da apresentação:

1 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]

2 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 2 Conteúdo n Relógios lógicos n Relógicos físicos n Exclusão mútua n Algoritmos de eleição

3 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 3 Relógios Lógicos e Físicos Alcides Calsavara

4 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 4 Eventos e relógios n 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). n 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.

5 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 5 Eventos e relógios n 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). n 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.

6 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 6 Relógios lógicos n Princípios: 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

7 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 7 Relógios lógicos (cont.) n 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.

8 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 8 Relógios lógicos (cont.)

9 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 9 Relógios lógicos (cont.) n 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.

10 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 10 Exemplo de aplicação do algoritmo de relógios lógicos P P P A B C D

11 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 11 Exemplo de aplicação do algoritmo de relógios lógicos P P P A,0 B,24 C,60 D,69

12 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 12 Relógios lógicos (cont.) n 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.

13 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 13 Relógios físicos n GMT: Greenwich Mean Time n BIH: Bureau Internacional de lHeure n TAI: International Atomic Time n UTC: Universal Coordinated Time n NIST: National Institute of Standard Time n WWV: estação de rádio de ondas curtas n GEOS: Geostationary Environment Operational Satellite

14 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 14 Relógios físicos (cont.) n 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. n NTC: Network Time Protocol –Sub-rede hierárquica de sincronização –Servidores primários (WWV) e secundários

15 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 15 Relógios físicos (cont.) n 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.

16 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 16 Algoritmo de Cristian T0 R I T1 R ? d d Máquina MTimer Server d = ( T1 – T0 – I ) / 2 T = R + d

17 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 17 Exclusão mútua n Controle de acesso a regiões críticas n 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

18 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 18 Exclusão mútua (cont.) n 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.

19 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 19 Exclusão mútua (cont.) n 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.

20 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 20 Algoritmos de eleição n Eleição de um processo coordenador em algoritmos distribuídos n 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.

21 Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 21 Algoritmos de eleição (cont.) n 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.


Carregar ppt "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]"

Apresentações semelhantes


Anúncios Google