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

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

TIME, CLOCK’S and EVENTS

Apresentações semelhantes


Apresentação em tema: "TIME, CLOCK’S and EVENTS"— Transcrição da apresentação:

1 TIME, CLOCK’S and EVENTS
Lamport 1978 por João Paulo Ribeiro Mário Luís Guimarães

2 Sistemas Operativos Distribuidos
Introdução > O conceito do TEMPO é fundamental no nosso modo de viver. > É derivado dum conceito mais básico relativo à ordem em que os acontecimentos ocorrem. > Num Sistema Distribuído tem-se: - Vários processos separados espacialmente; - Comunicam por troca de mensagens; - Mensagens são eventos; - Mensagens podem gerar outros eventos. Novembro 1998 Sistemas Operativos Distribuidos

3 Sistemas Operativos Distribuidos
Introdução (cont.) > Num SD examina-se a ordem de ocorrência dos eventos. > Definição de ORDEM PARCIAL. > Algoritmo distribuído para ordenação lógica dos eventos. > ORDEM TOTAL dos eventos. > Problemática da ordenação total - solução: - RELÓGIOS FÍSICOS e algoritmo de sincronização. Novembro 1998 Sistemas Operativos Distribuidos

4 Sistemas Operativos Distribuidos
Relação de Ordem Parcial > Relação ACONTECE-ANTES (HAPPENS-BEFORE ): - Relação a  b : a acontece-antes de b - Verifica as seguintes condições: - Se a e b são eventos dum mesmo processo e a ocorre antes de b, então a  b é verdadeiro; - Se a é o envio duma mensagem por um processo e b é a recepção da mesma mensagem por outro processo, então a  b é verdadeira; Novembro 1998 Sistemas Operativos Distribuidos

5 Sistemas Operativos Distribuidos
Propriedades da relação Ordem Parcial > TRANSITIVIDADE: - Se a  b e b  c, então a  c > CONCORRÊNCIA DE EVENTOS: - Se os eventos a e b acontecem em processos que não se comunicam, então a  b e b  a não são verdade; - Eventos a e b são ditos concorrentes. > A relação “ACONTECE-ANTES” implementa a única ordem parcial de eventos. Novembro 1998 Sistemas Operativos Distribuidos

6 Sistemas Operativos Distribuidos
Exemplo: eventos entre P, Q e R Novembro 1998 Sistemas Operativos Distribuidos

7 Sistemas Operativos Distribuidos
Da Ordem Parcial à Ordem Total > “RELÓGIOS” LÓGICOS: - Define-se Ci como relógio lógico do processo Pi - Ci(a) é a leitura de Ci quando ocorre a em Pi - Define-se C(a) = Ci(a) se a for evento de Pi > Condição do Relógio Lógico C(evento): - Se a  b então C(a) < C(b) > C(evento) é sempre incrementado entre eventos a e b : a  b Novembro 1998 Sistemas Operativos Distribuidos

8 > FICA VERIFICADA A CONDIÇÃO DE RELÓGIO <
Resultados da Condição de Relógio > C1: Se a e b ocorrem em Pi e a  b, então Ci(a) < Ci(b) > C2: Se a e b ocorrem em Pi e b é a sua recepção em Pj, então Ci(a) < Cj(b) > R1: Cada processo Pi incrementa Ci entre dois eventos consecutivos; > R2.a: Evento a é envio da msg. m por Pi; m contém Tm = Ci(a) R2.b: Quando da recepção de m , Pj altera Cj para Cj > Tm > FICA VERIFICADA A CONDIÇÃO DE RELÓGIO < Novembro 1998 Sistemas Operativos Distribuidos

9 Sistemas Operativos Distribuidos
Exemplo: relógios lógicos de Lamport Novembro 1998 Sistemas Operativos Distribuidos

10 Sistemas Operativos Distribuidos
Ordem Total Com o algoritmo anterior obtem-se ordem total entre eventos, a => b, sse: Ci(a) < Cj(b) ou Ci(a) = Cj(b) e Pi Pj (precedência entre processos) No entanto, ordem total ainda não é solução: Exemplo: Maria envia msga da máquina A; Maria telefona a Manuel para este enviar msgb de B; Apesar de msga  telef.  msgb, o sistema pode ordenar em primeiro lugar msgb e só depois msga (depende de C(evento)), pois telef. é exterior ao sistema. Novembro 1998 Sistemas Operativos Distribuidos

11 Sistemas Operativos Distribuidos
Solução para o problema Soluções: Maria e Manuel estampilham manualmente as mensagens; Sistema de relógios que verifique sempre a “Condição Relógio” anterior: Se msga  msgb então C(a) < C(b) Vamos optar pela segunda solução ! Novembro 1998 Sistemas Operativos Distribuidos

12 Sistemas Operativos Distribuidos
Relógios Físicos Define-se Ci(t) como o valor do relógio físico de Pi no instante real t; Propriedades: Exactidão (P1): (k  10-6 rel. de cristais), é a medida do desvio dos relógios físicos em relação a t; Precisão (P2): é a medida máxima do afastamento entre os relógios do sistema. É necessário algoritmo distribuído para garantir: Condição de Relógio (a  b então C(a) < C(b)); Precisão (P2). Novembro 1998 Sistemas Operativos Distribuidos

13 Sistemas Operativos Distribuidos
Algoritmo de sincronização  é a duração mínima no envio de uma msg entre dois processos Pi e Pj, e  é a variação máxima dessa duração cada relógio Ci avança ao ritmo de P1 quando é recebida msga com estamp. Ta=Ci(ta), no instante tb em Pj, Cj(tb) = máx(Cj(tb), Ta +  ) admitindo um grafo ligando os vários processos, o diâmetro d desse grafo é o número mínimo de arcos ligando quaisquer dois processos. então, se com período  »  +  fôr enviada msg para todos os arcos, Cond. Rel. e P2 são satisfeitas com   d.(2k +  ) Novembro 1998 Sistemas Operativos Distribuidos

14 Sistemas Operativos Distribuidos
Conclusões Importância de ordenação de eventos num sistema distribuído; Ordenação “happened-before” define ordem parcial única entre eventos; Ordem total depende de C(evento), ou seja, dos relógios lógicos; Ordem total pode resultar em ordenação incoerente com os eventos observados; Relógios físicos resolvem o problema anterior; Algoritmo para realização e sincronização dos relógios físicos; Novembro 1998 Sistemas Operativos Distribuidos

15 Sistemas Operativos Distribuidos
Novembro 1998 Sistemas Operativos Distribuidos


Carregar ppt "TIME, CLOCK’S and EVENTS"

Apresentações semelhantes


Anúncios Google