Tuesdays & Thursdays
15:40 to 17:00
WEB L102
Instructor Ryan Stutsman stutsman@cs.utah.edu
Office Hours Wednesday and Friday 15:30 to 17:00 in MEB 3436
TA Candy (Tian) Zhang tianz@cs.utah.edu
Office Hours Wednesday 15:00 to 16:30 in MEB 3115
Course Calendar
Lab Setup
Lab 1 - Lab 2 - Lab 3
Lab Submission Status
Gitlab
Canvas
CloudLab Signup
luum.io
9/8 - No class. Make sure you watch the Raft video (see the calendar).
9/6 - No class.
3 credit hours
Prerequisites: CS 5460, CS 4480, or similar systems experience with a heavy programming component.
In the last decade, large-scale distributed systems have revolutionized the way we live and work. They form the basis for our communications platforms. They provide our only means of finding, aggregating, storing, and analyzing the massive data we collect each day. These systems will only need to grow larger, faster, and more reliable as more and more of our lives and devices are online.
Building distributed systems, especially those that operate at large-scale with high performance, presents special challenges. For example, scale introduces faults and the need for redundancy. Redundancy complicates consistency.
This class explores these issues and more through the lens of the latest in distributed systems research (often from SOSP, OSDI, and NSDI). Each lecture will be associated with an assigned research paper reading. Each reading is intended to highlight a unique distributed systems problem and/or solution. Students will be expected to read each paper before class and to actively participate in class discussions.
Largely, the focus of the class will be on full systems, so that students get a sense of how they might build similar systems capable of operating at large scale. The class includes a significant programming component.
CS6963 is a special topics graduate class with lectures and several programming projects, quizzes, and a final group project.
Most class meetings will be part lecture and part paper discussion. You should read the paper before coming to class and be prepared to discuss it. You can find out what paper to read for each meeting in the schedule.
Classes with assigned preparation (e.g. paper reading) will have a very short quiz at the start of class before the paper is discussed to ensure that students are reading and understanding the papers.
Your lowest two quiz scores will be thrown out.
Labs will be due every few weeks throughout the course.
The final project will be in groups of 3. It includes a proposal, an implementation, a final report that details the project and the results, and an in-class group presentation.
Final course grades will be based on:
You can hand in your lab solutions late with a few conditions:
If you want an exception to these rules, in any way you must get a letter from the appropriate office at the University.
No part of the project can be turned in late for credit.
Collaboration and Cheating
The entire structure and much of the content was blatantly lifted from MIT's 6.824 Thanks to Robert Morris, Frans Kaashoek, and Nickolai Zeldovich for developing the course.