RELÓGIOS LÓGICOS
SISTEMAS DISTRIBUÍDOS
AFRAP – Associação Faculdade de Ribeirão Preto
2015
Grupo:
Paulo Roberto Bologna Júnior
Paulo Henrique Monteiro
Afrânio Souza Júnior
Vinicius Nunes
Sergio Almeida
Sistemas Di...
RELÓGIOS LÓGICOS
• Mecanismos para identificação de relações
causais e cronológicas em distribuídos, uma vez
que estes faz...
RELÓGIOS LÓGICOS DE LAMPORT
(1978)
• O que são?
– São mecanismos usados em algoritmos de sincronização de relógios
baseado...
RELAÇÃO ACONTECE-ANTES ( → )
• Se “a” e “b” são eventos dentro do mesmo
processo e se o evento “a” acontece antes do “b”
e...
• No entanto, se “a” e “b” são processos diferentes sem a
existência de cadeias de mensagens entre os processos:
– a || b ...
Detalhamento do mecanismo dos Relógios Lógicos de Lamport
11:37:03 Sistemas Distribuídos - Relógios Lógicos 7
 Ci é incre...
RELÓGIOS DE LAMPORT
(RELAÇÃO ACONTECE-ANTES: → )
11:37:03 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...
Update 1 é
realizado antes
do Update 2
Bando de dados
replicado
Update 2 é
realizado antes
do Update 1
11:37:03 Sistemas D...
RELÓGIOS VETORIAIS
• Os Relógios vetoriais são mecanismos usados
em algoritmos de sistemas distribuídos que se
baseiam na ...
COMO FUNCIONA?
11:37:03 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 some...
• Utilizando esse esquema consideramos que se
duas mensagens não estiverem relacionadas
uma com a outra de modo nenhum, nã...
Em particular notamos que ao enviar uma
mensagem, o processo P, só incrementara VC;{I}
DE 1, já ao receber uma mensagem m ...
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...
OBSERVAÇÃO SOBRE ENTREGA
ORDENADA DE MENSAGENS
• Alguns sistemas de middleware fornecem
suporte para multicast totalmente ...
QUESTÕES DE ORDENAÇÃO
• Assim como questões de comunicação
especificas de aplicação, podem ser
adequadamente resolvidas ao...
NÃO HÁ DUVIDAS?
11:37:03 Sistemas Distribuídos - Relógios Lógicos Fim enfim!
BIBLIOGRAFIA
Tanenbaum, Adrew S 1944 -
Sistemas distribuídos: princípios e paradigmas / Andrew S. Tanenbaum.
Maarten van S...
Próximos SlideShares
Carregando em…5
×

Relógios lógicos

255 visualizações

Publicada em

Apresentação sobre Relógios Lógicos, do Curso de Sistemas de Informação da Faculdade AFARP/Uniesp, de Ribeirão Preto - SP.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Relógios lógicos

  1. 1. RELÓGIOS LÓGICOS SISTEMAS DISTRIBUÍDOS AFRAP – Associação Faculdade de Ribeirão Preto 2015
  2. 2. Grupo: Paulo Roberto Bologna Júnior Paulo Henrique Monteiro Afrânio Souza Júnior Vinicius Nunes Sergio Almeida Sistemas Distribuídos - Relógios Lógicos
  3. 3. 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 11:37:04 Sistemas Distribuídos - Relógios Lógicos 3
  4. 4. 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. 11:37:04 Sistemas Distribuídos - Relógios Lógicos 4
  5. 5. 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 11:37:04 Sistemas Distribuídos - Relógios Lógicos 5
  6. 6. • 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 11:37:03 Sistemas Distribuídos - Relógios Lógicos 6
  7. 7. Detalhamento do mecanismo dos Relógios Lógicos de Lamport 11:37:03 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.
  8. 8. RELÓGIOS DE LAMPORT (RELAÇÃO ACONTECE-ANTES: → ) 11:37:03 Sistemas Distribuídos - Relógios Lógicos 8
  9. 9. 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 11:37:03 Sistemas Distribuídos - Relógios Lógicos 9
  10. 10. Update 1 é realizado antes do Update 2 Bando de dados replicado Update 2 é realizado antes do Update 1 11:37:03 Sistemas Distribuídos - Relógios Lógicos 10
  11. 11. 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. 11:37:03 Sistemas Distribuídos - Relógios Lógicos 11
  12. 12. COMO FUNCIONA? 11:37:03 Sistemas Distribuídos - Relógios Lógicos 12
  13. 13. 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). 11:37:04 Sistemas Distribuídos - Relógios Lógicos 13
  14. 14. • 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. 11:37:04 Sistemas Distribuídos - Relógios Lógicos 14
  15. 15. 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 11:37:04 Sistemas Distribuídos - Relógios Lógicos 15
  16. 16. 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. 11:37:03 Sistemas Distribuídos - Relógios Lógicos 16
  17. 17. 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. 11:37:03 Sistemas Distribuídos - Relógios Lógicos 17
  18. 18. 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 11:37:03 Sistemas Distribuídos - Relógios Lógicos 18
  19. 19. NÃO HÁ DUVIDAS? 11:37:03 Sistemas Distribuídos - Relógios Lógicos Fim enfim!
  20. 20. BIBLIOGRAFIA Tanenbaum, 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 11:37:05 Sistemas Distribuídos - Relógios Lógicos 20

×