1 / 34

Time

Time. Maya Haridasan April 15th. What’s wrong with the clocks?. 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.

coby
Download Presentation

Time

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  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)

  5. Internal Clock Synchronization • 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. • Synchronize clocks among themselves

  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? Any guarantees?

  7. Hp(t) – Hp(s) > (1+ ρ)(t – s) Hp(t) – Hp(s) < (1- ρ)(t – s) Correct clock - Definition A correct clock Hpsatisfies the bounded drift condition: (1 – ρ)(t – s) ≤ Hp(t) – Hp(s) ≤ (1 + ρ)(t – s) Perfect hardware clock Hp(t) – Hp(s) = (t – s) Clock values Real time

  8. Failure modes • Crash 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. ρv≠ ρ What is optimal accuracy? 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

  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

  12. real time t logical time kP Authenticated Algorithm kth resynchronization - Waiting for time kP Ready to synchronize P – logical time between resynchronizations

  13. logical time kP Authenticated Algorithm Ready to synchronize P – logical time between resynchronizations

  14. logical time kP Authenticated Algorithm Ready to synchronize P – logical time between resynchronizations

  15. logical time kP Authenticated Algorithm 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. Received f + 1 distinct (echo, round k)! 2 Received f + 1 distinct (init, round k)! 1 Received 2f + 1 distinct (echo, round k)! Accept (round k) 3 (echo, round k) Broadcast Primitive

  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. (T2 – T0)(1 + ) = maximum bound (real time) min ≤ t(m2) ≤ (T2 – T0)(1 + ) - min max(m2)(1 + ) + min(m2)(1 - ) 2 Cq = T1 + Probabilistic Clock Reading q • Basic Idea: T1 m1 m2 T0 T2 p

  25. Maximum acceptable clock reading error Probabilistic Clock Reading q • Basic Idea: T1 m1 m2 T0 T2 p Is error≤  ? Yes: Success No? Try reading again (Limit: D)

  26. p q r Staggering Messages slot cycle p slots per cycle k cycles per round

  27. Cr (T,q) = Cr (T,p) + T - Cq (T,p) 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) r Cr(T,p) Cr(T,q) Cannot be used when arbitrary failures can occur!

  28. Request Mode finish messages Reply Mode Finish Mode Clock times: p q r ? ? ? ? ? ? • Clock times: • p q r • 11 10 • ? ? ? t • Clock times: • p q r • 11 10 • 1 1 2 err t request messages err t reply messages err Round Message Exchange Protocol

  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: Ik(t) = [min{Csk (t) - }, max{Csk (t) + }] Deviation of clocks is bounded by , so length of Ik(t) is bounded by  + 2

  32. Failure classes

  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?

More Related