Presentation is loading. Please wait.

Presentation is loading. Please wait.

Outline Theoretical Foundations

Similar presentations


Presentation on theme: "Outline Theoretical Foundations"— Presentation transcript:

1 Outline Theoretical Foundations
Fundamental limitations of distributed systems Logical clocks 1/18/2019 COP5611

2 Lamport’s Logical Clocks – review
Definitions Happened before relation Happened before relation () captures the causal dependencies between events It is defined as follows a  b, if a and b are events in the same process and a occurred before b. a  b, if a is the event of sending a message m in a process and b is the event of receipt of the same message m by another process If a  b and b  c, then a  c, i.e., “” is transitive 1/18/2019 COP5611

3 Lamport’s Logical Clocks – review
Definitions – continued Causally related events Event a causally affects event b if a  b Concurrent events Two distinct events a and b are said to be concurrent (denoted by a || b) if a  b and b  a For any two events, either a  b, b  a, or a || b 1/18/2019 COP5611

4 Lamport’s Logical Clocks – review
There is a clock at each process Pi in the system Which is a function that assigns a number to any event a, called the timestamp of event a at Pi The numbers assigned by the system of the clocks have no relation to physical time The logical clocks take monotonically increasing values and can be implemented as counters 1/18/2019 COP5611

5 Lamport’s Logical Clocks – cont.
Conditions satisfied by the system of clocks For any two events, if a  b, then C(a) < C(b) [C1] For any two events a and b in a process Pi, if a occurs before b, then Ci(a) < Ci(b) [C2] If a is the event of sending a message m in process Pi and b is the event of receiving the same message m at process Pj, then Ci(a) < Cj(b) 1/18/2019 COP5611

6 Lamport’s Logical Clocks – cont.
Implementation rules [IR1] Clock Ci is incremented between any two successive events in process Pi Ci := Ci + d ( d > 0) [IR2] If event a is the sending of message m by process Pi, then message m is assigned a timestamp tm = Ci(a). On receiving the same message m by process Pj, Cj is set to Cj := max(Cj, tm + d) 1/18/2019 COP5611

7 An Example 1/18/2019 COP5611

8 Total Ordering Using Lamport’s Clocks
If a is any event at process Pi and b is any event at process Pj, then a => b if and only if either Where is any arbitrary relation that totally orders the processes to break ties 1/18/2019 COP5611

9 Example: Totally-Ordered Multicasting
1/18/2019 COP5611

10 A Limitation of Lamport’s Clocks
In Lamport’s system of logical clocks If a  b, then C(a) < C(b) The reverse if not necessarily true if the events have occurred on different processes 1/18/2019 COP5611

11 A Limitation of Lamport’s Clocks
1/18/2019 COP5611

12 Vector Clocks Implementation rules
[IR1] Clock Ci is incremented between any two successive events in process Pi Ci[i] := Ci[i] + d ( d > 0) [IR2] If event a is the sending of message m by process Pi, then message m is assigned a timestamp tm = Ci(a). On receiving the same message m by process Pj, Cj is set to Cj[k] := max(Cj[k], tm[k]) 1/18/2019 COP5611

13 Vector Clocks – cont. 1/18/2019 COP5611

14 Vector Clocks – cont. 1/18/2019 COP5611

15 Vector Clocks – cont. Assertion
At any instant, Events a and b are casually related if ta < tb or tb < ta. Otherwise, these events are concurrent In a system of vector clocks, 1/18/2019 COP5611

16 Causal Ordering of Messages
The causal ordering of messages try to maintain the same causal relationship that holds among “message send” events with the corresponding “message receive” events In other words, if Send(M1) -> Send(M2), then Receive(M1) -> Receive(M2) This is different from causal ordering of events 1/18/2019 COP5611

17 Causal Ordering of Messages – cont.
1/18/2019 COP5611

18 Causal Ordering of Messages – cont.
The basic idea It is very simple Deliver a message only when no causality constraints are violated Otherwise, the message is not delivered immediately but is buffered until all the preceding messages are delivered 1/18/2019 COP5611

19 Birman-Schiper-Stephenson Protocol
1/18/2019 COP5611

20 Schiper-Eggli-Sando Protocol
1/18/2019 COP5611

21 Schiper-Eggli-Sando Protocol – cont.
1/18/2019 COP5611

22 Schiper-Eggli-Sando Protocol – cont.
1/18/2019 COP5611


Download ppt "Outline Theoretical Foundations"

Similar presentations


Ads by Google