CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.

Slides:



Advertisements
Similar presentations
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
Advertisements

CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Reliable Multicast Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
Time and synchronization (“There’s never enough time…”)
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.
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
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Systems Spring 2009
CS 582 / CMPE 481 Distributed Systems Synchronization.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Time and Synchronization Steve Ko Computer Sciences and Engineering University at Buffalo.
Lecture 13 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside.
1 Slides for Chapter 10: Time (and Global State) From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
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.
EEC-681/781 Distributed Computing Systems Lecture 10 Wenbing Zhao Cleveland State University.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Clock Synchronization Physical clocks Clock synchronization algorithms –Cristian’s.
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.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
Logical Clocks n event ordering, happened-before relation (review) n logical clocks conditions n scalar clocks condition implementation limitation n vector.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS X.500 and LDAP.
Page 1 Logical Clocks Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is.
Synchronization. Why we need synchronization? It is important that multiple processes do not access shared resources simultaneously. Synchronization in.
CSE 486/586 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Global States Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
9/14/20051 Time, Clocks, and the Ordering of Events in a Distributed System by L. Lamport CS 5204 Operating Systems Vladimir Glina Fall 2005.
D u k e S y s t e m s Asynchronous Replicated State Machines (Causal Multicast and All That) Jeff Chase Duke University.
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.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Systems Topic 5: Time, Coordination and Agreement
CSE 486/586 Distributed Systems Consistency --- 3
Logical Clocks. Topics r Logical clocks r Totally-Ordered Multicasting.
Event Ordering. CS 5204 – Operating Systems2 Time and Ordering The two critical differences between centralized and distributed systems are: absence of.
Lecture 1: Logical and Physical Time with some Applications Anish Arora CSE 6333 Notes include material from Dr. Jeff Brumfield.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
CSE 486/586 CSE 486/586 Distributed Systems Global States Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
Logical Clocks event ordering, happened-before relation (review) logical clocks conditions scalar clocks  condition  implementation  limitation vector.
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.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 Distributed Systems Reliable Multicast --- 1
CSE 486/586 Distributed Systems Leader Election
Time and Synchronization
CSE 486/586 Distributed Systems Logical Time
CSE 486/586 Distributed Systems Global States
CSE 486/586 Distributed Systems Time and Synchronization
Time and Synchronization
CSE 486/586 Distributed Systems Logical Time
湖南大学-信息科学与工程学院-计算机与科学系
Lecture 12: Time and Ordering
CSE 486/586 Distributed Systems Leader Election
CS 425 / ECE 428  2013, I. Gupta, K. Nahrtstedt, S. Mitra, N. Vaidya, M. T. Harandi, J. Hou.
Logical time (Lamport)
CSE 486/586 Distributed Systems Global States
CSE 486/586 Distributed Systems Reliable Multicast --- 2
CSE 486/586 Distributed Systems Logical Time
CSE 486/586 Distributed Systems Time and Synchronization
CSE 486/586 Distributed Systems Reliable Multicast --- 1
CSE 486/586 Distributed Systems Leader Election
Presentation transcript:

CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo

CSE 486/586, Spring 2013 Last Time Clock skews do happen External and internal synchronization –Cristian’s algorithm: external synchronization –Berkeley algorithm: internal synchronization –Both designed for LAN NTP (Network Time Protocol) –Hierarchy of time servers –Estimates the actual offset between two clocks –Designed for the Internet Logical time –For ordering events, relative time should suffice. –Will continue today 2

CSE 486/586, Spring 2013 Basics: State Machine State: a collection of values of variables Event: an occurrence of an action that changes the state, (i.e., instruction, send, and receive) As a program, –We can think of all possible execution paths. At runtime, –There’s only one path that the program takes. Equally applicable to –A single process –A distributed set of processes 3 S0 S1S2 S4S3 SF

CSE 486/586, Spring 2013 Ordering Basics Why did we want to synchronize physical clocks? What we need: Ordering of events. Arises in many different contexts… 4

CSE 486/586, Spring 2013 Abstract View Above is what we will deal with most of the time. Ordering question: what do we ultimately want? –Taking two events and determine which one happened before the other one. 5

CSE 486/586, Spring 2013 What Ordering? Ideal? –Perfect physical clock synchronization Reliably? –Events in the same process –Send/receive events 6

CSE 486/586, Spring 2013 Lamport Timestamps 7

CSE 486/586, Spring 2013 Logical Clocks Lamport algorithm assigns logical timestamps: 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 Define a logical relation happened-before (  ) among events: On the same process: a  b, if time(a) < time(b) If p1 sends m to p2: send(m)  receive(m) (Transitivity) If a  b and b  c then a  c Shows causality of events 8

CSE 486/586, Spring 2013 CSE 486/586 Administrivia PA2 is out. –Due on 3/1 –Start with the content provider. Please understand the flow of PA1. Please be careful about your coding style. Lecture slides –I will try posting them a day before. –I will also post a PDF version. There is a course website. –Schedule, syllabus, readings, etc. 9

CSE 486/586, Spring 2013 Find the Mistake: Lamport Logical Time 10 p 1 p 2 p 3 p n Clock Value Message timestamp Physical Time 4

CSE 486/586, Spring 2013 Corrected Example: Lamport Logical Time 11 p 1 p 2 p 3 p n Clock Value Message timestamp Physical Time 8 3 and 7 are logically concurrent events

CSE 486/586, Spring 2013 Vector Timestamps With Lamport clock e “happened-before” f  timestamp(e) < timestamp (f), but timestamp(e) < timestamp (f)  e “happened-before” f Idea? 12 X

CSE 486/586, Spring 2013 Vector Logical Clocks Vector Logical time addresses the issue: All processes use a vector of counters (logical clocks), i th element is the clock value for process i, initially all zero. 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, V receiver [j] = Max(V receiver [j], V message [j]), if j is not self, V receiver [j] + 1, otherwise 13

CSE 486/586, Spring 2013 Find a Mistake: Vector Logical Time 14 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

CSE 486/586, Spring 2013 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]) VT 1 is concurrent with VT 2 iff (not VT 1 <= VT 2 AND not VT 2 <= VT 1 ) 15

CSE 486/586, Spring 2013 The Use of Logical Clocks Is a design decision NTP error bound –Local: a few ms –Wide-area: 10’s of ms If your system doesn’t care about this inaccuracy, then NTP should be fine. Logical clocks impose an arbitrary order over concurrent events anyway –Breaking ties: process IDs, etc. 16

CSE 486/586, Spring 2013 Summary Relative order of events enough for practical purposes –Lamport’s logical clocks –Vector clocks Next: How to take a global snapshot 17

CSE 486/586, Spring Acknowledgements These slides contain material developed and copyrighted by Indranil Gupta at UIUC.