SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Logical Clocks Paul Krzyzanowski [email_address] [email_address] Distributed Systems Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
Logical clocks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Happened-before ,[object Object],[object Object],[object Object],[object Object],[object Object]
Logical clocks & concurrency ,[object Object],[object Object],[object Object],[object Object],[object Object]
Event counting example ,[object Object],[object Object],[object Object],[object Object]
Event counting example a b h i k P 1 P 2 P 3 1 2 1 3 2 1 d f g 3 c 2 4 6 e 5 j
Event counting example a b i k j P 1 P 2 P 3 1 2 1 3 2 1 d f g 3 c 2 4 6 Bad ordering: e    h f    k h e 5
Lamport’s algorithm ,[object Object],[object Object],[object Object],[object Object],[object Object]
Lamport’s algorithm ,[object Object],[object Object]
Event counting example a b i k j P 1 P 2 P 3 1 2 1 7 2 1 d f g 3 c 2 4 6 6 7 h e 5
Summary ,[object Object],[object Object],[object Object],[object Object]
Problem: Identical timestamps a  b, b  c, …: local events sequenced i  c, f  d , d  g, … : Lamport imposes a send  receive  relationship Concurrent events (e.g., a & i)  may  have the same timestamp … or not a b h i k j P 1 P 2 P 3 1 2 1 7 7 1 d f g 3 c 6 4 6 e 5
Unique timestamps (total ordering) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Unique (totally ordered) timestamps a b i k j P 1 P 2 P 3 1.1 2.1 1.2 7.2 7.3 1.3 d f g 3.1 c 6.2 4.1 6.1 h e 5.1
Problem: Detecting causal relations ,[object Object],[object Object],[object Object],[object Object],[object Object]
Vector clocks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comparing vector timestamps ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0)
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0)
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) (2,0,0)
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) (2,0,0) (2,1,0)
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) (2,0,0) (2,1,0) (2,2,0)
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) (2,0,0) (2,1,0) (2,2,0) (0,0,1)
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (0,0,1) (2,2,2)
Vector timestamps (0,0,1) (1,0,0) a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (2,2,2) concurrent events
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (0,0,1) (2,2,2) concurrent events
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (0,0,1) (2,2,2) concurrent events
Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (0,0,1) (2,2,2) concurrent events
Summary: Logical Clocks & Partial Ordering ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The end.

Weitere ähnliche Inhalte

Was ist angesagt?

Distributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock DetectionDistributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock DetectionSHIKHA GAUTAM
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationMNM Jain Engineering College
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating SystemsDr Sandeep Kumar Poonia
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 
Lamport’s algorithm for mutual exclusion
Lamport’s algorithm for mutual exclusionLamport’s algorithm for mutual exclusion
Lamport’s algorithm for mutual exclusionNeelamani Samal
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed systemishapadhy
 
Processes and Processors in Distributed Systems
Processes and Processors in Distributed SystemsProcesses and Processors in Distributed Systems
Processes and Processors in Distributed SystemsDr Sandeep Kumar Poonia
 
Deadlock in distribute system by saeed siddik
Deadlock in distribute system by saeed siddikDeadlock in distribute system by saeed siddik
Deadlock in distribute system by saeed siddikSaeed Siddik
 
Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Sri Prasanna
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure callSunita Sahu
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented CommunicationDilum Bandara
 
Distributed shred memory architecture
Distributed shred memory architectureDistributed shred memory architecture
Distributed shred memory architectureMaulik Togadiya
 
clock synchronization in Distributed System
clock synchronization in Distributed System clock synchronization in Distributed System
clock synchronization in Distributed System Harshita Ved
 
Types of Load distributing algorithm in Distributed System
Types of Load distributing algorithm in Distributed SystemTypes of Load distributing algorithm in Distributed System
Types of Load distributing algorithm in Distributed SystemDHIVYADEVAKI
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsAya Mahmoud
 
Multiple Access Protocal
Multiple Access ProtocalMultiple Access Protocal
Multiple Access Protocaltes31
 
Deadlock in Distributed Systems
Deadlock in Distributed SystemsDeadlock in Distributed Systems
Deadlock in Distributed SystemsPritom Saha Akash
 

Was ist angesagt? (20)

Distributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock DetectionDistributed Mutual Exclusion and Distributed Deadlock Detection
Distributed Mutual Exclusion and Distributed Deadlock Detection
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communication
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Lamport’s algorithm for mutual exclusion
Lamport’s algorithm for mutual exclusionLamport’s algorithm for mutual exclusion
Lamport’s algorithm for mutual exclusion
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
Processes and Processors in Distributed Systems
Processes and Processors in Distributed SystemsProcesses and Processors in Distributed Systems
Processes and Processors in Distributed Systems
 
message passing
 message passing message passing
message passing
 
Deadlock in distribute system by saeed siddik
Deadlock in distribute system by saeed siddikDeadlock in distribute system by saeed siddik
Deadlock in distribute system by saeed siddik
 
Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)
 
Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
 
Task assignment approach
Task assignment approachTask assignment approach
Task assignment approach
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
 
Distributed shred memory architecture
Distributed shred memory architectureDistributed shred memory architecture
Distributed shred memory architecture
 
clock synchronization in Distributed System
clock synchronization in Distributed System clock synchronization in Distributed System
clock synchronization in Distributed System
 
Types of Load distributing algorithm in Distributed System
Types of Load distributing algorithm in Distributed SystemTypes of Load distributing algorithm in Distributed System
Types of Load distributing algorithm in Distributed System
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systems
 
Multiple Access Protocal
Multiple Access ProtocalMultiple Access Protocal
Multiple Access Protocal
 
Deadlock in Distributed Systems
Deadlock in Distributed SystemsDeadlock in Distributed Systems
Deadlock in Distributed Systems
 

Ähnlich wie Logical Clocks (Distributed computing)

Vector clock algorithm
Vector clock algorithmVector clock algorithm
Vector clock algorithmS. Anbu
 
Distributed computing time
Distributed computing timeDistributed computing time
Distributed computing timeDeepak John
 
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...Flink Forward
 
Asymptotic Notations.pptx
Asymptotic Notations.pptxAsymptotic Notations.pptx
Asymptotic Notations.pptxSunilWork1
 
Formal Verification of Transactional Interaction Contract
Formal Verification of Transactional Interaction ContractFormal Verification of Transactional Interaction Contract
Formal Verification of Transactional Interaction ContractGera Shegalov
 
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...Marlon Dumas
 
Concurrency in Distributed Systems : Leslie Lamport papers
Concurrency in Distributed Systems : Leslie Lamport papersConcurrency in Distributed Systems : Leslie Lamport papers
Concurrency in Distributed Systems : Leslie Lamport papersSubhajit Sahu
 
8 krishna mohan gonuguntla 86--93
8 krishna mohan gonuguntla 86--938 krishna mohan gonuguntla 86--93
8 krishna mohan gonuguntla 86--93Alexander Decker
 
Multi-Perspective Comparison of Business Processes Variants Based on Event Logs
Multi-Perspective Comparison of Business Processes Variants Based on Event LogsMulti-Perspective Comparison of Business Processes Variants Based on Event Logs
Multi-Perspective Comparison of Business Processes Variants Based on Event LogsMarlon Dumas
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02mansab MIRZA
 

Ähnlich wie Logical Clocks (Distributed computing) (20)

Clocks
ClocksClocks
Clocks
 
logical clocks
logical clockslogical clocks
logical clocks
 
Vector clock algorithm
Vector clock algorithmVector clock algorithm
Vector clock algorithm
 
Os2
Os2Os2
Os2
 
Distributed computing time
Distributed computing timeDistributed computing time
Distributed computing time
 
OSCh7
OSCh7OSCh7
OSCh7
 
OS_Ch7
OS_Ch7OS_Ch7
OS_Ch7
 
Time in distributed systmes
Time in distributed systmesTime in distributed systmes
Time in distributed systmes
 
slides.06.pptx
slides.06.pptxslides.06.pptx
slides.06.pptx
 
Ds practical file
Ds practical fileDs practical file
Ds practical file
 
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
 
03
0303
03
 
Asymptotic Notations.pptx
Asymptotic Notations.pptxAsymptotic Notations.pptx
Asymptotic Notations.pptx
 
Formal Verification of Transactional Interaction Contract
Formal Verification of Transactional Interaction ContractFormal Verification of Transactional Interaction Contract
Formal Verification of Transactional Interaction Contract
 
Algorithm.ppt
Algorithm.pptAlgorithm.ppt
Algorithm.ppt
 
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
 
Concurrency in Distributed Systems : Leslie Lamport papers
Concurrency in Distributed Systems : Leslie Lamport papersConcurrency in Distributed Systems : Leslie Lamport papers
Concurrency in Distributed Systems : Leslie Lamport papers
 
8 krishna mohan gonuguntla 86--93
8 krishna mohan gonuguntla 86--938 krishna mohan gonuguntla 86--93
8 krishna mohan gonuguntla 86--93
 
Multi-Perspective Comparison of Business Processes Variants Based on Event Logs
Multi-Perspective Comparison of Business Processes Variants Based on Event LogsMulti-Perspective Comparison of Business Processes Variants Based on Event Logs
Multi-Perspective Comparison of Business Processes Variants Based on Event Logs
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02
 

Mehr von Sri Prasanna

Mehr von Sri Prasanna (20)

Qr codes para tech radar
Qr codes para tech radarQr codes para tech radar
Qr codes para tech radar
 
Qr codes para tech radar 2
Qr codes para tech radar 2Qr codes para tech radar 2
Qr codes para tech radar 2
 
Test
TestTest
Test
 
Test
TestTest
Test
 
assds
assdsassds
assds
 
assds
assdsassds
assds
 
asdsa
asdsaasdsa
asdsa
 
dsd
dsddsd
dsd
 
About stacks
About stacksAbout stacks
About stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About StacksAbout Stacks
About Stacks
 
About Stacks
About StacksAbout Stacks
About Stacks
 
Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systems
 
Introduction & Parellelization on large scale clusters
Introduction & Parellelization on large scale clustersIntroduction & Parellelization on large scale clusters
Introduction & Parellelization on large scale clusters
 
Mapreduce: Theory and implementation
Mapreduce: Theory and implementationMapreduce: Theory and implementation
Mapreduce: Theory and implementation
 
Other distributed systems
Other distributed systemsOther distributed systems
Other distributed systems
 

Kürzlich hochgeladen

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Logical Clocks (Distributed computing)

  • 1. Logical Clocks Paul Krzyzanowski [email_address] [email_address] Distributed Systems Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Event counting example a b h i k P 1 P 2 P 3 1 2 1 3 2 1 d f g 3 c 2 4 6 e 5 j
  • 7. Event counting example a b i k j P 1 P 2 P 3 1 2 1 3 2 1 d f g 3 c 2 4 6 Bad ordering: e  h f  k h e 5
  • 8.
  • 9.
  • 10. Event counting example a b i k j P 1 P 2 P 3 1 2 1 7 2 1 d f g 3 c 2 4 6 6 7 h e 5
  • 11.
  • 12. Problem: Identical timestamps a  b, b  c, …: local events sequenced i  c, f  d , d  g, … : Lamport imposes a send  receive relationship Concurrent events (e.g., a & i) may have the same timestamp … or not a b h i k j P 1 P 2 P 3 1 2 1 7 7 1 d f g 3 c 6 4 6 e 5
  • 13.
  • 14. Unique (totally ordered) timestamps a b i k j P 1 P 2 P 3 1.1 2.1 1.2 7.2 7.3 1.3 d f g 3.1 c 6.2 4.1 6.1 h e 5.1
  • 15.
  • 16.
  • 17.
  • 18. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0)
  • 19. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0)
  • 20. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) (2,0,0)
  • 21. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) (2,0,0) (2,1,0)
  • 22. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) (2,0,0) (2,1,0) (2,2,0)
  • 23. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) (2,0,0) (2,1,0) (2,2,0) (0,0,1)
  • 24. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (0,0,1) (2,2,2)
  • 25. Vector timestamps (0,0,1) (1,0,0) a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (2,2,2) concurrent events
  • 26. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (0,0,1) (2,2,2) concurrent events
  • 27. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (0,0,1) (2,2,2) concurrent events
  • 28. Vector timestamps a b c d f e (0,0,0) P 1 P 2 P 3 (0,0,0) (0,0,0) (1,0,0) Event timestamp a (1,0,0) b (2,0,0) c (2,1,0) d (2,2,0) e (0,0,1) f (2,2,2) (2,0,0) (2,1,0) (2,2,0) (0,0,1) (2,2,2) concurrent events
  • 29.