Lecture 5-1 Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013 Indranil Gupta (Indy) September 10, 2013 Lecture 5 Time and Synchronization.

Slides:



Advertisements
Similar presentations
Time and synchronization (“There’s never enough time…”)
Advertisements

Time and Clock Primary standard = rotation of earth De facto primary standard = atomic clock (1 atomic second = 9,192,631,770 orbital transitions of Cesium.
Computer Science 425 Distributed Systems CS 425 / ECE 428  2013, I. Gupta, K. Nahrtstedt, S. Mitra, N. Vaidya, M. T. Harandi, J. Hou.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Time and Synchronization Steve Ko Computer Sciences and Engineering University at Buffalo.
Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2011 August 30, 2011 Lecture 3 Time and Synchronization Reading: Sections
Time and Global States Ali Fanian Isfahan University of Technology
Distributed Systems Spring 2009
CS 582 / CMPE 481 Distributed Systems Synchronization.
Distributed Systems Fall 2010 Time and synchronization.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Time and Synchronization Steve Ko Computer Sciences and Engineering University at Buffalo.
1. Explain why synchronization is so important in distributed systems by giving an appropriate example When each machine has its own clock, an event that.
Teaching material based on Distributed Systems: Concepts and Design, Edition 3, Addison-Wesley Copyright © George Coulouris, Jean Dollimore, Tim.
Synchronization Clock Synchronization Logical Clocks Global State Election Algorithms Mutual Exclusion.
Time and Global States Chapter 11. Why time? Time is an Important and interesting issue in distributes systems. One we can measure accurately. Can use.
Distributed Systems CS Synchronization – Part II Lecture 8, Sep 28, 2011 Majd F. Sakr, Vinay Kolar, Mohammad Hammoud.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
EEC-681/781 Distributed Computing Systems Lecture 10 Wenbing Zhao Cleveland State University.
CS542: Topics in Distributed Systems Diganta Goswami.
EEC-681/781 Distributed Computing Systems Lecture 10 Wenbing Zhao Cleveland State University.
Lecture 9: Time & Clocks CDK4: Sections 11.1 – 11.4 CDK5: Sections 14.1 – 14.4 TVS: Sections 6.1 – 6.2 Topics: Synchronization Logical time (Lamport) Vector.
Distributed Systems Foundations Lecture 1. Main Characteristics of Distributed Systems Independent processors, sites, processes Message passing No shared.
Synchronization Chapter 6 Part I Clock Synchronization & Logical clocks Part II Mutual Exclusion Part III Election Algorithms Part IV Transactions.
Lecture 2-1 CS 425/ECE 428 Distributed Systems Lecture 2 Time & Synchronization Reading: Klara Nahrstedt.
Lecture 3-1 Computer Science 425 Distributed Systems Lecture 3 Logical Clock and Global States/ Snapshots Reading: Chapter 11.4&11.5 Klara Nahrstedt.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
1 Distributed Systems CS 425 / CSE 424 / ECE 428 Global Snapshots Reading: Sections 11.5 (4 th ed), 14.5 (5 th ed)  2010, I. Gupta, K. Nahrtstedt, S.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS X.500 and LDAP.
Lecture 6-1 Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013 Indranil Gupta (Indy) September 12, 2013 Lecture 6 Global Snapshots Reading:
CSE 486/586 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
Communication & Synchronization Why do processes communicate in DS? –To exchange messages –To synchronize processes Why do processes synchronize in DS?
Synchronization Distributed System. Why synchronization? Two sharpshooters in a multiplayer online game kill the same target. Which one gets the points?
Lecture 9: Time and clocks (Chap 11) Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
Time This powerpoint presentation has been adapted from: 1) sApr20.ppt.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Synchronization CSCI 4900/6900. Importance of Clocks & Synchronization Avoiding simultaneous access of resources –Cooperate to grant exclusive access.
Time and global states Chapter 11. Outline Introduction Clocks, events and process states Synchronizing physical clocks Logical time and logical clocks.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distributed Systems Topic 5: Time, Coordination and Agreement
Hwajung Lee. Primary standard = rotation of earth De facto primary standard = atomic clock (1 atomic second = 9,192,631,770 orbital transitions of Cesium.
Lecture 12-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) October 4, 2012 Lecture 12 Mutual Exclusion.
Lecture 4-1 Computer Science 425 Distributed Systems (Fall2009) Lecture 4 Chandy-Lamport Snapshot Algorithm and Multicast Communication Reading: Section.
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 6: Synchronyzation 3/5/20161 Distributed Systems - COMP 655.
Distributed Systems Lecture 5 Time and synchronization 1.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
Indranil Gupta (Indy) Topic: Time and Ordering Lecture A: Introduction and Basics Cloud Computing concepts All slides © IG.
CSE 486/586 CSE 486/586 Distributed Systems Time and Synchronization Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Web Systems Time and Global State Lecturer Department University.
Distributed Computing
Time and Synchronization
CSE 486/586 Distributed Systems Logical Time
Time and Global States Ali Fanian Isfahan University of Technology
Lecture 5 Time and synchronization
CSE 486/586 Distributed Systems Time and Synchronization
Time and Synchronization
CSE 486/586 Distributed Systems Logical Time
Time and Clock.
Logical time (Lamport)
湖南大学-信息科学与工程学院-计算机与科学系
Lecture 12: Time and Ordering
Time and Clock.
CS 425 / ECE 428  2013, I. Gupta, K. Nahrtstedt, S. Mitra, N. Vaidya, M. T. Harandi, J. Hou.
CDK: Sections 11.1 – 11.4 TVS: Sections 6.1 – 6.2
Logical time (Lamport)
Logical time (Lamport)
CSE 486/586 Distributed Systems Logical Time
CSE 486/586 Distributed Systems Time and Synchronization
Logical time (Lamport)
Last Class: Naming Name distribution: use hierarchies DNS
Presentation transcript:

Lecture 5-1 Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013 Indranil Gupta (Indy) September 10, 2013 Lecture 5 Time and Synchronization Reading: Sections  2013, I. Gupta, K. Nahrtstedt, S. Mitra, N. Vaidya, M. T. Harandi, J. Hou

Lecture 5-2 Why synchronization? You want to catch the 13N Silver bus at the Illini Union stop at 6.05 pm, but your watch is off by 15 minutes –What if your watch is Late by 15 minutes? –What if your watch is Fast by 15 minutes? Synchronization is required for –Correctness –Fairness

Lecture 5-3 Why synchronization? Cloud airline reservation system Server A receives a client request to purchase last ticket on flight ABC 123. Server A timestamps purchase using local clock 9h:15m:32.45s, and logs it. Replies ok to client. That was the last seat. Server A sends message to Server B saying “flight full.” B enters “Flight ABC 123 full” + local clock value (which reads 9h:10m:10.11s) into its log. Server C queries A’s and B’s logs. Is confused that a client purchased a ticket after the flight became full. –May execute incorrect or unfair actions.

Lecture 5-4 An Asynchronous Distributed System (DS) consists of a number of processes. Each process has a state (values of variables). Each process takes actions to change its state, which may be an instruction or a communication action (send, receive). An event is the occurrence of an action. Each process has a local clock – events within a process can be assigned timestamps, and thus ordered linearly. But – in a DS, we also need to know the time order of events across different processes.  Clocks across processes are not synchronized in an asynchronous DS (unlike in a multiprocessor/parallel system, where they are). So… 1.Process clocks can be different 2.Need algorithms for either (a) time synchronization, or (b) for telling which event happened before which Basics – Processes and Events

Lecture 5-5 In a DS, each process has its own clock. Clock Skew versus Drift Clock Skew = Relative Difference in clock values of two processes Clock Drift = Relative Difference in clock frequencies (rates) of two processes A non-zero clock drift causes skew to increase (eventually). Maximum Drift Rate (MDR) of a clock Absolute MDR is defined relative to Coordinated Universal Time (UTC). UTC is the “correct” time at any point of time. MDR of a process depends on the environment. Max drift rate between two clocks with similar MDR is 2 * MDR Physical Clocks & Synchronization Max-Synch-Interval = (MaxAcceptableSkew—CurrentSkew) / (MDR * 2) (i.e., time = distance/speed)

Lecture 5-6 Synchronizing Physical Clocks C i (t): the reading of the software clock at process i when the real time is t. External synchronization: For a synchronization bound D>0, and for source S of UTC time, for i=1,2,...,N and for all real times t. Clocks C i are externally accurate to within the bound D. Internal synchronization: For a synchronization bound D>0, for i, j=1,2,...,N and for all real times t. Clocks C i are internally accurate within the bound D. External synchronization with D  Internal synchronization with 2D Internal synchronization with D  External synchronization with ??

Lecture 5-7 Clock Synchronization Using a Time Server m r m t p Time server,S

Lecture 5-8 Uses a time server to synchronize clocks Time server keeps the reference time (say UTC) A client asks the time server for time, the server responds with its current time T, and the client uses this received value to set its clock But network round-trip time introduces an error… Cristian’s Algorithm Let RTT = response-received-time – request-sent-time (measurable at client) Also, suppose we know: (1) the minimum value min of the client-server one-way transmission time [Depends on what?] (2) and that the server timestamped the message at the last possible instant before sending it back Then, the actual time could be between [T+min,T+RTT— min] What are the two extremes?

Lecture 5-9  Client sets its clock to halfway between T+min and T+RTT— min i.e., at T+RTT/2 –Expected (i.e., average) skew in client clock time will be = half of this interval = (RTT/2 – min)  Can increase clock value, but should never decrease it – Why?  Can adjust speed of clock too (take multiple readings) – either up or down is ok.  For unusually long RTTs, repeat the time request  For non-uniform RTTs, use weighted average Cristian’s Algorithm (2) avg-clock-error n = (w * latest-clock-error) + (1 – w) * avg-clock-error n-1 Typically w=0.5

Lecture 5-10 Uses an elected master process to synchronize among clients, without the presence of a time server The elected master broadcasts to all machines requesting for their time, adjusts times received for RTT & latency, averages times, and tells each machine how to adjust. Multiple leaders may also be used.  Averaging client’s clocks may cause the entire system to drift away from UTC over time (Internal Synchronization)  Failure of the master requires some time for re-election, so drift/skew bounds cannot be guaranteed Berkeley Algorithm

Lecture 5-11 Uses a network of time servers to synchronize all processes on a network. Time servers are connected by a synchronization subnet tree. The root is in touch with UTC. Each node synchronizes its children nodes. Secondary servers, synched by the primary server The Network Time Protocol (NTP) Primary server, direct synch. Strata 3, synched by the secondary servers

Lecture 5-12 Messages Exchanged Between a Pair of NTP Peers (“Connected Servers”) T i T i-1 T i-2 T i-3 Server B Server A Time mm' Time Each message bears timestamps of recent message events: the local time when the previous NTP message was sent and received, and the local time when the current message was transmitted.

Lecture 5-13 Theoretical Base for NTP T i T i-1 T i-2 T i-3 Server B Server A Time mm' Time t and t’: actual transmission times for m and m’(unknown) o: true offset of clock at B relative to clock at A o i : estimate of actual offset between the two clocks d i : estimate of accuracy of o i ; total transmission times for m and m’; d i =t+t’

Lecture 5-14 Logical Clocks  Is it always necessary to give absolute time to events?  Suppose we can assign relative time to events, in a way that does not violate their causality  Well, that would work – we humans run our lives without looking at our watches for everything we do  First proposed by Leslie Lamport in the 70’s  Define a logical relation Happens-Before (  ) among events: 1. On the same process: a  b, if time(a) < time(b) 2. If p1 sends m to p2: send(m)  receive(m) 3. (Transitivity) If a  b and b  c then a  c  Lamport Algorithm assigns logical timestamps to events:  All processes use a counter (clock) with initial value of zero  A process increments its counter when a send or an instruction happens at it. The counter is assigned to the event as its timestamp.  A send (message) event carries its timestamp  For a receive (message) event the counter is updated by max(local clock, message timestamp) + 1

Lecture 5-15 Events Occurring at Three Processes

Lecture 5-16 Lamport Timestamps

Lecture 5-17 Find the Mistake: Lamport Logical Time p 1 p 2 p 3 p n Clock Value Message timestamp Physical Time 4

Lecture 5-18 Corrected Example: Lamport Logical Time p 1 p 2 p 3 p n Clock Value Message timestamp Physical Time 8 3 and 7 are logically concurrent events

Lecture 5-19 Vector Logical Clocks  With Lamport Logical Timestamp e  f  timestamp(e) < timestamp (f), but timestamp(e) < timestamp (f)  {e  f} OR {e and f concurrent}  Vector Logical time addresses this issue:  N processes. Each uses a vector of counters (logical clocks), initially all zero. i th element is the clock value for process i.  Each process i increments the i th element of its vector upon an instruction or send event. Vector value is timestamp of the event.  A send(message) event carries its vector timestamp (counter vector)  For a receive(message) event, Max(V receiver [j], V message [j]), if j is not self V receiver [j] + 1otherwise V receiver [j] =

Lecture 5-20 Vector Timestamps

Lecture 5-21 Example: Vector Timestamps p 1 p 2 p 3 p 4 0,0,0,0 Vector logical clock Message (vector timestamp) Physical Time 0,0,0,0 (1,0,0,0) 1,0,0,0 1,1,0,0 2,0,0,0 2,0,1,0 (2,0,0,0) 2,0,2,0 2,0,2,1 (2,0,2,0) 1,2,0,0 2,2,3,0 (1,2,0,0) 4,0,2,2 4,2,4,2 (4,0,2,2) 2,0,2,2 3,0,2,2 (2,0,2,2) 2,0,2,3 4,2,5,3 (2,0,2,3) n,m,p,q

Lecture 5-22 Comparing Vector Timestamps  VT 1 = VT 2, iff VT 1 [i] = VT 2 [i], for all i = 1, …, n  VT 1 < VT 2, iff VT 1 [i] < VT 2 [i], for all i = 1, …, n  VT 1 < VT 2, iff VT 1 < VT 2 &  j (1 < j < n & VT 1 [j] < VT 2 [j])  Then: VT 1 is concurrent with VT 2 iff (not VT 1 < VT 2 AND not VT 2 < VT 1 )

Lecture 5-23 Side Issue: Causality Violation P1 P2 P Physical Time 4 6 Include(obj1) obj1.method() P2 has obj1 Causality violation occurs when order of messages causes an action based on information that another host has not yet received. In designing a distributed system, potential for causality violation is important to notice

Lecture 5-24 Detecting Causality Violation P1 P2 P3 (1,0,0) (2,0,0) Physical Time (2,0,2) Potential causality violation can be detected by vector timestamps. If the vector timestamp of a message is less than the local vector timestamp, on arrival, there is a potential causality violation. 0,0,0 1,0,0 2,0,1 2,2,2 2,1,2 2,0,2 2,0,0 Violation: (1,0,0) < (2,1,2)

Lecture 5-25 Summary, Announcements Time synchronization important for distributed systems –Cristian’s algorithm –Berkeley algorithm –NTP Relative order of events enough for practical purposes –Lamport’s logical clocks –Vector clocks Next class: Global Snapshots. Reading: 14.5 HW1 due next Thursday 9/19 MP1: due this Sunday –By now, you should have written most of your code.