General Information

Administrivia

Instructor: Marco Canini

Time: SW 4:00PM - 5:30PM at Bldg. 9, Room 3138

Credits: 3

Office Hours: 1-0144. By appointments only.

The class is open to CS MS and Ph.D. students. Others may be admitted by permission of the instructor.

Communication

ALL communication regarding this course must be via Piazza. This includes questions, discussions, announcements, as well as private messages.

Presentation slides and paper summaries should be emailed to the instructor directly while prepending [CS345] to the email subject.

Paper reviews must be submitted via HotCRP.

Course Description

This class is an advanced course in distributed and networked systems.

This course takes the form of a seminar that is based on a selection of papers that either have had a strong impact on distributed and networked systems today, or explore novel ideas that may be important in the future. The syllabus for this course will vary from year to year so as to cover a mixture of older and more contemporary papers. Contemporary papers will be generally selected from the past 5 years, primarily drawn from high quality conferences such as SOSP, SIGCOMM, OSDI, NSDI and EuroSys. Students are expected to read papers before the class, write a summary and “review” of the paper prior to class, and participate in the discussion during the class.

The course has one semester-long project that is aimed at producing a conference/workshop-quality research paper and must involve writing some software. The project must address an open research problem. Suggested project ideas will be provided by the instructor. To get ideas for projects, please DO be courageous and read ahead in the course schedule! Your project topic is expected to be distinct from your “regular” research project. It can be related, but try to strike out a new direction that is truly systems research! It is highly recommended that you work in groups. Teams are suggested to be 2 students. All projects will have to submit three versions of reports (proposal, midterm, and final reports); these submissions should read like research papers (or parts thereof). Up to five “best projects” at the end of the semester will be earmarked for expedited submission to a renowned conference, with the help of the instructor’s involvement even after the semester is over.

Sign up on the Piazza forum for this class.

Objectives

This class is a graduate seminar that covers design and implementation concepts in distributed systems and networked systems by reviewing a selection of classical and contemporary papers. We will study efficient system design and evaluation, as well as learn high-level system issues, with a focus on exciting topics in distributed and networked systems. Research in these areas also tends to be scattered across disjoint sets of researchers and conferences, and the course attempts to study commonalities. On completion of this course students should have a broad understanding of some key papers and concepts in computer systems research, as well as an appreciation of how to argue for or against any particular idea.

By the end of the course, students should be able to:

  • Comprehend and critique relevant research papers in the area of distributed and networked systems.
  • Present their research both orally in a concise way and within the allotted time as well as in writing.
  • Defend the research approach, design decisions, and the evaluation methods in a discussion.
  • Moderate a discussion after a research presentation.

About the course

Prerequisites

Students are expected to have good programming skills and must have taken at least one systems-related course (e.g., from operating systems/CS140, distributed systems/CS240, networking/CS244, or databases/CS245), or instructor consent, is required.

Textbook

There is no textbook for the course. You will be expected to read 1-2 papers per class. The papers are available electronically through the course website.

Organization and workload

The class consists of two main activities:

  1. Papers and discussions: We will read 1-2 papers for each class (i.e. 2-4 papers per week), and discuss them in class. You will need to spend about 2 hours reading each paper, and making notes, to prepare you to discuss them in class. This only works if you come to class ready to discuss the papers in detail, which is why 15% of your grade is for in-class participation. There will be as much as 10-15 hours of reading per week. Do not take this course unless you are willing and able to do a lot of reading.
  2. Project: You will do a semester-long open-ended project (see sidebar for more information).

Grading

  • 15% In-class Participation
  • 20% Paper Reviews
  • 15% Paper Presentations
  • 50% Project

Groups

It is highly recommended that you work in groups. Teams are suggested to be 2 students.

Declare your group’s membership as well as preferences for papers by February 6, 2019. After this date, we will form groups from the remaining students.

Note that paper preferences are only hints.

Paper presentations

The course will be conducted as a seminar. Only one student will present in each class. Each student will be assigned to present two papers (mandatory and companion) on the same day at least once throughout the semester. Presentations should last at most 45 minutes without interruption. However, presenters should expect questions and interruptions throughout. In the presentation, you should:

  • Motivate the paper and provide background.
  • Present the high level idea, approach, and/or insight (using examples, whenever appropriate).
  • Discuss technical details so that one can understand the key details without carefully reading it.
  • Explain the difference between this paper and related work.
  • Raise questions throughout the presentation to generate discussion.

The slides for a presentation must be emailed to the instructor at least 24 hours prior to the corresponding class. You should use this powerpoint template for making your slides.

Paper reviews

Each critique should be about a half a page and should roughly cover the following questions:

Read all the papers of each day carefully and write your own paper review. Being able to critically judge others’ work is crucial for your understanding. For papers that require summaries, you must address a number of questions including:

  • What is the problem addressed by the paper? Is the problem real? Why is this problem important?
  • What is the hypothesis of the work?
  • What is the proposed solution’s main idea, and what key insight guides their solution?
  • Why is the solution different from previous work?
    • Are system assumptions different?
    • Is workload different?
    • Is problem new?
  • Does the paper (or do you) identify any fundamental/hard trade-offs?
  • What is one (or more) drawback or limitation of the proposal, and how will you improve it?
  • Do you think the work will be influential in 10 years?
    • Why or why not?

The paper reviews of each day must be submitted electronically at least 24 hours prior to the corresponding class. Late reviews will not be counted. You can miss up to 4 paper reviews during the term without penalty. Each missing review beyond the fourth one will result in 25% decrease in grade for paper reviews. Meaning, failing to turn in 8 or more reviews on time will result in a zero for all paper reviews.

The grade for this part will be assigned as follows: at the end of the term, 2 of your reviews will be randomly selected and graded. The higher grade of the two will be used for grading.

Submit reviews via HotCRP.

Participation

Is class participation based solely on attendance? No. Attendance is a necessary but not sufficient condition for good class participation. You are expected to attend all lectures (you may skip up to 2 lectures due to legitimate reasons), and more importantly, participate in class discussions. If you have any concerns about not being able to regularly attend class (e.g., you will have to miss several classes during the quarter) please discuss this as soon as possible with the instructor. Beyond attendance, we evaluate class participation by observing how prepared students are to discuss the covered paper when they come to class. This is not a trivial requirement because we expect papers to have been read thoroughly prior to lecture.

Project

Research projects are the critical aspect of the course. Your goal is to do publishable quality systems research on an instructor-approved problem; that is, to add to our understanding of how to build systems. Research projects must be written up in a term paper. See details in the Project page.

Exam

This class has no exam.

Late work

There is no policy on late work. If you cannot submit your work by the deadline, it will not be accepted.

Exceptional circumstances

If you have a medical emergency, then email the instructor to request an extension. At times, there may be system problems with the computer infrastructure which may prevent you from submitting your reviews on time. In these cases an extension will be granted to the entire class.

Misconduct policy

We will have zero tolerance for academic misconduct. Cheating, plagiarism, and any form of dishonesty will be handled with maximum severity, according to university regulations. If you are ever in doubt about whether an action on your part may constitute unacceptable behavior, please ask the instructor before proceeding—doing so afterward is too late.

Apart from the term project, any work you turn in must be your own and is to be done individually, and the usual code of conduct applies. You must acknowledge any sources of your words, ideas, and software when they are not your own, and you must disclose in advance, without any specific request, any sources you used. Do not use code from a student who took the course in a previous semester.