Lecture, four hours; discussion, two hours; outside study, six hours. Enforced requisite: course 118. Covers fundamental concepts regarding design and implementation of distributed systems. Topics include synchronization (e.g., clock synchronization, logical clocks, vector clocks), failure recovery (e.g., snapshotting, primary-backup), consistency models (e.g., linearizability, eventual, causal), consensus protocols (e.g., Paxos, Raft), distributed transactions, and lock. Students gain hands-on, practical experience through multiple programming assignments that work through steps of creating fault-tolerant, sharded key/value store. Exploration of how these concepts have manifested in several real-world, large-scale distributed systems used by Internet companies like Google, Facebook, and Amazon. Letter grading.

Review Summary

Clarity
N/A
Organization
N/A
Time
N/A
Overall
N/A

Course

Instructor
Ryan Rosario
Previously taught
24F
Formerly offered as
COM SCI 188

Previous Grades

Grade distributions not available.