DOC PREVIEW
CORNELL CS 514 - Lecture Notes

This preview shows page 1-2-3-18-19-36-37-38 out of 38 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS514: Intermediate Course in Operating SystemsRecall our discussion of timeToday: “Simultaneous” actionsTemporal distortionsSlide 5Slide 6Slide 7Slide 8Slide 9Consistent cuts and snapshotsSlide 11Slide 12Who cares?Deadlock detection “algorithm”Suppose we detect this statePhantom deadlocks!Slide 17Chandy/Lamport AlgorithmUsing logical clocks to make cutsSlide 20Turn idea into an algorithmChandy/LamportSlide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36What’s in the “state”?Other algorithms?CS514: Intermediate Course in Operating SystemsProfessor Ken BirmanVivek Vishnumurthy: TARecall our discussion of timeLogical clocks: represent part of  relation, small overheadVector clocks: accurately represent  but more costlyWall clocks: tradeoff between precision and accuracy.Rarely precise enough for use in protocolsHence often view time as an “add on”Today: “Simultaneous” actionsThere are many situations in which we want to talk about some form of simultaneous eventOur missile interceptor is one caseBut think about updating replicated dataPerhaps we have multiple conflicting updatesThe need is to ensure that they will happen in the same order at all copiesThis “looks” like a kind of simultaneous actionTemporal distortionsThings can be complicated because we can’t predictMessage delays (they vary constantly)Execution speeds (often a process shares a machine with many other tasks)Timing of external eventsLamport looked at this question tooTemporal distortionsWhat does “now” mean? p0 a f e p3 b p2 p1 c dTemporal distortionsWhat does “now” mean? p0 a f e p3 b p2 p1 c dTemporal distortionsTimelines can “stretch”…… caused by scheduling effects, message delays, message loss… p0 a f e p3 b p2 p1 c dTemporal distortionsTimelines can “shrink”E.g. something lets a machine speed up p0 a f e p3 b p2 p1 c dTemporal distortionsCuts represent instants of time. But not every “cut” makes senseBlack cuts could occur but not gray ones. p0 a f e p3 b p2 p1 c dConsistent cuts and snapshotsIdea is to identify system states that “might” have occurred in real-lifeNeed to avoid capturing states in which a message is received but nobody is shown as having sent itThis the problem with the gray cutsTemporal distortionsRed messages cross gray cuts “backwards” p0 a f e p3 b p2 p1 c dTemporal distortionsRed messages cross gray cuts “backwards”In a nutshell: the cut includes a message that “was never sent” p0 a e p3 b p2 p1 cWho cares?Suppose, for example, that we want to do distributed deadlock detectionSystem lets processes “wait” for actions by other processesA process can only do one thing at a timeA deadlock occurs if there is a circular waitDeadlock detection “algorithm”p worries: perhaps we have a deadlockp is waiting for q, so sends “what’s your state?”q, on receipt, is waiting for r, so sends the same question… and r for s…. And s is waiting on p.Suppose we detect this stateWe see a cycle…… but is it a deadlock?p qsrWaiting forWaiting forWaiting forWaiting forPhantom deadlocks!Suppose system has a very high rate of locking.Then perhaps a lock release message “passed” a query messagei.e. we see “q waiting for r” and “r waiting for s” but in fact, by the time we checked r, q was no longer waiting!In effect: we checked for deadlock on a gray cut – an inconsistent cut.Consistent cuts and snapshotsGoal is to draw a line across the system state such thatEvery message “received” by a process is shown as having been sent by some other processSome pending messages might still be in communication channelsA “cut” is the frontier of a “snapshot”Chandy/Lamport AlgorithmAssume that if pi can talk to pj they do so using a lossless, FIFO connectionNow think about logical clocksSuppose someone sets his clock way ahead and triggers a “flood” of messagesAs these reach each process, it advances its own time… eventually all do so.The point where time jumps forward is a consistent cut across the systemUsing logical clocks to make cuts p0 a f e p3 b p2 p1 c d Message sets the time forward by a “lot”Algorithm requires FIFO channels: must delay e until b has been delivered!Using logical clocks to make cuts p0 a f e p3 b p2 p1 c d “Cut” occurs at point where time advancedTurn idea into an algorithmTo start a new snapshot, pi …Builds a message: “Pi is initiating snapshot k”. The tuple (pi, k) uniquely identifies the snapshotIn general, on first learning about snapshot (pi, k), pxWrites down its state: px’s contribution to the snapshotStarts “tape recorders” for all communication channelsForwards the message on all outgoing channelsStops “tape recorder” for a channel when a snapshot message for (pi, k) is received on itSnapshot consists of all the local state contributions and all the tape-recordings for the channelsChandy/LamportThis algorithm, but implemented with an outgoing flood, followed by an incoming wave of snapshot contributionsSnapshot ends up accumulating at the initiator, piAlgorithm doesn’t tolerate process failures or message failures.Chandy/LamportpqrstuvwxyzA networkChandy/LamportpqrstuvwxyzA networkI want to start a snapshotChandy/LamportpqrstuvwxyzA networkp records local stateChandy/LamportpqrstuvwxyzA networkp starts monitoring incoming channelsChandy/LamportpqrstuvwxyzA network“contents of channel p-y”Chandy/LamportpqrstuvwxyzA networkp floods message on outgoing channels…Chandy/LamportpqrstuvwxyzA networkChandy/LamportpqrstuvwxyzA networkq is doneChandy/LamportpqrstuvwxyzA networkqChandy/LamportpqrstuvwxyzA networkqChandy/LamportpqrstuvwxyzA networkqzsChandy/LamportpqrstuvwxyzA networkqvzxusChandy/LamportpqrstuvwxyzA networkqvwzxusyrChandy/LamportpqrstuvwxyzA snapshot of a networkqxusvrtwpyzDone!What’s in the “state”?In practice we only record things important to the application running the algorithm, not the “whole” stateE.g. “locks currently held”, “lock release messages”Idea is that the snapshot will beEasy to analyze, letting us build a picture of the system stateAnd will have everything that matters for our real purpose, like deadlock detectionOther


View Full Document

CORNELL CS 514 - Lecture Notes

Documents in this Course
LECTURE

LECTURE

29 pages

LECTURE

LECTURE

28 pages

Load more
Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?