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.


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


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
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
PMFS: Filesystem over pmem
11 18 Oct
Semester break
Synthesis and ML: ML Robustness
12 25 Oct
Primer to OS organization: Exokernel
13 1 Nov
Unikernels: Exokernels are back in cloud!
4 Nov
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.