1 / 18

Time and Clock

Explore the importance of clock synchronization, causal relationships, logical and vector clocks, types of synchronization, challenges, and algorithms in distributed systems. Learn about external and internal synchronization methods and the Network Time Protocol.

aadolph
Download Presentation

Time and Clock

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. Primary standard = rotation of earth De facto primary standard = atomic clock (1 atomic second = 9,192,631,770 orbital transitions of Cs 133 atom. 86400 atomic sec = 1 solar day – 3 ms). What is GPS? There is nothing called simultaneous in the physical world. Time and Clock

  2. Sequential and Concurrent events Sequential = Totally ordered in time. Total ordering is feasible in a single process that has only one clock. This is not true in a distributed system. Two issues are important here: • How to synchronize physical clocks ? • Can we define sequential and concurrent events without using physical clocks?

  3. Causality Causality helps determine sequential and concurrent events without using physical clocks. • Joke  Re: joke ( implies causally ordered before) • Message sent  message received • Local ordering a  b  c (based on the local clock)

  4. Defining causal relationship • Rule 1. If a, b are two events in a single process P, and the time of a is less than the time of b then a b. • Rule 2. If a = sending a message, and b = receipt of that message, then a  b. • Rule 3.a  bb  c a  c

  5. a  d since (a  bb  cc  d) e  d since (e  ff  d) (Thus  defines a PARTIAL order). Is g  f or f  g? NO. They are concurrent. Concurrency = absence of causal order. Example of causality

  6. LC is a counter. Its value respects causal ordering as follows a  b  LC(a) < LC(b) Note that LC(a) < LC(b) does NOT imply a  b. Each process maintains its logical clock as follows: LC1. Each time a local event takes place, increment LC. LC2. Append the value of LC to outgoing messages. LC3. When receiving a message, set LC to 1+ max (local LC, message LC) Logical clocks

  7. So, does total order exist in a distributed system? It is important to define a total order for some applications. Causal order is strengthenedto define a total order (<<) among events. The (id, LC) value sent out with each message is called its timestamp. Let a, b be events in processes i and j respectively. Then a << b iff LC(a) < LC(b) OR LC(a) = LC(b) and i < j a  b  a << b, but the converse is not true. Total order

  8. Causality detection can be an important issue is applications like group communication. Logical clocks do not detect causal ordering. Vector clocks do. a  b VC(a) < VC(b) Vector clock

  9. Example [3, 3, 4, 5, 3, 2, 1, 4] < [3, 3, 4, 5, 3, 2, 2, 5] But, [3, 3, 4, 5, 3, 2, 1, 4] and [3, 3, 4, 5, 3, 2, 2, 3] are not comparable Vector clocks Define. VC(a) < VC(b) iff i : 0 ≤ i ≤ N-1 : VC(a)[i] ≤ VC(b)[i], and  j : 0 ≤ j ≤ N-1 : VC(a)[j] < VC(b)[j],

  10. {Actions of process j} VC1. Increment VC[j]) for each local event. VC2. Append local VC to every outgoing message. VC3. When a message with a vector timestamp T arrives, first increment the jth component VC[j] of the local vector clock, and then update it as follows: k: 0 ≤ k ≤ N-1:: VC[k] := max(T[k], VC[k]). Implementing VC

  11. Physical clock synchronization Question 1.Why is physical clock synchronization important? Question 2.With atomic clocks becoming affordable, should we care about physical clock synchronization? Can’t we use GPS?

  12. Types of Synchronization External Synchronization Internal Synchronization Phase Synchronization Types of clocks Unbounded 0, 1, 2, 3, . . . Bounded 0, 1, 2, . . . M-1, 0, 1, . . . Unbounded clocks are not realistic, but are easier to deal with in algorithms Classification

  13. What are these? Drift rate  Clock skew  Resynchronization interval R Challenges (Drift is unavoidable) Accounting for propagation delay Processing delay Faulty clocks Terminologies

  14. A simple averaging algorithm Step 1. Read every clock in the system. Step 2. Discard outliers and substitute them by the value of the local clock. Step 3. Update the clock using the average of these values. Synchronization is maintained if n > 3t+1 where t is the number of faulty (may be 2-faced) clocks. Why? Internal synchronization Some clocks may be faulty

  15. A simple averaging algorithm If there are t faulty clocks, then the maximum difference between the averages computed by two non-faulty nodes is be 3td /n To keep the clocks synchronized, 3td /n < d So, 3t < n Internal synchronization Some clocks may be faulty

  16. Client pulls data from a time server. For accuracy, it computes the round trip time (RTT), and compensates for this delay while adjusting its own clock Cristian’s method Time server

  17. Tiered architecture Broadcast mode -least accurate Procedure call -medium accuracy Peer-to-peer mode -higher level servers use this for max accuracy Network Time Protocol Time server

  18. Let Q’s time be ahead of P’s time by . Then T2 = T1 + TPQ + T4 = T3 + TQP - RTT y = TPQ + TQP = T2 +T4 -T1 -T3  = (T2 -T4 -T1 +T3) / 2 -(TPQ -TQP) / 2 Ping several times, and obtain the smallest value of y. Use it to calculate  P2P mode of NTP T2 T3 Q P T1 T4 x Between y/2 and -y/2

More Related