Lecture 13 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside.

Slides:



Advertisements
Similar presentations
1 Process groups and message ordering If processes belong to groups, certain algorithms can be used that depend on group properties membership create (
Advertisements

Time and Global States Part 3 ECEN5053 Software Engineering of Distributed Systems University of Colorado, Boulder.
Synchronization Chapter clock synchronization * 5.2 logical clocks * 5.3 global state * 5.4 election algorithm * 5.5 mutual exclusion * 5.6 distributed.
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
CS 582 / CMPE 481 Distributed Systems
Ordering and Consistent Cuts Presented By Biswanath Panda.
EEC 688/788 Secure and Dependable Computing Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems CS Synchronization – Part II Lecture 8, Sep 28, 2011 Majd F. Sakr, Vinay Kolar, Mohammad Hammoud.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering.
EEC-681/781 Distributed Computing Systems Lecture 11 Wenbing Zhao Cleveland State University.
Time, Clocks and the Ordering of Events in a Distributed System - by Leslie Lamport.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
Clock Synchronization and algorithm
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.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Lecture 14 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Project P01 deadline on Wednesday November 3 rd. Non-blocking.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Clock Synchronization Physical clocks Clock synchronization algorithms –Cristian’s.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport (1978) Presented by: Yoav Kantor.
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.
Logical Clocks (2). Topics r Logical clocks r Totally-Ordered Multicasting r Vector timestamps.
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.
Synchronization in Distributed Systems Chapter 6.
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.
Logical Clocks. Topics Logical clocks Totally-Ordered Multicasting Vector timestamps.
Synchronization Physical clocks Logical clocks. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection.
Lamport’s Logical Clocks & Totally Ordered Multicasting.
Synchronization Chapter 5.
Communication & Synchronization Why do processes communicate in DS? –To exchange messages –To synchronize processes Why do processes synchronize in DS?
Distributed Systems Principles and Paradigms Chapter 05 Synchronization.
Event Ordering Greg Bilodeau CS 5204 November 3, 2009.
Real-Time & MultiMedia Lab Synchronization Distributed System Jin-Seung,KIM.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Coordination. Turing Award r The Turing Award is recognized as the Nobel Prize of computing r Earlier this term the 2013 Turing Award went.
D u k e S y s t e m s Asynchronous Replicated State Machines (Causal Multicast and All That) Jeff Chase Duke University.
Logical Clocks. Topics Logical clocks Totally-Ordered Multicasting Vector timestamps.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Building Dependable Distributed Systems, Copyright Wenbing Zhao
CS 3471 CS 347: Parallel and Distributed Data Management Notes13: Time and Clocks.
CS 347Notes 121 CS 347: Parallel and Distributed Data Management Notes12: Time and Clocks Hector Garcia-Molina.
Feb 15, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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.
6 SYNCHRONIZATION. introduction processes synchronize –exclusive access. –agree on the ordering of events much more difficult compared to synchronization.
Hwajung Lee. Primary standard = rotation of earth De facto primary standard = atomic clock (1 atomic second = 9,192,631,770 orbital transitions of Cesium.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 6: Synchronyzation 3/5/20161 Distributed Systems - COMP 655.
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
6.2 Logical Clocks Kranthi Koya09/23/2015. Overview Introduction Lamport’s Logical Clocks Vector Clocks Research Areas Conclusion.
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.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
COT 5611 Operating Systems Design Principles Spring 2012
Distributed Systems CS
Event Ordering.
Distributed Systems CS
Chapter 5 (through section 5.4)
Lecture 9: Ordered Multicasting
Distributed Systems CS
COT 5611 Operating Systems Design Principles Spring 2014
Outline Theoretical Foundations
Presentation transcript:

Lecture 13 Synchronization (cont)

EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside my office Project P01 deadline in a week Coding session / office hours: Wednesday? Non-blocking IO lecture: Nov 4 th. Next quiz Tuesday 16 th. Remembrance day: Nov 11 th. No class on Nov 18 th

EECE 411: Design of Distributed Software Applications Today Clocks can not be perfectly synchronized. What can I do in these conditions? Figure out how large is the drift Example: GPS systems Design the system to take drift into account Example: server design to provide at-most-once semantics Do not use physical clocks! Consider only event order - Logical clocks

EECE 411: Design of Distributed Software Applications Logical clocks -- Time Revisited What’s important? The precise time an event occurred? The order in which events occur? Our examples: Two shooters in a multiplayer online game shoot (and kill) the same target. Need to decide who gets the point? Object A is observed from two vantage points S 1 and S 2 at local times t 1 and t 2. Need to aggregate everything into one consistent view. Which way is A moving? How fast? Fairness vs. correctness tradeoffs?

EECE 411: Design of Distributed Software Applications “Happens-before” relation Problem: We need to introduce a notion of ordering before we can order anything. The happened-before relation on the set of events in a distributed system: if a and b in the same process, and a occurs before b, then a → b if a is an event of sending a message by a process, and b receiving same message by another process then a → b Notation: a → b, when all participants agree that b occurs after a. Property: transitive Two events are concurrent if nothing can be said about the order in which they happened (partial order)

EECE 411: Design of Distributed Software Applications Logical clocks Problem: How do we maintain a global view on the system’s behavior that is consistent with the ‘happened-before’ relation? Solution: attach a timestamp C(e) to each event e, satisfying the following properties: P1: If a and b are two events in the same process, and a → b, then we demand that C(a) < C(b). P2: If a corresponds to sending a message m, and b to the receipt of that message, then also C(a) < C(b). Note: C must only increase Problem: Need to attach timestamps to all events in the system (consistent with the rules above) when there’s no global clock Idea: maintain a consistent set of logical clocks, one per process.

EECE 411: Design of Distributed Software Applications Logical clocks (cont) -- Lamport’s Approach Solution: Each process P i maintains a local counter C i and adjusts this counter according to the following rules: (1) For any two successive events that take place within process P i the counter C i is incremented by 1. (2) Each time a message m is sent by process P i the message receives a timestamp ts(m) = C i (3) Whenever a message m is received by a process P j, P j adjusts its local counter C j to max{C j, ts(m)} + 1; then passes m to the application. Property P1 is satisfied by (1); Property P2 by (2) and (3). Note: it can still occur that two events happen at the same time. Avoid this by breaking ties through process IDs.

EECE 411: Design of Distributed Software Applications Updating Lamport’s logical timestamps p 1 p 2 p 3 p n Clock Value Message timestamp Physical Time

EECE 411: Design of Distributed Software Applications Architectural view Middleware layer in charge of: Stamping messages with clock times, reading timestamps Local management of logical clocks (i.e., updating clocks) Message ordering (if necessary)

EECE 411: Design of Distributed Software Applications Example use: Totally ordered group communication Two accounts: Initial state: $100 account balance Update 1: add $100 Update 2: add 1% monthly interest Updates need to be performed in the same order at the two replicas? Middleware layer that provides total ordering

EECE 411: Design of Distributed Software Applications Totally ordered group communication (cont) Solution: Each message is timestamped with local logical time then multicasted When multicasted, also message logically sent to the sender itself When receiving, the middleware layer Adds message to a queue Acknowledges (using multicast) the message Delivers from queue to application only when all acks are received

EECE 411: Design of Distributed Software Applications Totally Ordered Multicast – Algorithm Process P i sends timestamped message msg i to all others. The message itself is put in a local queue queue i. Any incoming message at P k is queued in queue k, according to its timestamp, and acknowledged to every other process. P k delivers a message msg i to its application if: msg i is at the head of queue k for each process P x, there is a message msg x in queue k with a larger timestamp. Guarantee: all the multicasted messages are delivered in the same order at all destinations. Nothing is guaranteed about the actual order! Note: We assume that communication is reliable and FIFO ordered. Quiz-like questions: What happens if we drop channel reliability assumption? What happens if we drop channel FIFO assumption? Sending / Receiving Deliver to application

EECE 411: Design of Distributed Software Applications More quiz-like questions What happens if we drop channel reliability assumption? How would you change the previous protocol to still work correctly without this assumption? What happens if we drop channel FIFO assumption? How would you change the previous protocol to still work correctly without this assumption? What’s the complexity of the protocol in terms of number of messages Can the number of messages be reduced? Assume you have a bound on message propagation time in the network. Design a protocol that provides total ordering (and generates less traffic)

EECE 411: Design of Distributed Software Applications So far … Physical clocks Two applications Provide at-most-once semantics Global Positioning Systems ‘Logical clocks’ Where only ordering of events matters