How do systems like Google and Facebook actually work? What does it take to build a planet-scale system? What can we do today using cloud computing that wasn't possible a decade ago?
In this course we will look at research underpinning modern cloud and datacenter systems. We will read papers from several areas including operating systems, computer networks, and distributed systems. We will look at recent application trends including big data analytics, microservice and serverless architectures, and modern machine learning. Along the way we will learn how to design, implement, and evaluate robust, effective, and efficient systems. In addition to learning about cutting-edge systems research, students will get their feet wet with a semester-long group research project.
The class has three main components:
Grading for the class will be 15% paper reviews, 15% class discussion, and 70% research project.
The course is intended for Masters and Ph.D. students in Computer Science, but enterprising Bachelors students are welcome to participate. There are no formal prerequisites beyond a basic knowledge of how computer systems (operating systems, databases, networks, distributed systems) work internally. The majority of the grade for the class comes from a semester-long project, so programming proficiency and self-directedness are a must.
mailing lists for communication, office hours. grading policy, late policy, absent policy.
tbd information about how to do paper reviews and what is required. e-mail addresses/mailing lists for reviews. when are reviews due.
tbd information about expectations for class project, intermediate milestones, presentation / poster session. list of possible projects and descriptions of how to choose projects. milestone meetups. final presentation, report, and code. breakdown of research project grade (proposal 10%, midpoint 20%, final 40%)
tbd information about presenting papers in class and leading class discussion. can use slides. slides must be made available.