Top Banner
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport A NDR ´ E A LLAVENA Cornell University Time, Clocks, and the Ordering of Events in a Distributed System – p.1/32
32

Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

May 08, 2018

Download

Documents

trinhkien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Time, Clocks, and the Orderingof Events in a Distributed System

Leslie Lamport

ANDRE ALLAVENA

Cornell University

Time, Clocks, and the Ordering of Events in a Distributed System – p.1/32

Page 2: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Motivations

Time is part of our world

But time is difficult for computers

It cannot be send via messages

Time is closely linked to “before” and “after”,but there are a lot of issues with those words

Time, Clocks, and the Ordering of Events in a Distributed System – p.2/32

Page 3: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Distributed System

A system is distributed if the messagetransmission delay is not negligible (eg: spatiallyseparated, multiprocessor, etc.)

Sometime, we cannot say which eventhappened first, if any. This rises a lot ofdifficulties, for synchronisation among others.

Also, one must be careful that algorithms tocreate total ordering of events might not alwaysgive the same ordering as the one perceived bythe user.

Time, Clocks, and the Ordering of Events in a Distributed System – p.3/32

Page 4: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

The Partial Ordering

Event � happened before

if � happened at anearlier time than

. But

Must have physical clocks!

What if clocks not perfectly accurate?

Let’s define happened before without clocks.

Time, Clocks, and the Ordering of Events in a Distributed System – p.4/32

Page 5: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Definitions

The system is constituted of a collection ofprocesses

process: a sequence of event

event: Subprogram, single machine instruction,etc.

Events form a sequence in a process (totalordering)

receiving a message: is an event in a process

sending a message: is another event

Time, Clocks, and the Ordering of Events in a Distributed System – p.5/32

Page 6: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

happened before

( � happened before

) iff

� and

are events in the same processand � comes before

� is the sending of message � and

is thereceiving of that message �

and

� � then � �

concurrent: if �

and�

� then � and

areconcurrent

We assume � �

This is a irreflexive partial ordering on the set ofevents

Time, Clocks, and the Ordering of Events in a Distributed System – p.6/32

Page 7: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Space Time Diagram

Time, Clocks, and the Ordering of Events in a Distributed System – p.7/32

Page 8: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Other Meaning

means that it is possible for event � tocausally affect event

Events are concurrent if neither can causallyaffect the other. Only the messages which havebeen sent are considered.

The theory of relativity (and space-time invariant)actually consider the messages that could havebeen sent as well. This is more powerful, butrequires know delivery time on the messages.We shall regain this power (good total ordering)later.

Time, Clocks, and the Ordering of Events in a Distributed System – p.8/32

Page 9: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Logical Clocks

This is just a way of assigning a numberto an event

A clock � for process � is a function fromevents to (non-negative) integers.

��

is defined to be �

��

when � occurs in

No relation between clocks and physical time

Think of as for Counter

Time, Clocks, and the Ordering of Events in a Distributed System – p.9/32

Page 10: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Clock Condition

For any event �,

, if �

then�

�� � � � �

The reverse doesn’t hold.

The Clock Condition is satisfied ifIf � and

events in � then �

�� �

� � �

If � is the sending of a message by � and

is the receiving of that message by � ,then �

�� � �� � �

A clock ticks through every number,

The clicks happen between the events

Time, Clocks, and the Ordering of Events in a Distributed System – p.10/32

Page 11: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Space Time Diagram

Time, Clocks, and the Ordering of Events in a Distributed System – p.11/32

Page 12: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Space Time Diagram, revisited

Time, Clocks, and the Ordering of Events in a Distributed System – p.12/32

Page 13: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Implementation

Consider the events to be steps in algorithms

Each process � increments � between anytwo consecutive events

Each message � contains a time-stamp �

containing the current time of the sender

If event � is the sending of message � by � ,then � � �

��

When � receives �, it increases its clock tobe strictly greater than the time-stamp in �

�� � ��� � � �� ��

� �

� � �

Time, Clocks, and the Ordering of Events in a Distributed System – p.13/32

Page 14: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Total ordering of the events

All the events have a time, so let’s order theevents by the time they occur. Break ties bychoosing an arbitrary order on the processes.

� is before

( �

) iff

1. �

�� �

� � �

2. �

�� � �

� � �

and �

� �

This is an arbitrary ordering, and is far from being

unique (depends on the choice of the � ).

Time, Clocks, and the Ordering of Events in a Distributed System – p.14/32

Page 15: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Ex: Distributed Mutual Exclusion

Some processes are sharing a single resource.

Only one process at a time can use the resource

exclusion: A process which has been granted theresource must release it before another onecan grab it

no lock: If every process which is granted theresource eventually release it, then everyrequest is eventually granted

ordering: Different requests must be serviced inthe order they are made

Time, Clocks, and the Ordering of Events in a Distributed System – p.15/32

Page 16: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

A central scheduling system?

Request 1

Hi!

My turn now

Request 2

P0

P1

P2

(responsible for granting the ressource)

A central scheduling system doesn’t work!

Time, Clocks, and the Ordering of Events in a Distributed System – p.16/32

Page 17: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Solution: Idea

FIFO, but

Distributed

Broadcast the request

Force a synchronisation of the clocks

Broadcast the release

Time, Clocks, and the Ordering of Events in a Distributed System – p.17/32

Page 18: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Distributed Algorithm

Assumptions

messages sent from

to

are received in theorder they were sent

all messages are eventually receivedThis can be enforced by acks

each process has its own request queue,initialised to �� �

� has the resource at the beginning

� is smaller than the initial value of the clocks

Time, Clocks, and the Ordering of Events in a Distributed System – p.18/32

Page 19: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Solution: Algorithm

To request, � broadcasts �� � (aka, mycurrent time is �, I am � ), and put it in itsown queue

When � receives the request, itacknowledges it and puts it in its queue

To release, � broadcasts a release(time-stamped?) message, and erases therequest from its queue

When � receives the release message, iterases the request from its queue

Time, Clocks, and the Ordering of Events in a Distributed System – p.19/32

Page 20: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Algorithm, continued

� is granted the resource when

There is a �� � at the top of the requestqueue (ordering is on request messages)

� has received a message from every otherprocess, time-stamped later than �

This guarantees exclusion, no locking andordering.

This is a distributed algorithm, each processfollows the rules on it own.

Time, Clocks, and the Ordering of Events in a Distributed System – p.20/32

Page 21: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Generalisation

The previous method can be used to implementany kind of synchronisation for a distributedsystem.Synchronisation is specified in terms of a StateMachine (wait for lecture 2/21)

Set of possible commands (request andrelease in the previous example),

Set of possible sates

Transition function

Time, Clocks, and the Ordering of Events in a Distributed System – p.21/32

Page 22: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Generalisation continued

Each process independently simulates the StateMachine, using the broadcasted commands.

There is synchronisation because of thetime-stamps on all the messages and the wait tobe sure everybody has a later time than therequest.

Note that this requires all processes to be aliveand part of the algorithm...

Time, Clocks, and the Ordering of Events in a Distributed System – p.22/32

Page 23: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Anomalous Behaviour

Request 1with T1

Hi, howare you?

OK, I’ll send your request

Request 2T2 < T1

P0

P1

P2

Has T1 Has T2

T1>T2

Time, Clocks, and the Ordering of Events in a Distributed System – p.23/32

Page 24: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Anomalous Behaviour Continued

Let be the set of system events

Let be the set of all events

Let be the happened before in

To avoid anomalous behaviour, one can either

ask the user to input a correct time-stamp

have stronger clock guarantees

Time, Clocks, and the Ordering of Events in a Distributed System – p.24/32

Page 25: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Strong Clock Condition

For any events �,

in :if �

then

�� � � � �

This is stronger than before when we only had

ie � happened before�

in (now )

Let be the set of events in the real world

One can construct physical clocks, running quiteindependently, and having the Strong ClockCondition, therefore eliminating anomalousbehaviour.

Time, Clocks, and the Ordering of Events in a Distributed System – p.25/32

Page 26: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Physical Clocks

Assumptions:

They run continuously

approximatively at speed 1:

� � ��� such that

� � ��� � �� � � � �

and are approximatively synchronised� �

�� ��

��� ���� � � �

and verify the ordinary Clock Condition

Since they tend to drift away, we need tore-synchronise them.

Time, Clocks, and the Ordering of Events in a Distributed System – p.26/32

Page 27: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Physical Clocks

We have to insure that the system ofrelevant physical events satisfies our StrongClock Condition

For that we only need consider events � and

from where �

. So � and

occur in 2different processes

Let � be a number such that if �

and �

occurs at

in � and

in � ��� � then

occurslater than

� �.

Time, Clocks, and the Ordering of Events in a Distributed System – p.27/32

Page 28: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Physical Clocks

Epsilon

P0 P2P1

µFastest message

Time, Clocks, and the Ordering of Events in a Distributed System – p.28/32

Page 29: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Physical Clocks

In other words � is less than the shortesttransmission time.

Or else the time granularity of the physicalworld is larger than �.

To avoid anomalous behaviour we need

�� � ���� � �

, guaranteed if

���� � �

Time, Clocks, and the Ordering of Events in a Distributed System – p.29/32

Page 30: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Algorithm

� � is the minimum delay of a message, and isknown by the processes (it is really needed?)

Only move clocks forward, and that only uponreception of a message

When a process receives a message withtime-stamp �, it updates its clock via

��� � � ��

��� � � �

This is the same as before, you move theclock forward, and know the current time is atleast the time-stamp + the minimum delay ofreceiving a message.

Time, Clocks, and the Ordering of Events in a Distributed System – p.30/32

Page 31: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Main Result

If there are enough messages with a sufficientlysmall delivery delay, then there are good boundson the de-synchronisation of the clocks.

� � � � � � an upper bound on the minimumdelay

��� �

so that every � second, a message withan unpredictable delay less than

is sentover every arc

then � � � ��� � � �

assuming � � �

Time, Clocks, and the Ordering of Events in a Distributed System – p.31/32

Page 32: Time, Clocks, and the Ordering of Events in a Distributed ... · Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport ANDRE´ ALLAVENA Cornell University

Conclusion

“Happening before” only defines a partialordering

This partial ordering can be made total, but inseveral arbitrary manner, and can lead toanomalous behaviour because it is notconform to the users perception

But the use of synchronised clocks canovercome this problem

Time, Clocks, and the Ordering of Events in a Distributed System – p.32/32