L6.sp11 - 1 CS 525 Advanced Distributed Systems Spring 2011...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 1 CS 525 Advanced Distributed Systems Spring 2011 1 Indranil Gupta (Indy) Lecture 6 Distributed Systems Fundamentals February 1-3, 2011 All Slides IG 2 Agenda I. Synchronous versus Asynchronous systems II. Lamport Timestamps III. Global Snapshots IV. Impossibility of Consensus proof 3 I. Two Different System Models S ynchronous Distributed System Each message is received within bounded time Drift of each process local clock has a known bound Each step in a process takes lb < time < ub Ex:A collection of processors connected by a communication bus, e.g., a Cray supercomputer or a multicore machine Asynchronous Distributed System No bounds on process execution The drift rate of a clock is arbitrary No bounds on message transmission delays Ex:The Internet is an asynchronous distributed system, so are ad-hoc and sensor networks This is a more general (and thus challenging) model than the synchronous system model. A protocol for an asynchronous system will also work for a synchronous system (though not vice-versa) It would be im possible to accurately synchronize the clocks of two communicating processes in an asynchronous system 4 II. Logical Clocks But is accurate (or approximate) clock sync. even required? Wouldnt a logical ordering among events at processes suffice? Lamports happens-before ( ) among events : On the same process: a b , if time(a) < time(b) If p1 sends m to p2: send(m) receive(m) If a b and b c then a c Lamports logical timestamps preserve causality: All processes use a local counter (logical clock) with initial value of zero Just before each event , the local counter is incremented by 1 and 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(receivers-local-counter, message-timestamp) + 1 5 Example p 1 p 2 p 3 a b c d e f m 1 m 2 Physical time 6 Lamport Timestamps a b c d e f m 1 m 2 2 1 3 4 5 1 p 1 p 2 p 3 Physical time Logical Time Logical timestamps preserve causality of events , i.e., a b ==> TS(a) < TS(b) Can be used instead of physical timestamps 7 Lamport Timestamps a b c d e f m 1 m 2 2 1 3 4 5 1 p 1 p 2 p 3 Physical time Logical Time Logical timestamps preserve causality of events , i.e., a b ==> TS(a) < TS(b) Other way implication may not be true! (since concurrent events) logically concurrent events 8 III. Global Snapshot Algorithm Can you capture (record) the states of all processes and communication channels at exactly 10:04:50 am? Is it even necessary to take such an exact snapshot?...
View Full Document

This note was uploaded on 12/08/2011 for the course CS 525 taught by Professor Gupta during the Spring '08 term at University of Illinois, Urbana Champaign.

Page1 / 40

L6.sp11 - 1 CS 525 Advanced Distributed Systems Spring 2011...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online