1 15-410, f04 lamport clocks dave eckhardt l36_lamport

43
1 15-410, F’04 Lamport clocks Dave Eckhardt [email protected] L36_Lamport

Upload: elwin-dixon

Post on 18-Jan-2018

225 views

Category:

Documents


0 download

DESCRIPTION

, F’04 Outline ● Lamport clocks – Covered in 17.1, 17.2 (different focus from today) – Time, Clocks, and the Ordering of Events in a Distributed System ● CACM 21:7 (1978) ● Leslie Lamport also famous for...?

TRANSCRIPT

Page 1: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Lamport clocks

Dave [email protected]

L36_Lamport

Page 2: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Synchronization

● Project 4 due today● Homework 2 due Friday● Book report due Friday● FCE reminder

– I will read (and take seriously) every word of what you write

Page 3: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Outline

● Lamport clocks– Covered in 17.1, 17.2 (different focus from today)– Time, Clocks, and the Ordering of Events in a

Distributed System● CACM 21:7 (1978)

● Leslie Lamport also famous for ...?

Page 4: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Overview

● Light cones● Meeting for beer● “Happened before” partial order● Logical clocks● Advanced techniques

Page 5: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

● Concept– Effects propagate at or below speed of light

● Objects, light/radio/X-rays, gravity– Knowledge of events limited the same way– Event propagation modeled by expanding sphere

● Four-dimensional “cone”

Page 6: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

Space

Tim

e

Page 7: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

Space

Tim

e

Page 8: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

Space

Tim

e

Page 9: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

Space

Tim

e

Page 10: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

Space

Tim

e

Page 11: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

Space

Tim

e

Page 12: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

Space

Tim

e

Page 13: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

Space

Tim

e

Page 14: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Light cones

● Future light cone– The part of spacetime potentially influenced by an

event● Past light cone

– The part of spacetime that could have influenced an event

Page 15: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

● P1 transmits “Panther Hollow Inn” to blackboard

Page 16: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

● P1 transmits “Panther Hollow Inn” to blackboard● P1 transmits to P2

– Hey, P2, let's go have a beer.– I have transmitted the bar's name to the blackboard.– See you there!

Page 17: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

● P1 transmits “Panther Hollow Inn” to blackboard● P1 transmits to P2

– Hey, P2, let's go have a beer.– I have transmitted the bar's name to the blackboard.– See you there!

● P2 receives P1's message

Page 18: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

● P1 transmits “Panther Hollow Inn” to blackboard● P1 transmits to P2

– Hey, P2, let's go have a beer.– I have transmitted the bar's name to the blackboard.– See you there!

● P2 receives P1's message● P2 queries blackboard

Page 19: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

● P1 transmits “Panther Hollow Inn” to blackboard● P1 transmits to P2

– Hey, P2, let's go have a beer.– I have transmitted the bar's name to the blackboard.– See you there!

● P2 receives P1's message● P2 queries blackboard● It says “Squirrel Cage” - how???

Page 20: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

P1

board

P2

Page 21: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

P1

board

P2

Page 22: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

P1

board

P2

Page 23: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

P1

board

P2

Page 24: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

P1

board

P2

Page 25: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

P1

board

P2

Page 26: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

What went wrong?

● P1 thought– Blackboard update happened before invitation

● P2 thought– Invitation happened before blackboard update

● When does an event “happen”?– When its effects propagate “everywhere relevant”

● What does “happen before” mean?● Could that green node really be so slow?

Page 27: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Universe Model

● System = set of processes● Process = sequence of events● Event

– Internal: ++x;– Message transmission– Message reception

Page 28: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

“Happened before” partial order

● A happens before B (A B)– If A and B happen inside a process, in (A, B) order– If A = transmission, B = reception, of same message– If A B and B C, then A C

● A and B are concurrent when– A ! B and B A

● Observe: A ! A

Page 29: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Space-time Diagram●

– inside a process, or– follow a message

● p0 r2● concurrent

– p0, q0, r0– p1, q1– q1, r0– p1, r0

p0

p1

p2

q0

q1

q2

r0

r1

r2

Page 30: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

means “possibly causes”

● p0 possibly causes p1– ...by storing something in P's memory

● p0 possibly causes q1– Message could trigger q1

● Concurrent events– ...cannot cause each other

Page 31: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Logical clocks

● Can we assign timestamps to events?● Want

– If A B then C(A) < C(B)● Events inside Pi

– a b Ci(a) < Ci(b)● Message from Pi to Pj

– a=Pi's send, b=Pj's receive Ci(a) < Cj(b)

Page 32: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Logical clocks

● Events inside Pi

– Increment Ci() between successive events● Message from Pi to Pj

– Sender: place timestamp T in message: Ci(send)– Receiver: ensure Cj(receive) > T

Page 33: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

53

3 4

27

Page 34: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

53

54 4

27

Page 35: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

54

54 4

55

Page 36: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

54

54 57

56

Page 37: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

54

54 58

59

Page 38: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Meeting for Beer

54

55 59

59

Page 39: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

What this means

● P1 wants– <“PHI” written> happened before <read by P2>

● Equivalent to “59 < 57” (oops)● The events were concurrent● “PHI” could not cause P2's bar trip

Page 40: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Space-time Diagram

● P1 wants– <“PHI” declared>

happened before <P2 decided>

● Equivalent to “59 < 57” (oops)

● The events were concurrent

● “PHI” could not cause P2's bar trip

PHI

meet

ans

meet

query query

ans

PHI

Page 41: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Fixing the problem

● P1 should wait for board to acknowledge● “PHI” causes ACK● ACK causes “Meet me at...”● “Meet me at...” causes bar trip● Then: “PHI” causes bar trip

Page 42: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Extensions

● Define total ordering of system events– Typical (timestamp, process #) tuple comparison

● Process # used to break timestamp ties● Distributed agreement algorithms

– Such as “fair distributed mutual exclusion”● Requests must be granted “in order”● See text: 17.2

● Adding physical (real-time) clocks

Page 43: 1 15-410, F04 Lamport clocks Dave Eckhardt L36_Lamport

115-410, F’04

Summary

● Light cones● “Happened before” partial order● Potential causality● Another definition of concurrency

– You've dealt with single-clock race conditions● (one memory bus provides one global clock)

– In distributed systems there is no global clock● Timestamps track message causality