Top Banner
Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization
37

Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

Dec 11, 2015

Download

Documents

Todd Gipson
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: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

Dr. Kalpakis

CMSC621 Advanced Operating Systems

Synchronization

Page 2: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

2

Clock Synchronization

When each machine has its own clock, an event that occurred after

another event may nevertheless be assigned an earlier time.

Page 3: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

3

Physical Clocks

Implemented via timers

Counter + holding register with value H

Clock tick = the interrupt generated every H oscillations of a quartz

crystal

Clock skew = difference in the time readings of different clocks

Page 4: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

4

Solar Time

Transit of the sun = the event of the sun reaching the highest point in the

horizon every day

Solar day = time duration between two consecutive transits of the sun

Solar second = 1/86400th of the solar day

the period of earth’s rotation is not constant

Solar seconds get longer over time!

Page 5: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

5

Atomic Time

Atomic clocks

1 second = the time it takes for the Cesium 133 atom to make

9,192,631,770 transitions

Bureau International de L’Heure averages the readings fo

several atomic clocks to produce the International Atomic Time

(TAI)

TAI= #seconds since Jan 1, 1958.

Since solar days get longer over time, keeping time more

accurately with atomic clocks leads to problems

Over time, noon will be occurring in the early morning hours!

Page 6: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

6

Atomic Time and leap seconds

TAI seconds are of constant length, unlike solar secondsTAI and Solar time can get out of synch over time Leap seconds are introduced when necessary to keep in phase with the sun.

Introduced whenever the difference between atomic time and solar time reaches 800 msecs

Universal Coordinated Time (UTC) = TAI with leap secondsTotal leap seconds in UTC is about 30

Page 7: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

7

UTC Servers

Could also utilize the frequency of AC in power lines for

keeping track of time

NIST operates the WWV short-wave radio station that

broadcasts a pulse at the beginning of each UTC second

WWV has is accurate within 1 msec

Page 8: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

8

Measuring time with the Global Positioning System

GPS uses 29 satellites with atomic clocks in an orbit of height

about 20,000Km

Each satellite broadcasts its location and its local atomic time

Receivers can estimate their clock skew Ts since

Distance from satellite I = speed of light x (T – Ti)

Delay in getting msg from satellite I = (T-Ti) + Tdrift

Using 4 satellites, receiver can find its location (x,y,z) and Tdrift by solving

a system of 4 eqs. With 4 unknowns

Page 9: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

9

Physical Clock Synchronization

Cp(t) = the local time at p when UTC is t

Clock skew = C’p(t) -1

Clock offset wrt t = Cp(t) – t

clock theof ratedrift maximum theis where dt

dC

seconds 2every edsynchroniz

be toneed clockssuch two than more no of difference ensure to

t after timet 2by apart becan ratedrift max. with closks two

Page 10: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

10

Network Time Protocol

Estimating A’s clock offset relative to B’s clock

A sends request to B and receives response from B

Request and response are timestamped by the local clocks of A and BT1 = time req. is send by A

T2 = time req. is received by B

T3 = time response is send by B

T4 = time response is received by A

Assuming the propagation delays are symmetric (ie (T2-T1 = T4-T3), the

offset of A relative to B is

use the offset corresponding to the least delay among 8 such measurements

between A and B

If A’s clock is fast/slow, A slowdowns/fasten gradually over time

2

)()( isdelay the where

2

)()( 341243123

TTTTTTTTT

Page 11: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

11

Network Time Protocol

Problem: possible that node with morew accurate clock adapts

to a less accurate clock!

Stratify the nodes

Server with reference clock is at stratum 1

A node A adjuststs clock only when it has an offset from a node B with

lower stratum, in which case stratum(A) becomes stratum(B)+1

Page 12: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

12

The Berkeley Algorithm

a) The time daemon asks all the other machines for their clock values

b) The machines answer

c) The time daemon tells everyone how to adjust their clock

Page 13: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

13

Clock synchronization in wireless networks

Reference Broadcasting Synchronization (RBS)

Server queries nodes for their times to compute an offset for them

Server’s clock is left out of the synchronization

Assumes no multihop routing

Sender sends message

Propagation delay is same for all receivers

Nodes estimate their offsets from each other

T(p,m) = time p receives m

Relative offset of node p wrt to node q is

Can also estimate relative offset via a linear regression

M

kqTkpTM

k

1

]),[],[( q]Offset[p,

Page 14: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

14

Lamport Timestamps

a) Three processes, each with its own clock. The clocks run at different rates.b) Lamport's algorithm corrects the clocks.

Page 15: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

15

Example: Totally-Ordered Multicasting

Updating a replicated database and leaving it in an inconsistent state.

Page 16: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

16

Global State (1)

a) A consistent cutb) An inconsistent cut

Page 17: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

17

Global State (2)

a) Organization of a process and channels for a distributed snapshot

Page 18: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

18

Global State (3)

b) Process Q receives a marker for the first time and records its local statec) Q records all incoming messaged) Q receives a marker for its incoming channel and finishes recording the state of the

incoming channel

Page 19: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

19

The Bully Algorithm (1)

The bully election algorithmProcess 4 holds an electionProcess 5 and 6 respond, telling 4 to stopNow 5 and 6 each hold an election

Page 20: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

20

Global State (3)

d) Process 6 tells 5 to stope) Process 6 wins and tells everyone

Page 21: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

21

A Ring Algorithm

Election algorithm using a ring.

Page 22: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

22

Mutual Exclusion: A Centralized Algorithm

a) Process 1 asks the coordinator for permission to enter a critical region. Permission is grantedb) Process 2 then asks permission to enter the same critical region. The coordinator does not reply.c) When process 1 exits the critical region, it tells the coordinator, when then replies to 2

Page 23: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

23

A Distributed Algorithm

a) Two processes want to enter the same critical region at the same moment.b) Process 0 has the lowest timestamp, so it wins.c) When process 0 is done, it sends an OK also, so 2 can now enter the critical

region.

Page 24: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

24

A Toke Ring Algorithm

a) An unordered group of processes on a network.

b) A logical ring constructed in software.

Page 25: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

25

Comparison

A comparison of three mutual exclusion algorithms.

AlgorithmMessages per

entry/exit

Delay before entry (in

message times)Problems

Centralized 3 2 Coordinator crash

Distributed 2 ( n – 1 ) 2 ( n – 1 ) Crash of any process

Token ring 1 to 0 to n – 1Lost token, process

crash

Page 26: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

26

The Transaction Model (1)

Updating a master tape is fault tolerant.

Page 27: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

27

The Transaction Model (2)

Examples of primitives for transactions.

Primitive Description

BEGIN_TRANSACTION Make the start of a transaction

END_TRANSACTION Terminate the transaction and try to commit

ABORT_TRANSACTION Kill the transaction and restore the old values

READ Read data from a file, a table, or otherwise

WRITE Write data to a file, a table, or otherwise

Page 28: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

28

The Transaction Model (3)

a) Transaction to reserve three flights commitsb) Transaction aborts when third flight is unavailable

BEGIN_TRANSACTION

reserve WP -> JFK;

reserve JFK -> Nairobi;

reserve Nairobi -> Malindi;

END_TRANSACTION

(a)

BEGIN_TRANSACTION

reserve WP -> JFK;

reserve JFK -> Nairobi;

reserve Nairobi -> Malindi full =>

ABORT_TRANSACTION

(b)

Page 29: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

29

Distributed Transactions

a) A nested transactionb) A distributed transaction

Page 30: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

30

Private Workspace

a) The file index and disk blocks for a three-block fileb) The situation after a transaction has modified block 0 and appended block 3c) After committing

Page 31: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

31

Writeahead Log

a) A transactionb) – d) The log before each statement is executed

x = 0;

y = 0;

BEGIN_TRANSACTION;

x = x + 1;

y = y + 2

x = y * y;

END_TRANSACTION;

(a)

Log

[x = 0 / 1]

(b)

Log

[x = 0 / 1]

[y = 0/2]

(c)

Log

[x = 0 / 1]

[y = 0/2]

[x = 1/4]

(d)

Page 32: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

32

Concurrency Control (1)

General organization of managers for handling transactions.

Page 33: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

33

Concurrency Control (2)

General organization of

managers for handling

distributed transactions.

Page 34: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

34

Serializability

a) – c) Three transactions T1, T2, and T3

d) Possible schedules

BEGIN_TRANSACTION

x = 0;

x = x + 1;

END_TRANSACTION

(a)

BEGIN_TRANSACTION

x = 0;

x = x + 2;

END_TRANSACTION

(b)

BEGIN_TRANSACTION

x = 0;

x = x + 3;

END_TRANSACTION

(c)

Schedule 1 x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3 Legal

Schedule 2 x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3; Legal

Schedule 3 x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3; Illegal

(d)

Page 35: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

35

Two-Phase Locking (1)

Two-phase locking.

Page 36: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

36

Two-Phase Locking (2)

Strict two-phase locking.

Page 37: Dr. Kalpakis CMSC621 Advanced Operating Systems Synchronization.

CMSC 621

37

Pessimistic Timestamp Ordering

Concurrency control using timestamps.