Time Michael George November 10, 2005 Michael George Time - - PowerPoint PPT Presentation

time
SMART_READER_LITE
LIVE PREVIEW

Time Michael George November 10, 2005 Michael George Time - - PowerPoint PPT Presentation

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions Time Michael George November 10, 2005 Michael George Time Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions The


slide-1
SLIDE 1

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

Time

Michael George November 10, 2005

Michael George Time

slide-2
SLIDE 2

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

The Problem

“All we do here is invent games to pass the time.” — John O’Donohue

Michael George Time

slide-3
SLIDE 3

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

The Problem

“All we do here is invent games to pass the time.” — John O’Donohue Given a collection of processes that can. . . Only communicate with significant latency Only measure time intervals approximately Fail in various ways . . . we want to construct a shared notion of time.

Michael George Time

slide-4
SLIDE 4

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

Why The Problem Is Interesting

Interesting for two reasons:

1 Good setting to examine general difficulties in distributed

systems:

Fault tolerance Consistent view of changing data Trust Interplay between strength of guarantees and practicality

Michael George Time

slide-5
SLIDE 5

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

Why The Problem Is Interesting

Interesting for two reasons:

1 Good setting to examine general difficulties in distributed

systems:

Fault tolerance Consistent view of changing data Trust Interplay between strength of guarantees and practicality

2 Useful primitive for distributed systems

Distributed checkpointing / stable property detection Can be used to implement general state-machine algorithms reliably [Lamport 74]

Michael George Time

slide-6
SLIDE 6

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

Overview

We will discuss two papers that solve this problem:

1 Optimal Clock Synchronization [Srikanth and Toueg ’87]

Assume reliable network Provide logical clock with optimal agreement Also optimal with respect to failures

Michael George Time

slide-7
SLIDE 7

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

Overview

We will discuss two papers that solve this problem:

1 Optimal Clock Synchronization [Srikanth and Toueg ’87]

Assume reliable network Provide logical clock with optimal agreement Also optimal with respect to failures

2 Probabilistic Internal Clock Synchronization [Cristian and

Fetzer ’03]

Drop requirements on network Provide very efficient logical clock Only provide probabilistic guarantees

Michael George Time

slide-8
SLIDE 8

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Some Assumptions

We assume. . . Clock drift is bounded: 1 1 + ρ(t2 − t1) ≤ Ri(t2) − Ri(t1) ≤ (1 + ρ)(t2 − t1)

Michael George Time

slide-9
SLIDE 9

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Some Assumptions

We assume. . . Clock drift is bounded: 1 1 + ρ(t2 − t1) ≤ Ri(t2) − Ri(t1) ≤ (1 + ρ)(t2 − t1) Communication and processing are reliable: trecv − tsend ≤ tdel

Michael George Time

slide-10
SLIDE 10

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Some Assumptions

We assume. . . Clock drift is bounded: 1 1 + ρ(t2 − t1) ≤ Ri(t2) − Ri(t1) ≤ (1 + ρ)(t2 − t1) Communication and processing are reliable: trecv − tsend ≤ tdel Authenticated messages (we will relax this later).

Michael George Time

slide-11
SLIDE 11

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Our Goals

We want algorithms that satisfy the following: Agreement between clocks: |C k

i (t) − C k j (t)| ≤ Dmax

Michael George Time

slide-12
SLIDE 12

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Our Goals

We want algorithms that satisfy the following: Agreement between clocks: |C k

i (t) − C k j (t)| ≤ Dmax

Accuracy of clocks: 1 1 + γ t + a ≤ C k

i (t) ≤ (1 + γ)t + b

Michael George Time

slide-13
SLIDE 13

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Our Goals

We want algorithms that satisfy the following: Agreement between clocks: |C k

i (t) − C k j (t)| ≤ Dmax

Accuracy of clocks: 1 1 + γ t + a ≤ C k

i (t) ≤ (1 + γ)t + b

Optimal accuracy (proved later): γ = ρ

Michael George Time

slide-14
SLIDE 14

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Bad News. . .

Up to f processes can fail in the following ways: Clock too slow or fast

Michael George Time

slide-15
SLIDE 15

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Bad News. . .

Up to f processes can fail in the following ways: Clock too slow or fast Stuck clock bits

Michael George Time

slide-16
SLIDE 16

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Bad News. . .

Up to f processes can fail in the following ways: Clock too slow or fast Stuck clock bits Crash, lost connectivity, buggy code

Michael George Time

slide-17
SLIDE 17

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Bad News. . .

Up to f processes can fail in the following ways: Clock too slow or fast Stuck clock bits Crash, lost connectivity, buggy code Byzantine failure

Michael George Time

slide-18
SLIDE 18

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Bad News. . .

Up to f processes can fail in the following ways: Clock too slow or fast Stuck clock bits Crash, lost connectivity, buggy code Byzantine failure Definitions: A correct process follows the protocol and has a working hardware clock. A non-correct process is faulty.

Michael George Time

slide-19
SLIDE 19

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Basic Algorithm

We proceed in rounds. On round k, process i will:

1 Wait for P units according to clock C k−1

i

Michael George Time

slide-20
SLIDE 20

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Basic Algorithm

We proceed in rounds. On round k, process i will:

1 Wait for P units according to clock C k−1

i

2 Broadcast “I’m ready to start round k” Michael George Time

slide-21
SLIDE 21

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Basic Algorithm

We proceed in rounds. On round k, process i will:

1 Wait for P units according to clock C k−1

i

2 Broadcast “I’m ready to start round k” 3 After receiving f + 1 messages:

set C k

i to kP + α

rebroadcast the f + 1 messages

Michael George Time

slide-22
SLIDE 22

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Basic Algorithm

We proceed in rounds. On round k, process i will:

1 Wait for P units according to clock C k−1

i

2 Broadcast “I’m ready to start round k” 3 After receiving f + 1 messages:

set C k

i to kP + α

rebroadcast the f + 1 messages

Definitions: readyk is the real time of the first “I’m ready” message

Michael George Time

slide-23
SLIDE 23

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Basic Algorithm

We proceed in rounds. On round k, process i will:

1 Wait for P units according to clock C k−1

i

2 Broadcast “I’m ready to start round k” 3 After receiving f + 1 messages:

set C k

i to kP + α

rebroadcast the f + 1 messages

Definitions: readyk is the real time of the first “I’m ready” message begk is the real time of first process to set clock C k

i

Michael George Time

slide-24
SLIDE 24

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Basic Algorithm

We proceed in rounds. On round k, process i will:

1 Wait for P units according to clock C k−1

i

2 Broadcast “I’m ready to start round k” 3 After receiving f + 1 messages:

set C k

i to kP + α

rebroadcast the f + 1 messages

Definitions: readyk is the real time of the first “I’m ready” message begk is the real time of first process to set clock C k

i

endk is the last

Michael George Time

slide-25
SLIDE 25

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

The Basic Algorithm

We proceed in rounds. On round k, process i will:

1 Wait for P units according to clock C k−1

i

2 Broadcast “I’m ready to start round k” 3 After receiving f + 1 messages:

set C k

i to kP + α

rebroadcast the f + 1 messages

Definitions: readyk is the real time of the first “I’m ready” message begk is the real time of first process to set clock C k

i

endk is the last The kth resynch period is the interval [begk, endk]

Michael George Time

slide-26
SLIDE 26

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Outline of Proof of Agreement

Sketch of Agreement: Proof is by induction on round number k. Show that if kth clocks agree then (k + 1)st clocks also agree Uses bounds on sizes of intervals between rounds and within rounds.

Michael George Time

slide-27
SLIDE 27

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Outline of Proof of Accuracy

We prove the two defining inequalities for accuracy separately: By considering the fastest possible clock and showing it forms an upper bound on any logical clock value, we can show C k

i (t) ≤

P P − α(1 + ρ)t + b Similarly, considering slowest possible clock yields P P − α + [tdel/(1 + ρ)](1 + ρ)−1t + a ≤ C k

i (t)

Putting these together we get Accuracy, which in turn gives correctness.

Michael George Time

slide-28
SLIDE 28

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

How close can we get?

What’s the best possible γ?

Michael George Time

slide-29
SLIDE 29

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

How close can we get?

What’s the best possible γ? In run 1, let all clocks run as fast as possible: Ci(t) ≤ (1 + γ)t + b In run 2, let all clocks run as slow as possible: 1 1 + γ t + a ≤ Ci(t)

Michael George Time

slide-30
SLIDE 30

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

How close can we get?

What’s the best possible γ? In run 1, let all clocks run as fast as possible: Ci(t) ≤ (1 + γ)t + b In run 2, let all clocks run as slow as possible: 1 1 + γ t + a ≤ Ci(t) Run 1 at time t looks the same as run 2 at time (1 + ρ)2t, so (1 + γ)t + b ≥ (1 + ρ)2 1 + γ t + a

Michael George Time

slide-31
SLIDE 31

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

How close can we get?

What’s the best possible γ? In run 1, let all clocks run as fast as possible: Ci(t) ≤ (1 + γ)t + b In run 2, let all clocks run as slow as possible: 1 1 + γ t + a ≤ Ci(t) Run 1 at time t looks the same as run 2 at time (1 + ρ)2t, so (1 + γ)t + b ≥ (1 + ρ)2 1 + γ t + a Taking t → ∞ we see γ ≥ ρ.

Michael George Time

slide-32
SLIDE 32

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

An Optimal Algorithm Drift-wise

Key insight: There’s an interval of uncertainty in difference between arrival time:

it could be P − α if clock is fast it could be P − α + tdel(1 + ρ) if clock is slow

Michael George Time

slide-33
SLIDE 33

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

An Optimal Algorithm Drift-wise

Key insight: There’s an interval of uncertainty in difference between arrival time:

it could be P − α if clock is fast it could be P − α + tdel(1 + ρ) if clock is slow

Algorithm 1 chooses left endpoint of the interval

Michael George Time

slide-34
SLIDE 34

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

An Optimal Algorithm Drift-wise

Key insight: There’s an interval of uncertainty in difference between arrival time:

it could be P − α if clock is fast it could be P − α + tdel(1 + ρ) if clock is slow

Algorithm 1 chooses left endpoint of the interval Let’s choose midpoint instead

Michael George Time

slide-35
SLIDE 35

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

An Optimal Algorithm Drift-wise

Key insight: There’s an interval of uncertainty in difference between arrival time:

it could be P − α if clock is fast it could be P − α + tdel(1 + ρ) if clock is slow

Algorithm 1 chooses left endpoint of the interval Let’s choose midpoint instead Proof of correctness goes through mostly unmodified, but drift rate is optimal.

Michael George Time

slide-36
SLIDE 36

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Algorithm is Also Optimal Fail-wise

If an algorithm is correct, then 2f < n. Easy proof - use the algorithm we have.

Michael George Time

slide-37
SLIDE 37

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Algorithm is Also Optimal Fail-wise

If an algorithm is correct, then 2f < n. Easy proof - use the algorithm we have. Authors give a different proof

Michael George Time

slide-38
SLIDE 38

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Algorithm is Also Optimal Fail-wise

If an algorithm is correct, then 2f < n. Easy proof - use the algorithm we have. Authors give a different proof Thus this algorithm is optimal with respect to fault tolerance.

Michael George Time

slide-39
SLIDE 39

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Extensions to the Basic Algorithm

We can remove some of the limitations from the basic algorithm: Strong authentication is too heavyweight. Only need:

Correctness Unforgeability Relay

Can use a broadcast primitive from the literature.

Michael George Time

slide-40
SLIDE 40

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Extensions to the Basic Algorithm

We can remove some of the limitations from the basic algorithm: Strong authentication is too heavyweight. Only need:

Correctness Unforgeability Relay

Can use a broadcast primitive from the literature. Can slightly modify algorithm for related tasks

Initialization Integration

Michael George Time

slide-41
SLIDE 41

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model and Definitions The Basic Algorithm Enhancing the Basic Algorithm

Extensions to the Basic Algorithm

We can remove some of the limitations from the basic algorithm: Strong authentication is too heavyweight. Only need:

Correctness Unforgeability Relay

Can use a broadcast primitive from the literature. Can slightly modify algorithm for related tasks

Initialization Integration

Can merge new clocks into a single continuous clock

Michael George Time

slide-42
SLIDE 42

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Motivation for Probabilistic Synchronization

The Optimal scheme has some problems: Relies on guaranteed timely delivery (may not be an option) Performance depends on tdel, which can be large Bursty O(n2) messaging Can we do without these limitations?

Michael George Time

slide-43
SLIDE 43

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Probabilistic System Model

The system model for the second paper is similar... Correct clocks still have bounded drift

although assume ρ2 ≪ ρ

Michael George Time

slide-44
SLIDE 44

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Probabilistic System Model

The system model for the second paper is similar... Correct clocks still have bounded drift

although assume ρ2 ≪ ρ

No longer a maximum communication delay

delays given by probability distribution this prevents us from stating results in terms of tmax.

Michael George Time

slide-45
SLIDE 45

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Probabilistic System Model

The system model for the second paper is similar... Correct clocks still have bounded drift

although assume ρ2 ≪ ρ

No longer a maximum communication delay

delays given by probability distribution this prevents us from stating results in terms of tmax.

There is a known minimum message delay tmin

Michael George Time

slide-46
SLIDE 46

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Failure Models

We distinguish between: Crash failure — process stops completely Performance failure — process runs too slow Read failure — process fails to read remote clock in time Arbitrary failure — anything else

Michael George Time

slide-47
SLIDE 47

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Probabilistic Remote Clock Reading

How does process p read process q’s clock? p q

Michael George Time

slide-48
SLIDE 48

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Probabilistic Remote Clock Reading

How does process p read process q’s clock? p q m1 T0 T1

1 p sends a request m1 with timestamp T0 to q Michael George Time

slide-49
SLIDE 49

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Probabilistic Remote Clock Reading

How does process p read process q’s clock? p q m1 m2 T0 T1 T2

1 p sends a request m1 with timestamp T0 to q 2 q sends a response m2 with timestamp T1 to p Michael George Time

slide-50
SLIDE 50

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Probabilistic Remote Clock Reading

How does process p read process q’s clock? p q m1 m2 T0 T1 T2

1 p sends a request m1 with timestamp T0 to q 2 q sends a response m2 with timestamp T1 to p 3 p can infer that T1 is in a certain interval. Michael George Time

slide-51
SLIDE 51

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Properties

There are a number of properties that this protocol satisfies: Timeliness

Michael George Time

slide-52
SLIDE 52

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Properties

There are a number of properties that this protocol satisfies: Timeliness Error Bound

Michael George Time

slide-53
SLIDE 53

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Properties

There are a number of properties that this protocol satisfies: Timeliness Error Bound Crash Handling

Michael George Time

slide-54
SLIDE 54

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

Properties

There are a number of properties that this protocol satisfies: Timeliness Error Bound Crash Handling Likely Success Note that these are also satisfied by deterministic clock reading

Michael George Time

slide-55
SLIDE 55

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The High Level Algorithm

The synchronization algorithm is organized as follows: A slot is a unit in which a single process gets to send p q r

Michael George Time

slide-56
SLIDE 56

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The High Level Algorithm

The synchronization algorithm is organized as follows: A slot is a unit in which a single process gets to send A cycle is a unit in which all processes get a chance to send p q r

Michael George Time

slide-57
SLIDE 57

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The High Level Algorithm

The synchronization algorithm is organized as follows: A slot is a unit in which a single process gets to send A cycle is a unit in which all processes get a chance to send A round is a unit in which all processes must get estimates of

  • ther clocks

p q r

Michael George Time

slide-58
SLIDE 58

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The Contents of Each Exchange

Each message from p to q in the above protocol contains: p’s send timestamp p’s best approximation of every clock The corresponding error bounds p’s receive timestamp for each message from q

Michael George Time

slide-59
SLIDE 59

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The Contents of Each Exchange

Each message from p to q in the above protocol contains: p’s send timestamp p’s best approximation of every clock The corresponding error bounds p’s receive timestamp for each message from q This data allows q to approximate p’s clock as above, for up to k2 message pairs.

Michael George Time

slide-60
SLIDE 60

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The Contents of Each Exchange

Each message from p to q in the above protocol contains: p’s send timestamp p’s best approximation of every clock The corresponding error bounds p’s receive timestamp for each message from q This data allows q to approximate p’s clock as above, for up to k2 message pairs. If q trusts p can also use it to approximate other clocks.

Michael George Time

slide-61
SLIDE 61

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The Protocol

In each round, a process passes through the following modes:

1 It starts in request mode Michael George Time

slide-62
SLIDE 62

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The Protocol

In each round, a process passes through the following modes:

1 It starts in request mode 2 It moves to reply mode when it has all clocks Michael George Time

slide-63
SLIDE 63

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The Protocol

In each round, a process passes through the following modes:

1 It starts in request mode 2 It moves to reply mode when it has all clocks 3 Finally moves to finish mode when everyone has its clock Michael George Time

slide-64
SLIDE 64

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The Protocol

In each round, a process passes through the following modes:

1 It starts in request mode 2 It moves to reply mode when it has all clocks 3 Finally moves to finish mode when everyone has its clock

After kth cycle, it automatically returns to request mode for next round.

Michael George Time

slide-65
SLIDE 65

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

The Protocol

In each round, a process passes through the following modes:

1 It starts in request mode 2 It moves to reply mode when it has all clocks 3 Finally moves to finish mode when everyone has its clock

After kth cycle, it automatically returns to request mode for next round. Total message complexity is kN in the worst case, N + 1 in the best.

Michael George Time

slide-66
SLIDE 66

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

From Approximations to Shared Time

Thus far p has a separate approximation of everyone’s clock, with error bounds. We plug the data into a midpoint convergence function, which: Combines the estimates of the clocks to yield a single value Is responsible for detecting and correcting errors Is therefore fault-model specific

Michael George Time

slide-67
SLIDE 67

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions System Model Reading a Remote Clock Probabilistic Synchronization Protocol Shared Time

From Approximations to Shared Time

Thus far p has a separate approximation of everyone’s clock, with error bounds. We plug the data into a midpoint convergence function, which: Combines the estimates of the clocks to yield a single value Is responsible for detecting and correcting errors Is therefore fault-model specific The authors provide four algorithms: Crash-fail (requires n ≥ f + 1) Read-fail (requires n ≥ 2f + 1) Arbitrary-fail (requires n ≥ 3f + 1) Hybrid-fail (requires n ≥ 3fA + 2fR + fC + 1)

Michael George Time

slide-68
SLIDE 68

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

Discussion

Some thoughts for discussion: “Optimal” isn’t always optimal

Michael George Time

slide-69
SLIDE 69

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

Discussion

Some thoughts for discussion: “Optimal” isn’t always optimal Good demonstration of the end-to-end principle

Michael George Time

slide-70
SLIDE 70

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

Discussion

Some thoughts for discussion: “Optimal” isn’t always optimal Good demonstration of the end-to-end principle It would be nice to see some data

Michael George Time

slide-71
SLIDE 71

Overview Optimal Clock Synchronization Probablistic Clock Synchronization Conclusions

Discussion

Some thoughts for discussion: “Optimal” isn’t always optimal Good demonstration of the end-to-end principle It would be nice to see some data

Michael George Time