CPS 512 (Duke University) Distributed * Systems
home calendar topics work resources
Class Meetings
WF 1:25 - 2:40 in D106 LSRC
Jeff Chase (chase@cs.duke.edu)
Office hours: Th 2:00 PM - 3:00 PM and Friday after class, in D306 LSRC, or by appointment, or try a drop-in.
Teaching Assistant
Yuanjun Yao
TA Office hours: M 3:00pm - 5:00 pm @LSRC D309

Course announcements appear here.

  • We're done: have a great holiday, and I hope to see you in 2017!
  • Final projects are due the morning of 12/14. Please create a gitlab.oit.duke.edu repository. The repository should contain: (1) any source code or other materials necessary to reproduce or understand your results, and (2) a short report (in pdf form) about what you did and did not do and how it turned out. Please give "chase" at least read access to the repository, and send me an e-mail with the subject line "CPS 512 project" containing a list of group members and a cloneable git repository link. One e-mail per group.
  • For 11/30: network request routing infrastructure for two mega-service providers, Google and Facebook, based on two recent papers: Maglev [NSDI 2016] and Kraken [OSDI 2016].
  • Midterm #2 solution: PDF, PPTX.
  • Older entries and links for class slides moved to the calendar page.

CPS 512 is a graduate-level course dealing with techniques for storing and sharing information in computer networks, large and small. We will cover a range of core distributed systems topics, with an emphasis on the issues faced by cloud platforms, scalable Internet services, and distributed storage systems. The course is suitable for advanced undergraduates.

Course synopsis
Topics and readings [PDF]
Syllabus [PDF] required by Duke policy. Any changes to the information in the syllabus will be announced, and a dated revision of the syllabus provided.
Exam policies
CPS 512 exam archive