9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204...
-
Upload
cameron-potter -
Category
Documents
-
view
215 -
download
1
Transcript of 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204...
![Page 1: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/1.jpg)
9/14/2005 1
Time, Clocks, and the Ordering of Events in a Distributed System
by L. Lamport
CS 5204 Operating Systems
Vladimir Glina
Fall 2005
![Page 2: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/2.jpg)
9/14/2005 2
Overview
Key Points Background Partial Ordering Extension for Total Ordering Further Work Key Points Reiteration Evaluation Discussion
![Page 3: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/3.jpg)
9/14/2005 3
Key Points
1. The “happens before” relation on the system event set
2. The events partial ordering on the base of the relation
3. The distributed algorithm for logical clock synchronization
4. The algorithm extension to the case of total events ordering
5. The algorithm application for physical clock synchronization
![Page 4: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/4.jpg)
9/14/2005 4
Background: Distributed System Features
Spatially separated processes Processes communicate through messages Message delays are considerable Absence of the single timer leads to
synchronization problems Example: totally ordered multicast
![Page 5: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/5.jpg)
9/14/2005 5
Background: Synchronization Approaches
Physical Clock Adjustment All clocks show the same actual time Problems:
Most important: backward time flow possible Sophisticated time services (i.e. WWV); or Reliance on a human operator
Logical Clock Adjustment Consistency is important, not actual time
![Page 6: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/6.jpg)
9/14/2005 6
Partial Ordering: Basics
A system is a set of processes Pi
A process is a set of events a, b, … with total ordering
“Happened before” (→) relation: (a P) && (b P) && (a comes before b) a → b (P1 sends a to P2) && (b is the receipt of P2 for a) a → b (a → b) && (b → c) a → c
!(a → b) && !(b → a) a and b are concurrent !(a → a) a, so “happened before” is an irreflexive
partial ordering on the set of all the system events
![Page 7: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/7.jpg)
9/14/2005 7
Partial Ordering: Example
P1
P2
P3
a b c d f
g i j k l m
n o p q r s
a f b s c m d || s i || q k || r
![Page 8: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/8.jpg)
9/14/2005 8
Partial Ordering: Synchronization
Logical clock: Ca = Cja if a Pj
Check condition: for a, ba → b Ca < Cb (not vice versa)
The check condition is satisfied if C1. (a, b Pi) && (a comes before b)
Cia < Cib C2. (Pi sends a to Pj) && (b is the receipt of Pj to a)
Cia < Cjb C never decreases!
![Page 9: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/9.jpg)
9/14/2005 9
Partial Ordering: Implementation Rules
IR1. Each Pi increments Ci between any two successive events.
IR2. a) If a is the sending of a message m by Pi, then m
contains a timestamp Tm = Cj a; and
b) Upon receiving m, Pi sets Cj greater than or equal to its present value and greater than Tm
![Page 10: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/10.jpg)
9/14/2005 10
Partial Ordering: Unregulated Clocks
12
6
18
0
24
30
36
42
48
54
1008060
16
8
24
0
32
40
48
56
64
72
20
10
30
0
40
50
60
70
80
90
A
B
D
C
![Page 11: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/11.jpg)
9/14/2005 11
Partial Ordering: Corrected Clocks
12
6
18
0
24
30
36
42
48
70
1008576
16
8
24
0
32
40
48
61
69
77
20
10
30
0
40
50
60
70
80
90
A
B
D
C
![Page 12: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/12.jpg)
9/14/2005 12
Total Ordering: Definition
‹ is an arbitrary total ordering of processes “Happen before” for total ordering( ):
(a ε Pi) && (b ε Pj) a b iff Cia < Cj b, or
Pi ‹ Pj
The total ordering depends on Ci and is not unique
![Page 13: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/13.jpg)
9/14/2005 13
Total Ordering: Synchronization
1. Pi broadcasts the message Tm:Pi (request resource) and puts it on its request queue.
2. When Pj receives Tm:Pi, it puts the message on its request queue and sends the acknowledgment to Pi.
3. To release the resource, Pi removes Tm:Pi from its queue, broadcasts a timestamped release message.
4. When Pj receives the release message, it removes Tm:Pi from its queue.
5. Pi is granted the resource when
1) It has Tm:Pi in its queue ordered before any other request in the queue by the relation ; and
2) Pi has received a message from every other process timestamped later than Tm.
![Page 14: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/14.jpg)
9/14/2005 14
Further Work: Vector Timestamps
Lamport clock is: Consistent: a b Ca < Cb Not: Ca < Cb a b (not strongly consistent)
Vector timestamps (VT) are strongly consistent VT address potential causality
Allow to say if a happened before b, but not if a caused b
VT say how many events have occurred so far at all processes
VT solve the totally-ordered multicasting problem
![Page 15: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/15.jpg)
9/14/2005 15
Lack of Strong Consistency
P1
P2
P3
a b c d f
g i j k l m
n o p q r s
1 2 3 5 7
1 3 4 5 6 7
1 2 3 4 5 6
[1]
[2][3] [4]
[3][5]
[6]
d || s q || i k || r5 < 6 4 > 3 5 = 5
![Page 16: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/16.jpg)
9/14/2005 16
Vector Clocks (1)
P1
P2
P3
a b c d f
g i j k l m
n o p q r s
[1 0 0] [2 0 0] [3 0 0] [4 3 0] [5 5 3]
[0 1 0] [2 2 0] [2 3 0] [2 4 3] [2 5 3] [3 6 5]
[0 0 1] [0 1 2] [0 1 3] [3 1 4] [3 1 5] [3 1 6]
[0 1 0]
[2 0 0][3 0 0] [2 3 0]
[0 1 3][3 1 5]
[2 5 3]
a f b s c m[1 0 0] < [5 5 3] [2 0 0] < [3 1 6] [3 0 0] < [3 6 5]
![Page 17: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/17.jpg)
9/14/2005 17
Vector Clocks (2)
P1
P2
P3
a b c d f
g i j k l m
n o p q r s
[1 0 0] [2 0 0] [3 0 0] [4 3 0] [5 5 3]
[0 1 0] [2 2 0] [2 3 0] [2 4 3] [2 5 3] [3 6 5]
[0 0 1] [0 1 2] [0 1 3] [3 1 4] [3 1 5] [3 1 6]
[0 1 0]
[2 0 0][3 0 0] [2 3 0]
[0 1 3][3 1 5]
[2 5 3]
d || s q || i k || r[4 3 0] < [3 1 6] [3 1 4] < [2 2 0] [2 4 3] < [3 1 5]
![Page 18: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/18.jpg)
9/14/2005 18
Key Points Reiteration
1. The “happens before” relation on the system event set
2. The events partial ordering on the base of the relation
3. The distributed algorithm for logical clock synchronization
4. The algorithm extension to a case of total events ordering
5. The algorithm application for physical clock synchronization
![Page 19: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/19.jpg)
9/14/2005 19
Evaluation
The logical clocks idea is very appealing Virtually no revision on previous work Nice to have more mathematically strict
extension on total ordering, if possible
![Page 20: 9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.](https://reader036.fdocuments.net/reader036/viewer/2022082713/5697bfb51a28abf838c9dbd4/html5/thumbnails/20.jpg)
9/14/2005 20
Discussion
Thank you!
Any questions?