CMPS232-Fall16
CMPS232-Fall16
CMPS232 Fall 2016: a graduate distributed systems seminar
A graduate seminar on distributed systems meeting Monday, Wednesday, and Friday mornings, taught by Peter Alvaro. The README doubles as the syllabus, covering readings, presentations, and the final project.
The class at a glance
The header table gives the logistics. Class meets Monday, Wednesday, and Friday from 9:20 to 10:25 AM in Cowell Classroom 131. The instructor is Peter Alvaro with office hours Wednesday 11 to 12. The TA is Michael Shavlovsky. Prerequisites are listed not as coursework but as a passion for reading and a hunger for discussion, and the readings are flagged as volatile and subject to significant change.
Why distributed systems matter
The description builds the case for the course. Distributed systems present unique challenges because their executions carry fundamental uncertainty from asynchronous communication and partial failure. They are also increasingly ubiquitous, to the point that nearly all non-trivial systems are now physically distributed. The argument follows that programmers can no longer hand the complexity to a few infrastructure writers, so all programmers must now be distributed programmers, which the README calls both a crisis and an opportunity.
The theory and the topics
A chunk of the theory is about what you cannot do. The famous FLP result, the CAP theorem, the two generals problem, and the impossibility of establishing common knowledge via protocol all set limits. The course then moves to what systems actually achieve, covering consistency models, large-scale storage systems and data processing frameworks, consensus and synchronization protocols, data replication and partitioning, fault-tolerant design, programming models, distributed programming languages and program analysis, and seminal theoretical results.
How the seminar runs
This is a research seminar, so reading and discussing conference papers is the main activity. Each session covers one to two papers, typically two, and for each paper students write a summary of about one page guided by questions like what problem it solves, whether the problem is important, how the solution works, what alternatives exist, and what questions it raises. Every student is expected to present at least one paper, ideally two, with slides optional.
The final project and grading
The final project comes in two kinds. A research project presents novel work that could eventually lead to a conference or workshop publication, with teams of up to three allowed. A survey paper instead tries to give a complete picture of a narrow area, judged on completeness, and may have only one author. Grading splits into paper summaries at 20 percent, participation at 20 percent, presentations at 20 percent, and the project at 40 percent. Final projects are required to pass the course, and the academic honesty section covers disclosing collaborators and refusing plagiarism.
Editorial conclusion
The page reads less like a repository and more like a syllabus for a class that treats reading conference papers as the core activity, with attendance alone worth a fifth of the grade.
Community notes