DOC PREVIEW
Princeton COS 318 - lecture 21

This preview shows page 1-2-21-22 out of 22 pages.

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

Unformatted text preview:

NFS & Distributed Systems IssuesMechanicsThe Next ProjectBehavioral SpecCaching MmapMan Pages You May LikeBeing A Good UserImagine The FollowingWas It Always Like This?How Did We Get Here?Why Use Little Boxes?Were Minis Immune?Why Not Just Shared Disk?New ProblemToward StatelessnessIdempotencyDistributed CachingDistributed Write ProblemSun’s Write PhilosophyMetadata OperationsNew Statelessness ProblemsWhat Slows Down ServersNFS & Distributed Systems IssuesVivek PaiDec 6, 20012MechanicsA few words about Project 5It’s not just another webserver project3The Next ProjectBehavioral specImplementation up to youCan assume max of 128 procs/threadsUse a simple counter to implement simple countsI may release a tool to test easier4Behavioral SpecThe following behavioral spec is importantIf there aren’t enough free processes/threads, the server should spawn one per secondIf there are too many free, one should be killed per secondThis should not depend on any other activity in the system5Caching MmapAlways use mmapKeep cache of active & inactive mapsTotal cache size in KB should be limited by command-line argumentCan only exceed this limit if all mappings are active6Man Pages You May LikeMmap, munmapMan –k pthreadFlockSleepSignalAlarm7Being A Good UserDo not fork wildlyTry to test on non-shared system8Imagine The FollowingEveryone has a desktop machineEach machine has a userEach user has a home directoryWhat problems arise?Can’t move between machinesCan’t easily share files with othersHow does this data get backed up?9Was It Always Like This?NoThink mainframes:Big, centralized boxAll disks attachedPrograms ran on boxOnly terminals/monitors on each desk10How Did We Get Here?Mainframe killers advocated little boxesLots of little boxes are a distributed systemDistributed systems introduce new problems11Why Use Little Boxes?Little boxes are cheapEasier to order a PC than a mainframeLittle boxes are disposableNo need for a maintenance contractEconomy of scaleDesign cost amortized over more units12Were Minis Immune?Minicomputers were “department”-sized versus “company”-sizedMost information not shared among everyoneAdministrator per department OKShared resources only within department OK13Why Not Just Shared Disk?Centralized storageEasier administration/backupBetter use of capacityEasier to build large filesystem cacheEasier to provide AC/powerProblem: compare bandwidth10 Mbit/sec Ethernet at the timeSwitched versus shared irrelevant14New ProblemSingle point of failureMeans everything depends on this itemIn other cases, duplication helpsCommon failures = rebootBut all information (state) lostAll clients would have to be toldWe’d need to keep track of all clients•On stable storage!15Toward StatelessnessMake server as dumb as possibleShift burdens to client-sideClient failure only harms that clientEach operation is self-containedRepeating operations permissibleIdempotent – repeating causes no change16IdempotencyRegular Unix system callWrite(fd, buf, size)Writes size bytes at current position, moves position forward by sizeIdempotent versionPwrite(fd, buf, size, offset)Idempotent operations in NFS hidden from user programs17Distributed CachingLocal filesystems have cachesUse caches to offload network trafficSame object replicated in many cachesNo problem for readsWhat happens on write/update?Multiple different copies of data?What happens if it’s metadata?18Distributed Write ProblemPossible approachesDisallow caching on writes•What about emacs?Disallow caching of shared files•What happens for really big files?Disallow caching of metadata writesWhat disk blocks does OS care about?19Sun’s Write PhilosophyFile block write sharing not an issueVery few programs do itCorrectness depends on programReduce window of opportunityFlush dirty blocks periodicallyFlush can be asynchronous20Metadata OperationsPerformed synchronously at serverMust be reflected to diskWhy: stabilityOverhead: disk op + networkCan we speed up synchronous ops?21New Statelessness ProblemsStale file handle problemcd ~vivek/temp1/temp in window Arm –r ~vivek/temp1 in window B“ls” in window AStale inode problemMachine A gets file for readFilesystem reformatted by adminMachine A modifies file, tries to write22What Slows Down ServersNetwork overheadDisk DMA in 4KB piecesNetwork processing in 1500 byte packets + manipulationMultiple CPUsSynchronous operationsNonvolatile memory +


View Full Document

Princeton COS 318 - lecture 21

Documents in this Course
Overview

Overview

25 pages

Deadlocks

Deadlocks

25 pages

lectute 2

lectute 2

28 pages

Lecturel

Lecturel

24 pages

Real mode

Real mode

49 pages

Lecture 2

Lecture 2

54 pages

lecture 5

lecture 5

27 pages

Load more
Download lecture 21
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 21 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 21 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?