This course covers advanced topics in data centers. The focus is on principles, architectures, and protocols used in modern data centers. We will cover hardware and networking architectures, operating systems, storage, and applications. The goal of the course is to build on basic computer architecture, networking and operating systems course material to provide an understanding of large, complex networked systems, and provide concrete experience of the challenges through a set of labs.
Prerequisites: This course builds on the undergraduate operating systems course (CSE 451 or equivalent), the contents of which will be assumed knowledge. Proficiency in C programming is assumed.
Readings: Instead of a lecture, the course material is conveyed via a series of research papers and system documentation. Each week, a set of papers is assigned for reading and we will discuss the papers in class. Papers will be posted on the Piazza site. There is no textbook for this course, as no published book covers the material in sufficient depth. Students will present papers in class to seed discussion (20 minutes) and participate in active discussion (1 hour).
Project: A significant project designed to push the state-of-the-art of data center development accompanies the course. Students will work in teams on a project of their choice from a selection of projects posted on Piazza or propose their own project. At the end of the quarter, students will submit a written project report of up to 5 pages. Students define a mid-quarter milestone that constitutes one third of their project grade.
Discussion: We will use Canvas for project discussion and any class Q&A.
Grading: Grading will be based on the project (50%), the presentation of research papers (30%), and active participation in discussion (20%).
Class recordings: Class recordings are reserved only for students in this class for educational purposes and are protected under FERPA. The recordings should not be shared outside the class in any form.