4/30 Looking back

What you read

41 papers have been assigned for this class. Here they are, in a sortable table.

1 “Multics—The first seven years” 1972 1/29.1
2 “Protection in an information processing utility” 1968 1/29.2
3 “The evolution of the Unix time-sharing system” 1984 1/29.3
4 “The nucleus of a multiprogramming system” 1970 2/3.1
5 “Toward real microkernels” 1996 2/3.2
6 “The multikernel: A new OS architecture for scalable multicore systems” 2009 2/3.3
7 “RedLeaf: Isolation and communication in a safe operating system” 2020 2/5.1
8 “An empirical study of Rust-for-Linux: The success, dissatisfaction, and compromise” 2024 2/5.2
9 “Understanding modern device drivers” 2012 2/12.1
10 “Recovering device drivers” 2006 2/12.2
11 “Arrakis: The operating system is the control plane” 2015 2/19.1
12 “The Demikernel datapath OS architecture for microsecond-scale datacenter systems” 2021 2/19.2
13 “Automatic Device Driver Synthesis with Termite” 2009 2/24.1
14 “Graviton: Trusted Execution Environments on GPUs” 2018 2/24.2
15 “Memory resource management in VMware ESX Server” 2002 2/26.1
16 “Firecracker: Lightweight Virtualization for Serverless Applications” 2020 2/26.2
17 “A comparison of software and hardware techniques for x86 virtualization” 2006 3/3.1
18 “Fast, Flexible, and Practical Kernel Extensions” 2024 3/3.2
19 “SubVirt: Implementing malware with virtual machines” 2006 3/5.1
20 “An Analysis of Speculative Type Confusion Vulnerabilities in the Wild” 2021 3/5.2
21 “Live Migration of Virtual Machines” 2005 3/10.1
22 “Electrode: Accelerating Distributed Protocols with eBPF” 2023 3/10.2
23 “CHERI: A hybrid capability-system architecture for scalable software compartmentalization” 2015 3/24.1
24 “Meltdown: Reading Kernel Memory from User Space” 2018 3/24.2
25 “Building Secure High-Performance Web Services with OKWS” 2004 3/26.1
26 “Labels and event processes in the Asbestos operating system” 2005 3/26.2
27 “Making the ‘Box’ Transparent: System call performance as a first-class result” 2004 4/2.1
28 “Coz: Finding code that counts with causal profiling” 2015 4/2.2
29 The Mystery Machine: End-to-end performance analysis of large-scale Internet services 2014 4/7.1
30 “Pivot tracing: Dynamic causal monitoring for distributed systems” 2015 4/7.2
31 “Scaling distributed machine learning with the Parameter Server” 2014 4/9.1
32 “Gandiva: Introspective cluster scheduling for deep learning” 2018 4/9.2
33 “PipeDream: generalized pipeline parallelism for DNN training” 2019 4/14.1
34 “Efficient Memory Management for Large Language Model Serving with PagedAttention” 2023 4/14.2
35 “ghOSt: Fast & flexible user-space delegation of Linux scheduling” 2021 4/16.1
36 “Storm: A fast transactional dataplane for remote data structures” 2019 4/21.1
37 “Ensō: A Streaming Interface for NIC-Application Communication” 2023 4/21.2
38 “Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems” 2013 4/23.1
39 “Kangaroo: Caching Billions of Tiny Objects on Flash” 2021 4/23.2
40 “KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs” 2008 4/28.1
41 “Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3” 2021 4/28.2

(We also had presentation days on unusual OSes and the reproduction project.)

Preparation

Please come to class with two slides in Google Slides presentation. You should post your slides to Ed by 8:30am on class day.

Your first slide should answer at least one of the following questions. Select the questions for which you have the most interesting or controversial answers.

  1. Which was the best paper we read?
  2. Which was the worst paper we read?
  3. Which paper did you change your mind about as a result of class discussion?
  4. Which was the best class day and why?
  5. Which was the worst class day and why?
  6. What theme was most interesting to you? (Each class day had a different technical theme, but there were also cross-cutting themes, such as industrial vs. academic research, so-called “corruption”, evaluation quality, writing quality, practical vs. visionary, low-latency serving, workloads.)
  7. What underlying technology was most interesting to you?
  8. Based on this biased sample, which class of system do you think the systems research community should pay more attention to?

Your second slide should have (1) a three-sentence summary of your project, and (2) a short description of your project progress thus far.