relógios lógicos

20
RELÓGIOS LÓGICOS SISTEMAS DISTRIBUÍDOS AFRAP – Associação Faculdade de Ribeirão Preto 2015

Upload: junior-asj

Post on 16-Apr-2017

231 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Relógios lógicos

RELÓGIOS LÓGICOSSISTEMAS DISTRIBUÍDOS

AFRAP – Associação Faculdade de Ribeirão Preto2015

Page 2: Relógios lógicos

Grupo:Paulo Roberto Bologna JúniorPaulo Henrique MonteiroAfrânio Souza JúniorVinicius NunesSergio Almeida

Sistemas Distribuídos - Relógios Lógicos

Page 3: Relógios lógicos

RELÓGIOS LÓGICOS

• Mecanismos para identificação de relações causais e cronológicas em distribuídos, uma vez que estes fazem uso de uma classe de algoritmos que têm como base a sincronização de seus eventos e a consistência interna de seus relógios.

• Principais algoritmos para sincronização de relógios:– Relógios de Lamport– Relógios Vetoriais

18:38:28 Sistemas Distribuídos - Relógios Lógicos 3

Page 4: Relógios lógicos

RELÓGIOS LÓGICOS DE LAMPORT (1978)

• O que são?– São mecanismos usados em algoritmos de sincronização de relógios

baseados na relação acontece-antes definida por Lamport• Características:

– Os processos executam em máquinas diferentes, cada uma com seu clock.

– Cada mensagem leva o valor do clock (relógio) do transmissor. – Se a mensagem traz um tempo superior ao do receptor, este adianta

seu clock em uma unidade maior que o tempo recebido.– Os tempos associados aos eventos não são necessariamente próximos

ao tempo real. – Os processos não precisam estar de acordo sobre o valor exato do

tempo, mas sobre a ordem em que os eventos ocorrem.

18:38:28 Sistemas Distribuídos - Relógios Lógicos 4

Page 5: Relógios lógicos

RELAÇÃO ACONTECE-ANTES ( → )• Se “a” e “b” são eventos dentro do mesmo

processo e se o evento “a” acontece antes do “b” então: a→b, assim como C(a) < C(b)

*C representa o tempo do respectivo relógio (C = Clock)• Se “a” é o envio de uma mensagem para um

processo e se “b” é a recepção desta mensagem por outro processo, então devem ser atribuídos valores a C(a) e C(b) de maneira que C(a) < C (b)

*C representa o tempo do respectivo relógio (C = Clock)• A relação acontece-antes é transitiva, ou seja: se

a→b e b→c, então a→c

18:38:28 Sistemas Distribuídos - Relógios Lógicos 5

Page 6: Relógios lógicos

• No entanto, se “a” e “b” são processos diferentes sem a existência de cadeias de mensagens entre os processos:– a || b - “a” e “b” são processos concorrentes, portanto não existe

relação “→“– Em processos concorrentes, não é possível inferir que a→b ou b→a

18:38:28 Sistemas Distribuídos - Relógios Lógicos 6

Page 7: Relógios lógicos

Detalhamento do mecanismo dos Relógios Lógicos de Lamport

18:38:28 Sistemas Distribuídos - Relógios Lógicos 7

Ci é incrementado de 1 antes de cada evento. C1 no evento a = 1 C1 no evento b = 2 P2 recebe a mensagem “m1” que contém (m,t) sendo (t = C1). C2, após

evento c, recebe “max (C2,t)+1” que nesse caso é max (0,2)+1 = 3. a || e , ou seja, não se pode determinar / é ignorado se a→ e ou se e→ a.

Page 8: Relógios lógicos

RELÓGIOS DE LAMPORT (RELAÇÃO ACONTECE-ANTES: → )

18:38:28 Sistemas Distribuídos - Relógios Lógicos 8

Page 9: Relógios lógicos

MULTICAST TOTALMENTE ORDENADO

• Multicast é a entrega de informação para múltiplos destinatários simultaneamente.

• Os relógios lógicos de Lamport podem ser usados• Quando uma mensagem é enviada em multicast,

ela é conceitualmente também enviada ao remetente.

• Um processo só pode entregar uma mensagem enfileirada à aplicação

18:38:28 Sistemas Distribuídos - Relógios Lógicos 9

Page 10: Relógios lógicos

Update 1 é realizado antes

do Update 2

Bando de dados replicado Update 2 é

realizado antes do Update 1

18:38:28 Sistemas Distribuídos - Relógios Lógicos 10

Page 11: Relógios lógicos

RELÓGIOS VETORIAIS

• Os Relógios vetoriais são mecanismos usados em algoritmos de sistemas distribuídos que se baseiam na ordenação de eventos.

• Os relógios vetoriais são capazes de decidir se há causalidade entre os eventos, diferentemente dos relógios de Lamport.

18:38:28 Sistemas Distribuídos - Relógios Lógicos 11

Page 12: Relógios lógicos

COMO FUNCIONA?

18:38:28 Sistemas Distribuídos - Relógios Lógicos 12

Page 13: Relógios lógicos

IMPOSICAO DE COMUNICAÇÃO VISUAL

• Com o uso de relógios vetoriais, é possível garantir que uma mensagem seja entregue somente se todas as demais mensagens que a precederem por causalidade também tenham sido recebidas.

• Para que tal função seja habilitada consideraremos que as mensagens são transmitidas em multicast dentro de um grupo de processos (tendo em vista que o multicast ordenado por causalidade é mais fraco que o multicast totalmente ordenado).

18:38:28 Sistemas Distribuídos - Relógios Lógicos 13

Page 14: Relógios lógicos

• Utilizando esse esquema consideramos que se duas mensagens não estiverem relacionadas uma com a outra de modo nenhum, não importara a ordem em que elas sejam entregues.

• Consideramos também que os relógios somente serão ajustados quando enviam e recebem mensagens.

18:38:28 Sistemas Distribuídos - Relógios Lógicos 14

Page 15: Relógios lógicos

Em particular notamos que ao enviar uma mensagem, o processo P, só incrementara VC;{I} DE 1, já ao receber uma mensagem m com marca de tempo ts(m), ele só ajustara VC;[k] para max {VC;[K] , ts(m)[k]}.

Agora supondo que P, receba de P. uma mensagem m com marca de tempo (vetorial) ts(m), a mensagem só será entregue quando as seguintes condições sejam cumpridas

18:38:28 Sistemas Distribuídos - Relógios Lógicos 15

Page 16: Relógios lógicos

1 – ts(m)[i] = VC;[I]+1 (nesta condição afirmamos que m é a próxima mensagem que P, estava esperando do processo P)

2 – ts(m)[k] ≤ VC;[k] para todo k≠i (nesta condição afirmamos que P, viu todas as mensagem que foram vistas por P, quando este enviou a mensagem m.

18:38:28 Sistemas Distribuídos - Relógios Lógicos 16

Page 17: Relógios lógicos

OBSERVAÇÃO SOBRE ENTREGA ORDENADA DE MENSAGENS

• Alguns sistemas de middleware fornecem suporte para multicast totalmente ordenado e multicast ordenado por causalidade

• Como o middleware não pode dizer o que uma mensagem realmente contem, só é possível capturar causalidade potencial

• O segundo problema é que nem toda causalidade pode ser capturada.

18:38:28 Sistemas Distribuídos - Relógios Lógicos 17

Page 18: Relógios lógicos

QUESTÕES DE ORDENAÇÃO

• Assim como questões de comunicação especificas de aplicação, podem ser adequadamente resolvidas ao examinar a aplicação com a qual esta correndo a comunicação de mensagens, isso é conhecido como argumento fim-a-fim em projeto de sistemas.

• Uma desvantagem de ter somente soluções no nível de aplicação é que um desenvolvedor tende a se concentrar somente em questões

18:38:28 Sistemas Distribuídos - Relógios Lógicos 18

Page 19: Relógios lógicos

NÃO HÁ DUVIDAS?

18:38:28 Sistemas Distribuídos - Relógios Lógicos Fim enfim!

Page 20: Relógios lógicos

BIBLIOGRAFIATanenbaum, Adrew S 1944 -

Sistemas distribuídos: princípios e paradigmas / Andrew S. Tanenbaum.Maarten van Steen: [tradutora Arlete Simile Marques: revisor Técnico Wagner Zucchi]. 2. ed. - São Paulo: Pearson Prentice Hall. 2007.pág 147-152 – Relógios Lógicos

18:38:29 Sistemas Distribuídos - Relógios Lógicos 20