COL851 Special Topics in Operating Systems
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.