CS 239: Cloud Software Systems

Course ID: CS239 Current Topics in CS
Instructor: Konstantinos Kallas (kkallas@cs.ucla.edu) (Website)
Meeting Time & Location: Tuesdays/Thursdays 2:00-3:50PM -- Boelter Hall 5273
Office Hours: By appointment

Synopsis

This graduate-level course covers advanced topics related to the design, architecture, and management of cloud software systems. A tentative list of topics that will be covered includes serverless, microservices, cloud data processing, and performance analysis.

The course has three main axes: paper reading, paper writing, and conducting research. Discussion-oriented classes focus on in-depth analysis of readings. Students will do a collaborative final research project on topic of their choice. The project is intended to align with the student interests, with the potential to contribute toward a publication in a top-tier venue. Guided by the final project and inspired by the papers we read, throughout the course students will also learn how to write a research paper.

By the end of the course, students should be able to:

The course is intended for any students (graduate or undergraduate) who are interested in the above.

Prerequisites

No strict prerequisites, but having taken courses on systems topics would be useful. Some example relevant courses are: Distributed Systems (CS 134), Operating Systems (CS 111), Web Applications (CS 144), Parallel and Distributed Computing (CS 133), Data Management Systems (CS 143), Programming Languages (CS 131), Compilers (CS 132), and Networks (CS 118).

Grading

Response papers (20%); Participation/Discussion (40%); Project (Paper + Presentation) (40%).

Response papers

Students will prepare an insightful critique of the assigned papers due at the beginning of class. These response papers should address the following three axes: problem statement, key insight, evaluation. Read this post for more context on important axes of systems papers. The response papers can be as short as 0.5 pages and no longer than 1 page.

Participation/Discussion

This course focuses heavily on class participation and discussion. Students are expected to read the assigned papers and prepare for discussions.

Project

Teams of up to three students will define and execute a research project in the area of cloud software systems, broadly defined. The goal is for the project to align with the students' existing research and be a steping stone for a publication at a top-tier venue. Students will write a research paper and make a final presentation.

Reading list

We will be reading papers from systems conferences like: SOSP, OSDI, NSDI, ASPLOS, EuroSys, ATC, SoCC, and PLDI.

The precise reading list will be announced soon.