CSE 486/586, Spring 2014 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.
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.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Clock Synchronization Physical clocks Clock synchronization algorithms –Cristian’s.
Distributed Systems Foundations Lecture 1. Main Characteristics of Distributed Systems Independent processors, sites, processes Message passing No shared.
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 2013 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed Shared Memory Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
1 Causal Delivery Advanced Networks PhD. Saúl Pomares Hernández.
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
Feb 15, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
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.
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.
11-Jun-16CSE 542: Operating Systems1 Distributed systems Time, clocks, and the ordering of events in a distributed system Leslie Lamport. Communications.
Logical Clocks event ordering, happened-before relation (review) logical clocks conditions scalar clocks  condition  implementation  limitation vector.
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
Outline Theoretical Foundations
CS 425 / ECE 428  2013, I. Gupta, K. Nahrtstedt, S. Mitra, N. Vaidya, M. T. Harandi, J. Hou.
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 2014 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo

CSE 486/586, Spring 2014 Last Time Clock skews do happen Cristian’s algorithm –One server –Server-side timestamp and one-way delay estimation 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 2014 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 2014 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 2014 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 2014 What Ordering? Ideal? –Perfect physical clock synchronization Reliably? –Events in the same process –Send/receive events 6

CSE 486/586, Spring 2014 Lamport Timestamps 7

CSE 486/586, Spring 2014 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 2014 CSE 486/586 Administrivia PA2 will be out very soon. –Sorry for my delay; waiting on new TAs first. Please pay attention to your coding style. 9

CSE 486/586, Spring 2014 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 2014 Corrected Example: Lamport Logical Time 11 p 1 p 2 p 3 p n Clock Value Message timestamp Physical Time 8

CSE 486/586, Spring 2014 One Issue 12 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 2014 Vector Timestamps With Lamport clock e “happened-before” f  timestamp(e) < timestamp (f), but timestamp(e) < timestamp (f)  e “happened-before” f Idea? 13 X

CSE 486/586, Spring 2014 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 14

CSE 486/586, Spring 2014 Find a Mistake: Vector Logical Time 15 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 2014 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 ) 16

CSE 486/586, Spring 2014 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. 17

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

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