Download presentation
Presentation is loading. Please wait.
1
Maya Haridasan April 15th
Time Maya Haridasan April 15th
2
What’s wrong with the clocks?
3
Why is synchronization so complicated?
Due to variations of transmission delays each process cannot have an instantaneous global view of every remote clock value Presence of drifting rates Hardest: support faulty elements Talk about why we need synchronized clocks: Process control applications, transaction processing applications, communication protocols require approximately the same view of time Present the scenario and talk about what are the difficulties in designing clock synchronization algorithms: Due to variations of transmission delays each process cannot have an instantaneous global view of every remote clock value. Presence of drifting rates Hardest: support faulty elements
4
External Clock Synchronization
Synchronize clocks with respect to an external time reference: usually useful in loosely coupled networks or real-time systems (Ex, NTP) External x Internal Clock Synchronization: Synchronize clocks with respect to an external time reference: usually useful in loosely coupled networks or real-time systems (Ex, NTP) Synchronize clocks among themselves Enables a process to measure the duration of distributed activities that start on one processor and terminate on another one. Establishes an order between distributed events in a manner that closely approximates their real time precedence. Hardware x Software?
5
Internal Clock Synchronization
Synchronize clocks among themselves Enables a process to measure the duration of distributed activities that start on one processor and terminate on another one. Establishes an order between distributed events in a manner that closely approximates their real time precedence. External x Internal Clock Synchronization: Synchronize clocks with respect to an external time reference: usually useful in loosely coupled networks or real-time systems (Ex, NTP) Synchronize clocks among themselves Enables a process to measure the duration of distributed activities that start on one processor and terminate on another one. Establishes an order between distributed events in a manner that closely approximates their real time precedence. Hardware x Software?
6
Software Clock Synchronization
Deterministic assumes an upper bound on transmission delays – guarantees some precision Statistical expectation and standard deviation of the delay distributions are known Probabilistic no assumptions about delay distributions Realistic? Reliable? Software Clock Synchronization: Deterministic -> assume an upper bound on transmission delays – guarantee some precision Probabilistic -> no assumptions about delay distributions Statistical -> expectation and standard deviation of the delay distributions are known Any guarantees?
7
Correct clock - Definition
A correct clock Hp satisfies the bounded drift condition: (1 – ρ)(t – s) ≤ Hp(t) – Hp(s) ≤ (1 + ρ)(t – s) Hp(t) – Hp(s) < (1- ρ)(t – s) Hp(t) – Hp(s) > (1+ ρ)(t – s) Perfect hardware clock Hp(t) – Hp(s) = (t – s) Clock values Definition of correctness of clocks? Real time
8
Failure modes Crash Failure: Performance Failure:
processor behaves correctly and then stops executing forever Performance Failure: processor reacts too slowly to a trigger event Arbitrary Failure (a.k.a Byzantine): processor executes uncontrolled computation
9
The clock synchronization problem
Property 1 (Agreement): | Lpi(t) – Lpj(t) | δ, (δ is the precision of the clock synchronization algorithm) Property 2 (Accuracy): (1 – ρv)(t – s) + a ≤ Lp(t) – Lp(s) ≤ (1 + ρv)(t – s) + b What is optimal accuracy? ρv ≠ ρ
10
Optimal accuracy Drift rate of the synchronized clocks is bounded by the maximum drift rate of correct harware clocks ρv = ρ (1 – ρ)(t – s) + a ≤ Lp(t) – Lp(s) ≤ (1 + ρ)(t – s) + b
11
Paper 1: Optimal Clock Synchronization
Claims: Accuracy need not be sacrificed in order to achieve synchronization It’s the first synchronization algorithm where logical clocks have the same accuracy as the underlying physical clocks Unified solution to all models of failure Paper1: Accuracy need not be sacrificed in order to achieve synchronization. ??? First synchronization algorithm where logical clocks have the same accuracy as the underlying physical clocks. Unified solution to all models of failure
12
Authenticated Algorithm
kth resynchronization - Waiting for time kP real time t logical time kP Ready to synchronize P – logical time between resynchronizations
13
Authenticated Algorithm
logical time kP Ready to synchronize P – logical time between resynchronizations
14
Authenticated Algorithm
logical time kP Ready to synchronize P – logical time between resynchronizations
15
Authenticated Algorithm
Kp + logical time kP Synchronize! P – logical time between resynchronizations
16
Achieving Optimal Accuracy
Uncertainty of tdelay introduces a difference in the logical time between resynchronizations Reason for non-optimal accuracy Solution: Slow down the logical clocks by a factor of P (P - - ) where = tdel / 2(1 + )
17
Authenticated Messages
Correctness: If at least f + 1 correct processes broadcast messages by time t, then every correct process accepts the message by time t + tdel Unforgeability: If no correct process broadcasts a message by time t, then no correct process accepts the message by t or earlier Relay: If a correct process accepts the message at time t, then every correct process does so by time t + tdel
18
Nonauthenticated Algorithm
Replace signed communication with a broadcast primitive Primitive relays messages automatically Cost of O(n2) messages per resynchronization New limit on number of faulty processes allowed: n > 3f
19
Broadcast Primitive 2 1 3 (echo, round k) Received f + 1 distinct
(init, round k)! 1 Received 2f + 1 distinct (echo, round k)! Accept (round k) 3 (echo, round k)
20
Initialization and Integration
Same algorithms can be used to achieve initial synchronization and integrate new processes into the network A process independently starts clock Co On accepting a message at real time t, it sets C0 = α “Passive” scheme for integration of new processes
21
Paper 2: Why try another approach?
Traditional deterministic fault-tolerant clock synchronization algorithms: Assume bounded communication delays Require the transmission of at least N2 messages each time N clocks are synchronized Bursty exchange of messages within a narrow re-synchronization real-time interval
22
Probabilistic ICS Claims:
Proposes family of fault-tolerant internal clock synchronization (ICS) protocols Probabilistic reading achieves higher precisions than deterministic reading Doesn’t assume unbounded communication delays Use of convergence function optimal accuracy
23
Their approach Only requires to send a number of unreliable broadcast messages Staggers the message traffic in time Uses a new transitive remote clock reading method Number of messages in the best case: N + 1 (N time server processes)
24
Probabilistic Clock Reading
q Basic Idea: T1 m1 m2 T0 T2 (T2 – T0)(1 + ) = maximum bound (real time) p min ≤ t(m2) ≤ (T2 – T0)(1 + ) - min max(m2)(1 + ) + min(m2)(1 - ) 2 Cq = T1 +
25
Probabilistic Clock Reading
q Basic Idea: T1 m1 m2 T0 T2 Maximum acceptable clock reading error p Is error ≤ ? Yes: Success No? Try reading again (Limit: D)
26
Staggering Messages p q r p slots per cycle k cycles per round slot
27
Transitive Remote Clock Reading
Can reduce the number of messages per round to N + 1 tp tq real time T p T q Cq (T,p) Cr (T,q) = Cr (T,p) + T - Cq (T,p) r Cr (T,p) Cr (T,q) Cannot be used when arbitrary failures can occur!
28
Round Message Exchange Protocol
Request Mode Clock times: p q r ? ? ? request messages t err Finish Mode Clock times: p q r finish messages t err Reply Mode Clock times: p q r ? ? ? reply messages t err
29
Outline of Algorithms Round clock Cpk of process p for round k:
Cpk(t) = Hp(t) + Apk Void synchronizer() { ReadClocks(..) A = A + cfn(rank(), Clocks, Errors) T = T + P }
30
Convergence Functions
Let I(t) = [L, R] be the interval spanned by at t by correct clocks. If all processes would set their virtual clocks at the same time t to the midpoint of I(t), then all correct clocks would be exactly synchronized at that point in time. Unfortunately, this is not a perfect world!
31
Convergence Functions
Each correct process makes an approximation Ip which is guaranteed to be included in a bounded extension of the interval of correct clocks I: Ik(t) = [min{Csk (t) - }, max{Csk (t) + }] Deviation of clocks is bounded by , so length of Ik(t) is bounded by + 2
32
Tolerated types of failures
Failure classes Algorithm Tolerated Failures Required Processes Tolerated types of failures CSA Crash F F + 1 Crash CSA Read 2F + 1 Crash, Reading CSA Arbitrary 3F + 1 Arbitrary, Reading CSA Hybrid Fc, Fr, Fa 3Fa + 2Fr + Fc + 1 Crash, Read., Arb.
33
Conclusions – Which one is better?
First Paper (deterministic algorithm) Simple algorithm Unified solution for different types of failures Achieves optimal accuracy Assumes bounded comunication O(n2) messages Bursty communication
34
Conclusions – Which one is better?
Second Paper (probabilistic algorithm) Takes advantage of the current working conditions, by invoking successive round-trip exchanges, to reach a tight precision) Precision is not guaranteed Achieves optimal accuracy O(n) messages If both algorithms achieve optimal accuracy, Then why is there still work being done?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.