130 likes | 308 Views
Things you should know about operating systems. Yasushi Saito. What’s dead Microkernel File systems Distributed OS Persistent OS Single address space OS Distributed checkpointing/rollbacking Distributed shared memory Extensible OS. What’s hot Web-related tuning Distributed caching
E N D
Things you should know about operating systems Yasushi Saito
What’s dead Microkernel File systems Distributed OS Persistent OS Single address space OS Distributed checkpointing/rollbacking Distributed shared memory Extensible OS What’s hot Web-related tuning Distributed caching Multimedia Clustering Storage service Binary rewriting, machine emulation Mobility & adaptation Executive Summary Trend towards solving “real” problems
Web stuff OS behavior under very heavy network load • Zero-copy I/O: fbufs, I/O lite (Pai/Drushchel@rice),sendfile(2) (many commercial UNIX) • Decouple process mgmt & resource mgmt (really not specific to web…) • Eg, fair-share-schedule server and CGI as a unit • Performance isolation (Verghese@WRL), resource container (Banga/Druschel@rice), Rialto (Jones@msr), etc
Web stuff • Polling vs interrupt: • interrupt can thrash the server under heavy load • Mogul/Ramakrishnan @WRL, Soft timers (Aron/Druschel@Rice) • Hacking select(2), accept(2) (Banga/Druchel) • Squid spends ~50% of CPU there • Clustering, load balancing: Fox@UCB/Stanford, LARD(Rice)
Distributed Caching • Why? • CPU & network are fast, but disk is slow • GMS (Feeley/Voelker@UW), xFS(tom@Berkeley): Cooperative file caching • Petal/Frangipani(SRC): Distributed disk • Cooperative web caching (Wolman/Voelker@UW): limited benefit (log hit-rate increase wrt client population)
Clustering • Two uses: number crunching and Internet serving • Number crunching: • NOW (Berkeley) • Internet service Driven by commercial demand, research issues not really understood • Database cluster (many) • Web server cluster (many) • Porcupine(me): automatic failover by dynamic data distribution
Devices Add brain to device • Active disks(many): sorting, joining, etc • SPINE(mef@UW): programmable network • IRAM (Berkeley): compute on memory Misc • Petal (SRC): distributed virtual disk w/ failover and load balancing • Virtual LFS disk (Wang@Berkeley/Princeton) • Logical volume management, system area network(SAN)
Binary rewriting, machine emulation, etc • Virtual machine emulation (Rosenblum@Stanfond) : • SimOS, VMware: emulates the entire machine • Disco: run SMP OS on NUMA cluster • Binary rewriting • Eraser (Savage@UW): dynamic race detection • Etch (UW): atom for i386 • Kimera (egs@UW): distributed Java virtual machine • Shasta (SRC) : DSM converter for commercial SMP app • Low-level performance measurement • DCPI (SRC/WRL): pinpoint cache miss, pipeline stall, etc
Mobility/Adaptation • Adapting to changing network quality, battery life: Odyssey (Satya@CMU) • changing image resolution, sound quality, controlling screen lighting • Mobile database: • low-bandwidth communication • any-to-any reconciliation • Bayou (PARC), Roam (UCLA)
Multimedia support • CPU scheduling Combining real time and fair-share scheduling BVT, SMART (Duda,Nieh@Stanford) • File system extent-based allocation rate guarantee • Clustering to improve load balance Tiger (Bolosky@MSR), RIO (UCLA)
Local interest Alec Wolman : cooperative web caching E. Gun Sirer: Kimera Marc Fuiczynski: SPINE Ashutosh Tiwary: Perf. evaluation of OODB Przemek Pardyak: Benchmark generation Yasushi Saito: Porcupine
Micro/distributed/persistent/extensible OS: No killer apps File systems People are satisfied DSM&checkpointing: Degenerated into minor protocol tweaking Exceptions: Elephant (UBC): file system that never forgets Shasta (SRC): converts MT app to DSM app. What’s dead?
Conference/Workshop to Watch For • Symp. on Op. Sys. Principles (SOSP) • Op. Sys. Design and Impl. (OSDI) • USENIX Technical Conf. (USENIX) • USENIX Symp. on Internet Tech. and Sys. (USITS) • ASPLOS • ISCA, SC, SIGMOD, VLDB, SIGCOMM, FTCS, PLDI, …. • Workshop on Hot topics in Op. Sys & SIGOPS European workshop