Princeton University
       | 
      
       Computer Science 518
       | 
      
       
       | 
    
Graduate Coordinator: Melissa Lawson 
| Discussions: | 20% | 
| Presentation: | 20% | 
| Critiques: | 20% | 
| Project: | 40% | 
   
    September 2005
Su Mo Tu We Th Fr Sa 
            
1  2  3
 4  5  6 
7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
| 15 - | Organizational meeting | 
| 20 - | Vivek Pai  Flash & Harvest  | 
    
| 22 - | pres #1 - Vivek presents DeBox | 
    
| 27 - | pres #2 - Yi presents CDN | 
    
| 29 - | (bumped) NSF Grand Challenges Workshop  | 
    
| 04 - | pres #3 - Chris presents ESX | 
    
| 06 - | pres #4 - Janet presents Lottery | 
    
| 07 - | pres #5 - Martin presents Resource Makeup lecture  | 
    
| 11 - | pres #6 - Chang presents LARD | 
| 13 - | pres #7 - Wei presents DSM | 
    
| 18 - | pres #8 - Spencer presents XFS | 
    
| 20 - | pres #9 - Xiaojuan presents GMS | 
    
| 25 - | 
      pres #10 - Stephen presents L4 | 
    
| 27 - | pres #11 - Janet presents CFS | 
    
    November 2005
Su Mo Tu We Th Fr Sa 
       1  2  3  4  5
 6  7  8 
9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
| 01 -  | 
      Fall Recess | 
    
| 03 -  | 
      Fall Recess | 
    
| 08 -  | 
      Project proposals | 
    
| 10 -  | 
      pres #12 - Martin presents UVM | 
    
| 15 -  | 
      pres #13 - Stephen presents IO-Lite | 
    
| 17 -  | 
      pres #14 - Yi presents SEDA | 
    
| 22 -  | 
      pres #15 - Chang presents kqueue | 
    
| 24 -  | 
      Thanksgiving recess | 
    
| 29 -  | 
      pres #16 - Chris presents Energy | 
    
    December 2005
Su Mo Tu We Th Fr Sa 
            
1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
| 01 -  | 
      pres #17 - Xiaojuan presents Xen | 
    
| 02 -  | 
      pres #18 - Will presents Spin Makeup lecture  | 
    
| 06 -  | 
      pres #19 - Wei presents Metal | 
    
| 08 -  | 
      pres #20 - Spencer presents soft-updates | 
    
| 09 -  | 
      pres #21 - Will presents Byzantine Makeup lecture  | 
    
| 13 -  | 
      (bumped) WORLDS workshop  | 
    
| 15 -  | 
      (bumped) FAST conference  | 
    
| 10 - | Project presentations | 
| 12 - | 
      Project presentations | 
    
| 17 - | Project presentations Dean's Date  | 
    
Byzantine & RAID - making systems fault tolerant
CFS & NFS - distributed filesystems, LAN and WAN
CDN & Chash - content distribution networks and consistent hashing
DSM & RPC - distributed shared memory and remote procedure calls
Debox & DTrace - kernel debugging
Energy & DVS - energy efficiency and dynamic voltage scaling
ESX & DISCO - virtual machines
Flash & Harvest - Fast servers - web and proxy
IO-Lite & fbufs - buffering systems inside the OS
kqueue & select - fast event notification systems
L4 & Exokernel - stripped down kernels
LARD & Network Dispatcher - cluster request distribution
Metal & Synthesis - error detection, dynamic code generation
resource & scout - kernel resource management
SEDA & Scheduler Activations - managing parallelism
Soft-Updates & LFS - file system restructuring
SPIN & VINO - extensible kernels
UVM & Mach - virtual memory restructuring
Xen & Denali - virtualization, paravirtualization
XFS & FFS - advanced file systems
Worldwide timing - clock skew becomes an issue when running distributed applications. Design a system to provide a more coherent global clock.
Scalability - test some aspect of OS scalability - threads, zero copy, virtual memory design, etc. Fix it if possible.
Interface - the select system call does not like disk file descriptors. Make it useful by having it begin prefetching when presented with a disk fd.
Anomaly detection - by observing the behaviors of large numbers of somewhat similar programs, can you determine when a program has gone out of control?
geolocation - can you tell where someone is coming from, and redirect them to the closest instance of a service?
Page faults - can you lay out code or data to reduce fault rates? Does it matter?
Virtualization costs - can you reduce the overhead of virtualization by making changes at the program level?
Do class-based resource management - see Marc Fiuczynski's project 3 for a more complete description.