COMP 645 - Advanced Topics in Distributed Systems

Instructor: Ang Chen
Room: Keck Hall 105
Lectures: Wednesdays 3:30-5pm
Office hours: By appointment

Course description

Distributed systems are behind many important services that we use every day, such as online banking, social media, and video conferencing. The design and implementation of these systems need to carefully consider a range of metrics: scalability, security, privacy, and many others. This graduate seminar will cover some of the recent advances in this area. We will read research papers from top conferences in systems, networking, and security, and we will look at some of the more recent systems that have been developed by companies like Google or Facebook.

Piazza link


Some familiarity with systems and networking topics is preferred.


This course will include paper readings, discussions, and, optionally, a research project. In each class, we will read one 'required' paper that serves as an introduction to the topic, or one that covers the fundamentals, and two 'supplemental' papers on the same topic. All students are required to read the first paper, and send me a short 'review' of the paper the day before the class using a review form that I will provide. Reading the 'supplemental' papers is encouraged but not required, but every participant should pick some of these papers and give brief presentations about them. After each presentation, we will form two groups, one arguing for the paper and another against, and hold a discussion session.

Students also have the option of doing a research project (for three credits), and they can do so either individually, or in teams of two. Participants are free to propose their own project ideas (as long as they are related to the subject of this course), or brainstorm with me on possible topics. Each team should prepare a six-page paper in the style of a workshop submission at the end of the semester.

Every student will also give a final presentation in the last class of the semester on a potential project idea that, once fully developed, could be an interesting contribution to the distributed systems community. For students that choose to do a research project, this can simply be the project they have been doing. Students who choose not to do a course project are still required to give a final presentation on a relevant topic.


I will provide a summary form for you to write the summaries in. The summaries need not be long, but they need to answer the following questions:
  1. What is the problem that the paper addresses?
  2. Is this an important problem? Why?
  3. How does the paper solve the problem? What are its key contributions?
  4. What are strengths and weaknesses of the paper? (Name at least two of each)
  5. What are possible next steps?
Please submit you summary via email (in plain text) to me at least one day before class.


For students who are taking COMP 645 as a one-credit course, your grade will be based on the paper summaries you submit (40%), your participation in class discussions (40%), and your final presentation (20%). For students who are taking the course for three credits, your grade will be based on the paper summaries (25%), your participation in class discussions (25%), your final presentation (15%) and your term project (35%).


Students with a documented disability needing academic adjustments or accommodations in this course are encouraged to contact me and Disability Support Services in the Allen Center, Room 111.

Tentative schedule

Date Topic Subtopic Feature paper Supplemental paper #1 Supplemental paper #2
Jan 10 Introduction Overview of the course  
Jan 17 Programmable networks Programmable devices P4 (SIGCOMM CCR'14) RMT (SIGCOMM'13) IncBricks (ASPLOS'17)
Jan 24 P4 NetCache (SOSP'17) NetPaxos (SOSR'15) PISCES (SIGCOMM'16)
Jan 31 Security SDN PBS (NDSS'16) ConGuard (Security'17) PSI (NDSS'17)
Feb 7 Mobile Quire (Security'11) TaintDroid (OSDI'10) Removing secrets (NDSS'18)
Feb 14 Encrypted data CryptDB (SOSP'11) SeaBed (OSDI'16) Opaque (NSDI'17)
Feb 21 Data Analytics Graph data Pregel (SIGMOD'10) PowerGraph (OSDI'12) GraphX (OSDI'14)
Feb 28 (Proposal deadline) Streaming Spark Streaming (SOSP'13) Wukong+S(SOSP'17) TimeStream (EuroSys'13)
Mar 7 Declarative ExSPAN (SIGMOD'10) BigDatalog (SIGMOD'16) Socialite (VLDB'13)
Mar 14 Spring break
Mar 21 Verification, synthesis, diagnosis Systems software seL4 (SOSP'09) FSCQ (SOSP'15) DFSCQ (SOSP'17)
Mar 28 Networks Batfish (NSDI'15) MineSweeper (SIGCOMM'17) ARC (SIGCOMM'16)
Apr 4 Synthesis Merlin (CoNEXT'14) Propane (SIGCOMM'16) NetEgg (CoNEXT'15)
Apr 11 Diagnosis XTrace (NSDI'07) Canopy (SOSP'17) CrystalNet (SOSP'17)
Apr 18 WiP session
Five-minute WiP talks about the term project