|  1  | 
  
    8/23  
    8/25  
    8/27
   | 
  
     Introduction 
   | 
   
   The UNIX Time-Sharing System, SOSP, 1973. (Optional)
 | 
   N/A  | 
  |  2  | 
  
    8/30  
    9/1  
    9/3
   | 
  
     CPU Scheduling   
    
    
   | 
  
    
    
    
    
      
       
     
    Borrowed-Virtual-Time (BVT) scheduling: supporting latency-sensitive
    threads in a general-purpose scheduler, SOPP, 1999 
     (Optional) 
    Inside the Linux 2.6 Completely Fair Scheduler, IBM
    developerWorks, 2009 
      
      
    
    
    
   | 
    
   | 
  |  3  | 
  
    9/6  
    9/9  
    9/11
   | 
  
    NO CLASS  
     Multicore Scheduling 
   | 
   
     Efficient and scalable multiprocessor fair scheduling using
      distributed weighted round-robin, PPoPP, 2009 
    
      The Linux scheduler: a decade of wasted cores, EuroSys, 2016
      
   | 
  
    
   | 
  |  4  | 
  
    9/13  
    9/15 
    9/17
   | 
  
    Virtualization
   | 
   
    
    
     Xen and the Art of Virtualization, SOSP, 2003
    
    
      
     LibrettOS: A Dynamically Adaptable Multiserver-Library OS, VEE,
      2020
    
    
    
    
    
    
    
    
    
  | 
  
    
    
    
      
   | 
  |  5  | 
  
    9/20  
    9/22  
    9/24
   | 
  
     Virtual Memory
   | 
   
     Making Huge Pages Actually Useful, ASPLOS, 2018
     A Case for Richer Cross-layer Abstractions: Bridging the
    Semantic Gap with Expressive Memory. ISCA, 2018
   | 
  
    
    
   | 
  |  6  | 
  
    9/27  
    9/29   
    10/1
   | 
  
     Memory Management 
 | 
   
   
     Deterministic Memory Abstraction and Supporting
      Multicore System Architecture. ECRTS, 2018 
    
    
    
     
  
  
  
  
  
   | 
  
    
   | 
  |  7  | 
  
    10/4  
    10/6  
    10/8
   | 
  
    Memory Management  
     Protection &
    Security   
   | 
     E-WarP: A System-wide Framework for Memory Bandwidth
      Profiling and Management, RTSS, 2020
       
     Meltdown: Reading Kernel Memory from User Space,
      USENIX Security, 2018 
    
    
    
    
    
    
    
   | 
  
   | 
  |  8  | 
  
    10/11  
    10/13  
    10/15
   | 
  
    NO CLASS  
     Protection &
    Security     
   | 
   
     Spectre Attacks: Exploiting Speculative Execution, IEEE
    Security and Privacy (S&P), 2018
    
      
    
    
     Flipping Bits in Memory Without Accessing Them: An Experimental
      Study of DRAM Disturbance Errors. ISCA, 2014
      
    
    
   | 
    | 
    
  |  9  | 
  
    10/18 
    10/20 
    10/22
   | 
     
    Heterogeneous Systems   
   | 
     Exploiting
      the DRAM rowhammer bug to gain kernel privileges, 2015
      
     Dissecting the CUDA scheduling hierarchy: A Performance and
      Predictability Perspective, RTAS, 2020
    
      
    
    
    
    
    
    
    
    
    
    
   | 
   | 
  |  10  | 
  
    10/25 
    10/27 
    10/29
   | 
  
    Heterogeneous Systems       
    Kernel Programming  
    Midterm  
    
    
    
    
   | 
   Pipelined Data-Parallel CPU/GPU Scheduling for Multi-DNN
    Real-Time Inference. RTSS, 2019
    Linux Devices Drivers, 3rd
  Edition 
   
   
   | 
  
 |   
  |  11  | 
  
    11/1 
    11/3  
    11/5
   | 
  
    Student Presentations
   | 
  
     Review
     Time Protection: the Missing OS Abstraction, EeroSys,
    2019 (Max, 11/3)
     Donky: Domain Keys - Efficient In-Process Isolation for RISC-V
      and x86, USENIX Security, 2020 (Drew, 11/5)
    
  | 
   | 
 | 
  |  12  | 
  
    11/8  
    11/10  
    11/12
   | 
  
    Student Presentations
   | 
  
     Lottery Scheduling: Flexible Proportional-Share Resource
      Management, OSDI, 1994. ( Ted, 11/8)
    Kleio: A Hybrid Memory Page Scheduler with Machine Intelligence,
      HPDC, 2019 (Bhuneshwari, 11/10) 
     Popcorn: Bridging the Programmability Gap in Heterogeneous-ISA
        Platforms. EuroSys, 2015 ( Matthew, 11/12 ) 
    
      
    
    
    
    
    
   | 
  
    
   | 
  |  13  | 
  
    11/15 
    11/17 
    11/19
   | 
  
    
    Student Presentations  
    Term Project  
    
     
    
   | 
  
     An Open Source FPGA-Optimized Out-of-Order RISC-V Soft 
      Processor, ICFPT, 2019, (Earving, 11/15) 
     NeuOS: A Latency-Predictable Multi-Dimensional Optimization
    Framework for DNN-driven Autonomous Systems, ATC,
      2020. (Suhaib, 11/17)
      
     Individual meetings
  
  
  
  
  
  |   | 
 | 
  |  14  | 
  
    11/22  
    11/24 
    11/26
   | 
  
    Term Project  
    NO CLASS (Thanksgiving)  
    NO CLASS (Thanksgiving)
   | 
  
     Individual meetings
    
    
    
    
    
      
    
    
      
    
    
   | 
    | 
  |  15  | 
  
    11/29  
    12/1  
    12/3
   | 
  
    Term Project 
   | 
  
     Individual meetings
    
    
    
    
    
    
   | 
    | 
  |  16  | 
  
    12/6  
    12/8  
   | 
  
    Term Project (Final week)
   | 
  
     NO CLASS 
     Term project presentation
   | 
    |