CS2680

CSCI 2680, Fall 2024

Instructor: Akshay Narayan akshayn@brown.edu

Class Meetings: Tuesdays, Thursdays 13:00 - 14:20, CIT 241

Office Hours: Tuesday 14:20 - 15:20 and Thursday 14:20 - 15:20, CIT 545

Description | Schedule | Current Week

Description

The Internet is ubiquitous today — you are using it right now! To understand it, we will read and discuss both classical and recent research papers on computer networking, including the design, structure, and technical history of the Internet, and we will consider the implications on both the design of other computer systems, as well as on Internet applications. We will study topics including routing, content delivery, transport algorithms, datacenter networks, edge networks, and Internet-scale applications. During class students will present and discuss papers. Assignments will include written paper summaries and reviews, as well as a semester-long research project. Students will present their projects at the end of the semester.

Components and Grading

Research Project: 40%

A major component of this class, both in terms of grade and time, is a term project. The class project is an open-ended novel research project. The goal is to investigate new research ideas and solutions. An ideal class project would eventually become a strong submission at a networking-focused research conference such as SIGCOMM, NSDI, or IMC.

Grading for the project requires a proposal and a final report (both written and presented). The proposal should include: (1) The problem statement, research question, and hypothesis. (2) The project plan. (3) A discussion of unknown factors or risks that might affect the project’s success. (4) If working with external collaborators, what the external collaborators’ role in the project will be.

After submitting the proposal, students must meet with me to discuss their project plan, and again mid-semester to discuss their progress. Near the end of the semester, students will present their projects in class to get feedback from the other students.

The final report should include elements (1) and (2) as well, along with a discussion of experiment results, any relevant implementation effort, a discussion of future work, and what each project member actually did.

Projects will be evaluated on technical quality, presentation clarity, and writing clarity.

Paper Reviews: 30%

Reading and discussing research papers is a major component of this class. For each paper we read for class, students will write a review of the paper. Reviews will include a discussion of the paper’s strengths and weaknesses, its implications and relationship to other papers we read in class, and responses to weekly paper-specific discussion questions. Students will not be required to review more than two full-length papers per class session.

Reviews will be evaluated on discussion clarity and technical depth. Students can miss up to three class sessions worth of paper reviews with no grade penalty. Since this class primarily involves discussing papers and students’ reviews, in-person class attendance is mandatory. Missing class due to illness or other similar extenuating circumstances is of course allowed, but please do not take this class if you cannot attend a large number of class meetings.

In-Class Paper Discussion: 30%

In-class discussion of the readings and technical themes is a critical component of this course.

In certain weeks, one student (or group of students, depending on class size) will serve as the discussion leader for the paper(s) we discuss that week. The discussion leader need not submit a separate review, but should read the other students’ submitted reviews and synthesize discussion points from them. The discussion leader(s) will coordinate with the instructor 3-5 days ahead of the class session they will lead the discussion for to plan the discussion. Discussion leading will be evaluated on discussion clarity and technical depth.

It is also important for students to participate in discussions they are not leading. Frequent absences (including not having read the reading) will reduce the discussion grade.

Time Breakdown

Reading papers and writing reviews for them takes time. Students should expect to spend 4-5 hours per week preparing for class meetings, in addition to the 3 hours per week of class meetings themselves. This amounts to approximately 80 hours of class work over the semester. The remainder of class time, approximately 100 hours, is dedicated to the class research project.

Collaboration Policy

Students are allowed (and in fact encouraged) to discuss readings, and the reading questions with others (including people who might not be in this class). However, all answers must be written by each student individually and should not be copied from anyone else. Additionally, students must understand their answers; instructors may interview and quiz students about their answers to determine this.

Students must cite all sources (people, websites, papers, etc.) that they consult as a part of their work, in paper reviews, the project proposal, and final report (i.e., all assignments). External sources include but are not limited to previously published articles, blog posts, Stackoverflow or similar sites, conversations with other people, etc. This policy is not meant to discourage the use of external sources, but rather to codify a standard academic practice. Be generous with citations.

For the class project, students are allowed to work with external collaborators (i.e., people not enrolled in the class). However, in these cases the project proposal should describe what each collaborator will do, and the final report should clearly describe what work enrolled students did and what work the external collaborators did. Joining a project led by an external collaborator is strongly discouraged; students in the class should lead the project. Students are strictly not allowed to use previously published research as a class project. Note that a reproduction study of existing work is novel research. Continuing an existing project is allowed with approval, but the class project should focus on the new work and the proposal should describe the pre-class project state. It is conditionally allowed to share a project with another 2000-level class involving a research-based project. The condition is approval from both me and the other class’s instructor on the project’s topicality for both classes.

Schedule

Project Dates

Dates are tentative. Changes will be announced in class.

Date Milestone
26 Sept Project Proposal Due
30 Sept - 4 Oct Proposal Meetings
~1 Nov Mid-Semester Check-in
12 Dec In-Class Project Presentations
13 Dec Project Reports Due

Paper Discussion

Reviews for a paper are due the day before the corresponding class meeting at 2pm ET. This is so that the discussion leader has time to read the reviews and prepare their discussion.

Readings are tentative. Changes will be announced in class.

Week 0 (5 Sept)

Intro, no reading

Week 1 (10, 12 Sept):

Internet Architecture

Day 1: Akshay

Review Prompt

Day 2 (pick 2): Akshay

Review Prompt

Week 2 (17, 19 Sept):

Internet Infrastructure

Day 1 (pick 1): Akshay

Review Prompt

Day 2: Akshay

Optional:

Review Prompt

Week 3 (24, 26 Sept):

Congestion Control

Day 1: Nick

Review Prompt

Day 2: Akshay

Optional:

Review Prompt

Week 4 (1, 3 Oct):

Traffic Control

Day 1: Akshay

Optional:

Review Prompt

Day 2 (pick 1): Lachlan

Review Prompt

Week 5 (8, 10 Oct):

Access

Day 1: Bokai

Optional:

Review Prompt

Day 2: Akshay

Review Prompt

Week 6 (15, 17 Oct):

Datacenters

Day 1: Akshay

Optional:

Review Prompt

Day 2 (pick 1): Akshay

Optional:

Review Prompt

Week 7 (22, 24 Oct):

No class (project hacking)

Week 8 (29, 31 Oct):

Management

Day 1: Shaotong

Review Prompt

Day 2: Edward

Optional:

Review Prompt

Week 9 (7 Nov) (Election Day 5 Nov - no class):

Network Functions

Day 1: No class (Election day)

Day 2: Akshay

Optional:

Review Prompt

Week 10 (12, 14 Nov):

Programmable Networks

Day 1: Akshay

Optional:

Review Prompt

Day 2: Akshay

Optional:

Review Prompt

Week 11 (19, 21 Nov):

Host Networking

Day 1: Guest: Deepti Raghavan

Review Prompt

Day 2: Akshay

Optional:

Review Prompt

Week 12 (26, 28 Nov):

Hypergiants

Day 1: Akshay

Review Prompt

Day 2: No Class, Thanksgiving

Week 13 (3, 5 Dec):

Day 1: Akshay

Review Prompt

Day 2: Akshay

Review Prompt

Week 14 (10, 12 Dec):

The road goes on

Day 1: Akshay

Review Prompt

Day 2: Project Presentations

Acknowledgements

This class is inspired by Sylvia Ratnasamy’s CS268. The collaboration policy is adapted from Aurojit Panda’s Distributed Systems.