SlideShare uma empresa Scribd logo
1 de 20
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 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
11:37:04 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.
11:37:04 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
11:37:04 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
11:37:03 Sistemas Distribuídos - Relógios Lógicos 6
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.
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ó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
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
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
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 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
• 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
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
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
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
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
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 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

Mais conteúdo relacionado

Mais procurados

Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical ClocksDilum Bandara
 
Lista 03 respostas
Lista 03 respostasLista 03 respostas
Lista 03 respostasForça Tauá
 
Arquitetura de-computadores
Arquitetura de-computadoresArquitetura de-computadores
Arquitetura de-computadoresPimentel
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processosvini_campos
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no WindowsFee Kosta
 
Correçao computador omputaçao segunda atividade
Correçao computador omputaçao segunda atividadeCorreçao computador omputaçao segunda atividade
Correçao computador omputaçao segunda atividadegastaovalle
 
Tecnologias Atuais de Redes - Aula 4 - Comutação [Apostila]
Tecnologias Atuais de Redes - Aula 4 - Comutação [Apostila]Tecnologias Atuais de Redes - Aula 4 - Comutação [Apostila]
Tecnologias Atuais de Redes - Aula 4 - Comutação [Apostila]Ministério Público da Paraíba
 
Sistema Operativo WINDOWS
Sistema Operativo WINDOWSSistema Operativo WINDOWS
Sistema Operativo WINDOWSDaniel Barros
 
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região CríticaSistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região CríticaArthur Emanuel
 
Distributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmDistributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmpinki soni
 
Sistemas De ComunicaçãO
Sistemas De ComunicaçãOSistemas De ComunicaçãO
Sistemas De ComunicaçãOsenhortome
 
Processor allocation in Distributed Systems
Processor allocation in Distributed SystemsProcessor allocation in Distributed Systems
Processor allocation in Distributed SystemsRitu Ranjan Shrivastwa
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processosTalles Nascimento Rodrigues
 

Mais procurados (20)

Aula 8 semana
Aula 8 semanaAula 8 semana
Aula 8 semana
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical Clocks
 
Lista 03 respostas
Lista 03 respostasLista 03 respostas
Lista 03 respostas
 
Arquitetura de-computadores
Arquitetura de-computadoresArquitetura de-computadores
Arquitetura de-computadores
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
Correçao computador omputaçao segunda atividade
Correçao computador omputaçao segunda atividadeCorreçao computador omputaçao segunda atividade
Correçao computador omputaçao segunda atividade
 
Tecnologias Atuais de Redes - Aula 4 - Comutação [Apostila]
Tecnologias Atuais de Redes - Aula 4 - Comutação [Apostila]Tecnologias Atuais de Redes - Aula 4 - Comutação [Apostila]
Tecnologias Atuais de Redes - Aula 4 - Comutação [Apostila]
 
Sistema Operativo WINDOWS
Sistema Operativo WINDOWSSistema Operativo WINDOWS
Sistema Operativo WINDOWS
 
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região CríticaSistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
Sistemas Distribuídos - Aula 10 - Exclusão mútua e Acesso à Região Crítica
 
Distributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmDistributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithm
 
6.Distributed Operating Systems
6.Distributed Operating Systems6.Distributed Operating Systems
6.Distributed Operating Systems
 
Sistemas De ComunicaçãO
Sistemas De ComunicaçãOSistemas De ComunicaçãO
Sistemas De ComunicaçãO
 
Plastos
PlastosPlastos
Plastos
 
Sistema operacional de tempo real rtos
Sistema operacional de tempo real   rtosSistema operacional de tempo real   rtos
Sistema operacional de tempo real rtos
 
Qualidade do Serviço (QoS)
Qualidade do Serviço (QoS)Qualidade do Serviço (QoS)
Qualidade do Serviço (QoS)
 
Processor allocation in Distributed Systems
Processor allocation in Distributed SystemsProcessor allocation in Distributed Systems
Processor allocation in Distributed Systems
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processos
 
Clock
ClockClock
Clock
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 

Semelhante a Relógios lógicos

Semelhante a Relógios lógicos (15)

Relógios Lógicos
Relógios LógicosRelógios Lógicos
Relógios Lógicos
 
SincronizacaoDist.pdf
SincronizacaoDist.pdfSincronizacaoDist.pdf
SincronizacaoDist.pdf
 
Lamport
LamportLamport
Lamport
 
Redes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de EnlaceRedes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de Enlace
 
31283575 protocolos-de-transporte-tcp-e-udp
31283575 protocolos-de-transporte-tcp-e-udp31283575 protocolos-de-transporte-tcp-e-udp
31283575 protocolos-de-transporte-tcp-e-udp
 
Aula Simulação por Eventos Discretos
Aula Simulação por Eventos DiscretosAula Simulação por Eventos Discretos
Aula Simulação por Eventos Discretos
 
Processador mips - parte operativa e parte de controle
Processador mips - parte operativa e parte de controleProcessador mips - parte operativa e parte de controle
Processador mips - parte operativa e parte de controle
 
Canais Assíncronos II - Aplicações
Canais Assíncronos II - AplicaçõesCanais Assíncronos II - Aplicações
Canais Assíncronos II - Aplicações
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Aula 3
Aula   3Aula   3
Aula 3
 
Modelo osi tcp ip e protocolos
Modelo osi tcp ip e protocolosModelo osi tcp ip e protocolos
Modelo osi tcp ip e protocolos
 
Ntp 1-cp2011
Ntp 1-cp2011Ntp 1-cp2011
Ntp 1-cp2011
 
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geralDownloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
 
Lista04
Lista04Lista04
Lista04
 
Exercicio parte1
Exercicio parte1Exercicio parte1
Exercicio parte1
 

Relógios lógicos

  • 1. RELÓGIOS LÓGICOS SISTEMAS DISTRIBUÍDOS AFRAP – Associação Faculdade de Ribeirão Preto 2015
  • 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. 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. 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. 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. • 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. 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. RELÓGIOS DE LAMPORT (RELAÇÃO ACONTECE-ANTES: → ) 11:37:03 Sistemas Distribuídos - Relógios Lógicos 8
  • 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. 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. 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. COMO FUNCIONA? 11:37:03 Sistemas Distribuídos - Relógios Lógicos 12
  • 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. • 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. 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. 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. 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. 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. NÃO HÁ DUVIDAS? 11:37:03 Sistemas Distribuídos - Relógios Lógicos Fim enfim!
  • 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