View
231
Download
1
Category
Preview:
Citation preview
RELÓGIOS LÓGICOSSISTEMAS DISTRIBUÍDOS
AFRAP – Associação Faculdade de Ribeirão Preto2015
Grupo:Paulo Roberto Bologna JúniorPaulo Henrique MonteiroAfrânio Souza JúniorVinicius NunesSergio Almeida
Sistemas Distribuídos - 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
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
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
• 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
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.
RELÓGIOS DE LAMPORT (RELAÇÃO ACONTECE-ANTES: → )
18:38:28 Sistemas Distribuídos - Relógios Lógicos 8
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
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
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
COMO FUNCIONA?
18:38:28 Sistemas Distribuídos - Relógios Lógicos 12
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
• 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
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
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
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
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
NÃO HÁ DUVIDAS?
18:38:28 Sistemas Distribuídos - Relógios Lógicos Fim enfim!
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
Recommended