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.
|Week||Date, topic (Monday)||Date, topic (Thursday)||Date, topic (Saturday)|
Introduction, primer to dataflow computing
Dryad: Doing dataflow computing
Scope: Easier to program than Dryad (Other: PigLatin)
Spark: Move all state to memory
Spark streaming: Turn streaming into dataflow (Other: MillWheel)
gg: Use AWS lamdba for dataflow
Startup founder talk
Primer to ML systems
DeepLens: Exciting new ML applications
TensorFlow: Training and serving
Ray: Reinforcement learning
Focus: efficiency and latency
Primer to persistent memory
Espresso: How to program pmem in a high-level language
Autopersist: Easier programming model
Whole system persistence: Reimagine system persistence
PMFS: Filesystem over pmem
Synthesis and ML: ML Robustness
Primer to OS organization: Exokernel
Unikernels: Exokernels are back in cloud!
Unikraft (Other: DrawBridge)
Course wrap up: possibly a broader survey of other systems research areas
and a view into instructor’s research directions
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.