300 likes | 433 Views
Filesystem Wrapup & Misc. Vivek Pai Princeton University. Who Are These People?. Moral: Andy Warhol’s usually right. Some Auspicious Signs. On Saturday Night Live, a parody of The Rev. Jesse Jackson quotes Hegel’s “thesis, antithesis, synthesis” Not really funny, but hey, it’s Hegel
E N D
Filesystem Wrapup & Misc Vivek Pai Princeton University
Who Are These People? Moral: Andy Warhol’s usually right
Some Auspicious Signs • On Saturday Night Live, a parody of The Rev. Jesse Jackson quotes Hegel’s “thesis, antithesis, synthesis” • Not really funny, but hey, it’s Hegel • On Sunday, I was flipping channels and saw Kundun • Philip Glass did a pretty good job • See also Thin Blue Line
Thesis – Load Balance Is Good • Imagine using a cluster of machines as a web server instead of a big parallel box Server Incoming requests Server Server
Antithesis – Load Balance Is Bad • Popular files get duplicated in all caches • Effective cache size doesn’t scale with number of nodes • Alternative: locality-based distribution • Problem: Conflict - locality-based determines where request goes, so does load balance
What Happens in Locality-Based? • What if files A, B, C popular? • What if popularity changes? Server A, B, C Incoming requests Server D, E, F Server G, H, I
Previously New Approach Synthesis – Combine Load Balancing with Locality-Based Decisions
What I Did This Past Week • Thursday Night – ended at Tower • Took visitor around Princeton • Friday – Campus • Watched EE keg race, took no sides • Saturday – No partying, just reading • Yes, I know, Winter Formals • Sunday – Fly to DC (bad idea) • Monday – Meeting all day
Observations • I’ve got well-placed students • My 318’ers sing Bon Jovi • Several of us sing Tiffany • Manish manned the mike fairly well • Swope can actually sing • Swope can’t throw
UFS and FFS • The Unix File System is called UFS • It gets named that in retrospect • The 4.2 BSD filesystem was often called FFS – Fast File System • Nowadays, it’s standard, so it’s UFS • But why name it? • Answer: file systems decoupled from OS
VFS – Gaining Flexibility • VFS = Virtual File System • Function pointers to initialize, mount, unmount, map to/from vnode, etc • Vnode = virtual (i)node • Ref counts on disk, in memory • List of clean, dirty blocks in memory • Vnode ops • Open/close, read/write, create/delete (files/dirs) , logical/phys map, etc., etc.
Filesystems Available On My Box • ufs – pre-4.2 Unix • ffs – Fast File System • mfs – Memory-based (temporary) • hpfs – OS/2? Not sure • msdosfs – use DOS disks on Unix • isofs – the format for CD-ROMs • nwfs – Netware? • ntfs – Windows NT • Misc – lots of pseudo-filesystems
Mounting – Mix and Match • Question: what happens if you have multiple disks? • Problem: only one ‘/’ directory • Answer: “mount” disks anywhere you have a directory • Benefit: single directory structure
What Does Mounting Look Like / home var usr bwk vivek willy New disk
Network File Services • Idea: use network to access disk • Benefit: many machine can share disk • Approach: have standard protocol to communicate between client and server client client server client client
Pros & Cons of NFS • Benefits: • Fewer disks to backup • Fewer points of configuration • Allows users to move to any machine • Drawbacks: • DMA fast, network slow • Lots of data traversing network • Possible solution: client caching
Distributed Consistency • Locally cache pages from server • Problem: what happens when one process writes to a shared page? client client server client client
Fun Quotes • “My butt hurts from being thrown on the table” • “I just want everyone to know I’m not drunk. Double E is the best major in the world!” • “I’m a spanker. I spank everyone. They all know that.” • “That outfit doesn’t match. At all.” • “Hey, wait, none of this will affect my grade, will it?”
How To Be A Millionaire • A quick look at OS ideas that have made people rich
Sun – Eliminating Vendor Lockin • Scenario: lots of minicomputer vendors • Many competing operating systems • Unix getting popular, fragmented • Answer: built reasonably-priced workstations using “commodity” components, license OS from AT&T
Auspex – Resources for Speed • Scenario: NFS getting popular, but machines run slowly • Observation: network processing eats CPU time, but it can be parallelized • Approach: build Sun-compatible parallel hardware, license OS from Sun, make modifications to speed NFS
Presto – NVRAM for Disks • Scenario: some workloads slow due to synchronous disk operations • Approach: add hardware with nonvolatile RAM (NVRAM), use that as a stable, writable cache • Also: need to modify OS to understand the existence of this cache
Tandem – High Reliability • Scenario: machine reliability is key, various kinds of failures (even Byzantine) • Approach: use triple-redundancy & voting – easily handles any single failure • Customers – stock markets, particularly
NetApp – A Better Auspex • Scenario: Auspex doing well, but disk bottlenecks become dominant issue • Approach: build appliances (like Auspex) but use a custom OS and custom filesystem • Details – sort of like LFS, but doesn’t compress segments, just fills in holes
Netscape – Friendliness • Scenario: some college kids have made the web big, business don’t like to deal with college kids • Approach: recreate the same things in a corporate environment, give away browser, charge for server • Work: getting decent performance across broad range of OSs
Middleware – Filling in Niches • Scenario: bandwidth is expensive, and many people from a site access the same pages • Background: CERN releases a proxy cache, which can serve “hot” requests locally rather than getting remotely • Opportunity: CERN proxy not being pushed hard, no performance emphasis • Buyer: Network Appliances
Falcon – Caring About Speed • Scenario: proxy servers exist in many places, academics doing a poor job of studying them • Approach: optimize performance on regular OSs, find a buyer with deep pockets who wants to enter market
VMWare – Reinventing VMs • Scenario: machines take space and resources, but we rarely push them • Approach: build a hypervisor to virtualize the x86 architecture • Ugliness: the 386+ was never meant to be virtualized
CacheFlow – A Better NetApp • Scenario: NetApp busy selling fileservers, sales force doesn’t focus on proxy servers • Approach: take similar approach, build proxy servers only
Lessons From All Of This • In retrospect, it always seems easy • Plenty of good ideas available • Sometimes, repetition doesn’t hurt • The window of opportunity still doesn’t seem to have closed • Education pays off • OS has been a “hot” field for a while