DOC PREVIEW
CORNELL CS 514 - Intermediate Course in Operating Systems

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

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 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 39 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 39 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 39 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 39 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 39 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 39 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 39 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS514: Intermediate Course in Operating SystemsMobility is a huge topicFocus on a couple systems-level attemptsCharacteristics of mobilityRover goalsRover projectConclusion: Success!Two basic mechanismsRover operationsRover operationImportSlide 12InvokeExportSlide 15Slide 16Rover ArchitectureSlide 18Slide 19ImplementationApplicationsMail ReaderCalendarWeb browser proxySome thoughts on RoverSlide 26Surprising conclusionCoda File SystemDisconnected operation states on client (Venus)Conflict resolutionProblem with disconnected states approachWeak connectivity operation states on VenusIsolation-Only TransactionsState machine for IOTPending validationResolution StrategiesSome thoughts on CodaOther interesting workSlide 39CS514: Intermediate Course in Operating SystemsProfessor Ken BirmanVivek Vishnumurthy: TAMobility is a huge topicBreaks existing applicationsAnything bandwidth intensive or synchronousOpportunities for new applicationsLocation-specific (nearest Starbucks)Ubiquity (short messaging)Ad hoc networksCan’t possibly give it justice in one lectureFocus on a couple systems-level attemptsWhat can the system do to support applications in mobile contexts, and how how effective is it?Coda (mobile file system)CMU (AFS-based)Application awarenessRover (mobility systems toolkit)MITApplication transparentCharacteristics of mobilityDisconnection (long or short, predictable or sudden)Caching, hoarding, prefetching, DB/file inconsistenciesVariable and asymmetric bandwidthAbove, plus compression, prioritization, clever use of downlinkExpensive ($$$) BW Above, plus user controlBattery, battery, and batteryMinimize transmissions (and also processing)Weakened security (physical and radio)User auth, encryptionRover goalsPhilosophy is that applications know best how to deal with mobilityBut there are general mechanisms that all applications can benefit fromProvide a toolkit to applicationsMake it easier to write applications that deal with mobility issuesReduce client/server communications requirementsAllow the user to effectively work offline(Some slides care of Michael Ferguson)Rover projectBuild Rover toolkitBuild range of applications using Rover toolkitEmailCalendarBrowserEvaluate effectiveness of Rover for supporting these applicationsConclusion: Success!Though Rover itself has not taken off…Applications easy to portThey say…Performs wellCompared to what?In my mind, they never really answer the question whether a toolkit/OS approach is betterThis would be a hard question to answer…Two basic mechanismsRelocatable dynamic objects (RDO)Code/data shipping, like simple agents or process migrationAllows dynamic control over processing versus communications tradeoffQueued remote procedure calls (QRPC)Asynchronous RPCsAllows offline operations without blockingRover operationsImport objects onto client machineRDO: contains data and operations on the dataInvoke methods on those objectsExport logs of method invocations to serversCan also export RDOsReconcile client data with server dataRover operationImportImport call provides: Object ID (URN) Session ID callback routing argumentsImport call returns a “promise”Call is queued (QRPC) for lazy fetchImportWhen imported object arrives: Callback routine is called Object is put into the cache RDO may invoke a threadObject may be locked at serverInvokeApplication invokes methods on received object Each operation is stored Changes in object indicated by version vectorsExportExport call provides: Object ID (URN) Session ID callback routing argumentsExport call returns a “promise”Updates to object are labeled tentatively committedThe object operations are queued (QRPC)Non-FIFO delivery enables prioritizationExportThe server executes the operations, checks for conflictsApplications provide a conflict resolution routineExportRevolved operations are returned to the clientAfter callback, client marks objects as committedRover ArchitectureRover ArchitectureAll applications run over a single Rover processCommunicate via Local RPCAllows prioritization across applicationsRover ArchitectureNetwork scheduler can select TCP or SMTP (mail) for transportLatter for batching lower priority requests(Interim solution)ImplementationRDOs are Tcl/tk objectsTransported in HTTPUsing CERN’s Web Common LibraryServer uses CGI scriptsApplicationsMail reader (based on Exmh Tcl/Tk)Calendar (based on Ical Tcl/Tk calendar)Web browser proxy (new application)Mail ReaderParts of GUI and messages sent as RDOsRDOs used for prefetching and application-specific consistency (inconsistent folder changes)CalendarEach calendar item (appointment or notice) is an RDOItem imported, changed tentatively, and exported and committedRoutines for conflict resolutionError notice, or give some users priorityWeb browser proxyImplements “click ahead”During disconnection, clicks are queued for later downloadUser has access to list of queued clicksList is an RDODoes prefetchingSome thoughts on RoverRover is a nice proof-of-concept for how to deal with mobilityBut Rover itself of limited valueTcl/Tk based RDOs probably overtaken by JavaUse of SMTP a bad choice (they know this)Probably hard to automatically prioritize among disparate applicationsUser would prefer to control this based on immediate circumstancesNot clear there is much value to running Rover as a single, system serviceSome thoughts on RoverEmail not the best proof-of-concept applicationAlready fundamentally asynchronous, so not much different with RoverClick-ahead sounds like a bad idea to meI’d rather control when clicks happen…Calendar is a decent proof-of-concept applicationSurprising conclusionFrom the Rover paper:“The largest, most important, drawback of the Rover approach is that application designers must think carefully about how application functions should be divided between a client and a server”Funny…this struck me as probably the main advantage of Rover!!!Provides a nice model for how to think about disconnection, asynchrony, and consistencyCoda File SystemUnlike Rover, makes disconnection issues transparent to the application (and, to some extent, the user)Coda transparently propagates file modifications and handles


View Full Document

CORNELL CS 514 - Intermediate Course in Operating Systems

Documents in this Course
LECTURE

LECTURE

29 pages

LECTURE

LECTURE

28 pages

Load more
Download Intermediate Course in Operating Systems
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 Intermediate Course in Operating Systems 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 Intermediate Course in Operating Systems 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?