Vector timestamps (auxiliary material from optional text [Bir05])

Slides:



Advertisements
Similar presentations
COS 461 Fall 1997 Time and Clocks u uses of time in distributed systems: –time-based algorithms (e.g. in security) –distributed make –gathering event traces.
Advertisements

Last Class: Clock Synchronization
Interaction Modeling for Testing We would generate the test cases based on our understanding of the interactions that may happen. The source is, again,
Time and Global States Part 3 ECEN5053 Software Engineering of Distributed Systems University of Colorado, Boulder.
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.
Distributed Systems Spring 2009
Ordering and Consistent Cuts Presented By Biswanath Panda.
CMPT 431 Dr. Alexandra Fedorova Lecture VIII: Time And Global Clocks.
CPSC 668Set 12: Causality1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
CS514: Intermediate Course in Operating Systems Professor Ken Birman Vivek Vishnumurthy: TA.
Logical Clocks Ken Birman. Time: A major issue in distributed systems  We tend to casually use temporal concepts  Example: “p suspects that q has failed”
Time, Clocks and the Ordering of Events in a Distributed System - by Leslie Lamport.
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.
Reliable Distributed Systems More on Group Communication.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport (1978) Presented by: Yoav Kantor.
Distributed Systems Foundations Lecture 1. Main Characteristics of Distributed Systems Independent processors, sites, processes Message passing No shared.
Chapter 17 Theoretical Issues in Distributed Systems
Chapter 5.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Logical Time 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.
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.
Logical Clocks. Topics Logical clocks Totally-Ordered Multicasting Vector timestamps.
Lamport’s Logical Clocks & Totally Ordered Multicasting.
CS514: Intermediate Course in Operating Systems Professor Ken Birman Krzys Ostrowski: TA.
“Virtual Time and Global States of Distributed Systems”
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?
Event Ordering Greg Bilodeau CS 5204 November 3, 2009.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport Massachusetts Computer Associates,Inc. Presented by Xiaofeng Xiao.
CIS825 Lecture 2. Model Processors Communication medium.
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.
Logical Clocks. Topics Logical clocks Totally-Ordered Multicasting Vector timestamps.
Logical Clocks. Topics r Logical clocks r Totally-Ordered Multicasting.
Section 1.7 Linear Independence and Nonsingular Matrices
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.
CS533 Concepts of Operating Systems Class 8 Time, Clocks, and the Ordering of Events in a Distributed System By Constantia Tryman.
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.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Logical time Causality between events is fundamental to the design of parallel and distributed systems. In distributed systems, it is not possible to have.
CSE 486/586 Distributed Systems Logical Time
CSE 486/586 Distributed Systems Logical Time
Overview of Ordering and Logical Time
SYNCHORNIZATION Logical Clocks.
Time and Clock Primary standard = rotation of earth
EECS 498 Introduction to Distributed Systems Fall 2017
Logical time (Lamport)
Unified Modeling Language
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Time And Global Clocks CMPT 431.
Event Ordering.
EEC 688/788 Secure and Dependable Computing
Concurrent events If a, b are concurrent, LT(a) and LT(b) may have arbitrary values! Thus, logical time lets us determine that a potentially happened before.
Outline Theoretical Foundations
CS 425 / ECE 428  2013, I. Gupta, K. Nahrtstedt, S. Mitra, N. Vaidya, M. T. Harandi, J. Hou.
ITEC452 Distributed Computing Lecture 10 Time in a Distributed System
Chapter 5 (through section 5.4)
Basics of Distributed Systems
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Logical time (Lamport)
CSE 486/586 Distributed Systems Logical Time
Proof of liveness: an example
Outline Theoretical Foundations
Presentation transcript:

Vector timestamps (auxiliary material from optional text [Bir05]) Extend logical timestamps into a list of counters, one per process in the system Again, each process keeps its own copy Event e occurs at process p: p increments VT(p)[p] (p’th entry in its own vector clock) q receives a message from p: q sets VT(q)=max(VT(q),VT(p)) (element-by-element)

Illustration of vector timestamps [DAVE CHANGED] [1,0,0,0] [2,0,0,0] [1,2,1,0] [2,4,1,0] [1,1,0,0] [2,3,1,0] [0,0,1,0] [0,0,2,1] [0,0,3,1] g [0,0,0,1] [0,0,3,2] [2,4,3,3]

Define VT(e)<VT(e’) if, Vector timestamps accurately represent the happens-before relationship! Define VT(e)<VT(e’) if, for all i, VT(e)[i]<VT(e’)[i], and for some j, VT(e)[j]<VT(e’)[j] Example: if VT(e)=[2,1,1,0] and VT(e’)=[2,3,1,0] then VT(e)<VT(e’) Notice that not all VT’s are “comparable” under this rule: consider [4,0,0,0] and [0,0,0,4]

Now can show that VT(e)<VT(e’) if and only if e  e’: Vector timestamps accurately represent the happens-before relationship! Now can show that VT(e)<VT(e’) if and only if e  e’: If e  e’, there exists a chain e0  e1 ...  en on which vector timestamps increase “hop by hop” If VT(e)<VT(e’) suffices to look at VT(e’)[proc(e)], where proc(e) is the place that e occured. By definition, we know that VT(e’)[proc(e)] is at least as large as VT(e)[proc(e)], and by construction, this implies a chain of events from e to e’

Examples of VT’s and happens-before Example: suppose that VT(e)=[2,1,0,1] and VT(e’)=[2,3,0,1], so VT(e)<VT(e’) How did e’ “learn” about the 3 and the 1? Either these events occured at the same place as e’, or Some chain of send/receive events carried the values! If VT’s are not comparable, the corresponding events are concurrent!

For vector to make sense, must agree on the number of entries Notice that vector timestamps require a static notion of system membership For vector to make sense, must agree on the number of entries Later will see that vector timestamps are useful within groups of processes Will also find ways to compress them and to deal with dynamic group membership changes