2021-2022 Sem I

This course will survey current important research directions in systems. The course targets entry-level graduate students and upper-level undergraduate students.

In almost every lecture, we will discuss a research paper. The discussion will be led by a student presenter. Each student is expected to submit a paper review for every paper.

Prerequisites

COL331 or equivalent.

Tentative evaluation criteria

  • Paper presentation: 40%
    • This includes presenting papers and creating a questionnaire on that paper to engage the classroom.
    • Presentation schedule
  • Paper reviews: 60%
    • This includes writing a summary of the paper and your commentary on what could be improved.
    • Submit this form before class begins

Ethics

Paper reviews: You are encouraged to discuss the paper with your peers. But each review must be written independently. If two student reviews are found to be copied, both reviews will be penalized. It is encouraged to note in the header: “Paper discussed with student XYZ”.

Paper presentation: You are allowed to reuse slides from other presentations. But this has to be acknowledged at the start of presentation.

Tentative schedule

Week Date, topic (Monday) Date, topic (Thursday) Date, topic (Saturday)
1 9 Aug
Introduction, primer to dataflow computing
12 Aug
Dryad: Doing dataflow computing
 
2 16 Aug
Scope: Easier to program than Dryad (Other: PigLatin)
19 Aug
Spark: Move all state to memory
 
3 23 Aug
Spark streaming: Turn streaming into dataflow (Other: MillWheel)
26 Aug
gg: Use AWS lamdba for dataflow
 
4 30 Aug
Janmashtami
2 Sept
Startup founder talk
4 Sept
No class.
5 6 Sept
Primer to ML systems
9 Sept
DeepLens: Exciting new ML applications
 
6 13 Sept
TensorFlow: Training and serving
16 Sept
Ray: Reinforcement learning
 
7 20 Sept
Minors week
23 Sept
Minors week
 
8 27 Sept
Focus: efficiency and latency
30 Sept
Primer to persistent memory
 
9 4 Oct
Espresso: How to program pmem in a high-level language
7 Oct
Autopersist: Easier programming model
 
10 11 Oct
Whole system persistence: Reimagine system persistence
14Oct
PMFS: Filesystem over pmem
 
11 18 Oct
Semester break
21Oct
Synthesis and ML: ML Robustness
 
12 25 Oct
Primer to OS organization: Exokernel
28Oct
Xen
 
13 1 Nov
Unikernels: Exokernels are back in cloud!
4 Nov
Diwali
 
14 8 Nov
Unikraft (Other: DrawBridge)
11 Nov
Course wrap up: possibly a broader survey of other systems research areas
and a view into instructor’s research directions
 
Encouraging student comments after the course
The course introduced students to wide variety of systems research going around in the world through means of some of the most influential / successful systems paper. This gave us a good flavor of what goes into systems research and what characterstics do these research share in common. In addition, reading the papers undoubtedly informed us about topics such as Dataflow Computer and Persistent Computing and Exokernels which, though quite interesting to know about, are not typically taught in any entry level undergraduate course. One thing that I really liked about the choice of papers selected by instructors was that the papers always followed a chronological order. Later papers used to directly reference past papers. Reading a connected chain of papers in this chronological order was quite fulfilling and enjoyable. Reading papers in such chronological order also helps in identifiying weaknesses of past paper which were revealed in later papers.

Got to learn a lot about different fields of systems. Learnt what system research is really like. I am now able to properly read and summarize the papers.