CS 445 Internet-Scale Experimentation — Winter 2023

News and InformationOverviewCalendarReading, Writing, PresentingProjects

ANNOUNCEMENTS

Remember to check this (and Canvas) regularly!

ADMINISTRATIVE INFORMATION

STAFF

Professor

Fabián E. Bustamante
Seely Mudd #3905
+1 847 491-2745
fabianb@cs…

TA

TBD

LOCATION AND TIME

Lectures: TuTh 9:30-10:50AM | Frances Searle Building 1-421
Professor Office Hours: TBD

CATALOG DESCRIPTION

Internet-scale Experimentation is a graduate-level seminar exploring the challenges of large-scale networked system experimentation and measurements.
This course satisfies the Systems requirement and the project requirement.

COURSE PREREQUISITES

CS 340 “Intro to Computer Networking” or CS 345 “Distributed Systems”.

If you have taken similar courses somewhere else or have not taken any of these courses, but would like to register for this seminar, please contact me.

Disability

In compliance with Section 504 of the 1973 Rehabilitation Act and the Americans with Disabilities Act, Northwestern University is committed to providing equal access to all
programming. Students with disabilities seeking accommodations are encouraged to contact the office of Services for Students with Disabilities (SSD) at +1 847 467-5530 or ssd@northwestern.edu. SSD is located in the basement of Scott Hall. Additionally, I am available to discuss disability-related needs during office hours or by appointment.

How would you …

  1. Evaluate the effectiveness of a feature you added to your startup’ new app?
  2. Understand the tense relationship between Netflix and ISPs in 2014?
  3. Characterize the impact of Covid19 on the Internet?
  4. Understand what determines the quality of experience of Internet users?
  5. Measure the consequences of network censorship on user experience?

The answers to this seemingly disparate set of questions share a common requirement – carrying experimentation at Internet-scale.

Internet-scale Experimentation is a graduate-level seminar exploring the challenges of large-scale networked system experimentation and measurements.

The other, typically avoided, side of the story is the complications that this translates into for experimentalists. Today it is virtually impossible to run a randomized controlled experiment at even fractions of the scale of many of our systems. Despite this, as we explore new ideas in these uncharted territories we are reasonably asked to provide better evidence of the effects of interventions.

The other, typically avoided, side of the story is the complications that this translates into for experimentalists. Today it is virtually impossible to run a randomized controlled experiment at even fractions of the scale of many of our systems. Despite this, as we explore new ideas in these uncharted territories we are reasonably asked to provide better evidence of the effects of interventions.

In this seminar, we will discuss ongoing projects on networked systems experimentation and their applications, in wired and wireless settings, that address some of these challenges. Throughout the quarter you will be reading, reviewing, and presenting papers and doing a research project on your own. For the research part of the course, you will have the chance to work (and expand) some existing platforms and datasets as you formulate and try to answer these and other interesting questions of Internet scale.

TOPICS

  • Introductory notes: Internet architecture, practical issues and good practices for Internet-scale experimentation
  • Experimental platforms: Experimental design, context of experiments
  • Experimental design
  • End-to-end and up-the-stack
  • Network infrastructure
  • Traffic
  • Applications and distributed services: DNS, Web, P2P, VoD, OSN, ..
  • Botnets and other maladies
  • Security and ethical issues

COURSE ORGANIZATION

The course is organized as a series of paper discussions and a single term-long project.

Most class meetings will be centered around paper presentations and discussion. You should read each paper before coming to class and be prepared to discuss it.

What you get out of school depends on what you put on it, that is particularly true of seminars. You should read all background, question and review papers before coming to class (see tags in the Calendar tab) and be prepared to discuss them. As a way of reading enforcer, before each class, you must answer (in Canvas) a short question of all required readings you are not assigned as a reviewer.

The class will run as mini-conference with you as the Program Committee member. We will use a subset of the papers included in the schedule as our submissions. Each of you will write reviews for 4-6 of them. We will discuss the papers in a PC meeting at the end of the quarter to decide what paper “should be accepted” for publication.

While there is no textbook for the course, a great book in Internet measurement is
M. Crovella and B. Krishnamurthy, Internet Measurement: Infrastructure, Traffic and Applications, Wiley 2006.

COMMUNICATION CHANNELS

There are a number of communication channels set up for this class:

  • We will use the course web site (here and Canvas) to post announcements related to the course. You should check this regularly for schedule changes, clarifications and corrections to assignments, and other course-related announcements.
  • We will use the Piazza site (see the menu option in Canvas) for general discussions, and help you identify potential projects and groups.
  •  
  • We will use Canvas or email for class discussion.
  • There is always email for questions that would be inappropriate to post on the newsgroup/discussion-board. When using email to contact the staff please start your subject line with “ISE: helpful-comment” to ensure a prompt response.

GRADING

I use a criterion-referenced method to assign your grade; in other words, your grade will be based on how well you do relative to predetermined performance levels, instead of in comparison with the rest of the class. Thus, if a test has 100 possible points, anyone with a score of 90 or greater will get an A (90-92: A-, etc.), those with scores of 80 or greater will get a B, those with scores of 70 or greater will get a C, and so on. Notice that this means that if everyone works hard and gets >90, everyone gets an A.

Total scores (between 0 and 100) will be determined, roughly, as follows:

  • Paper discussion participation (and questions) 15%
  • Paper review 20%
  • PC meeting participation 5%
  • Paper presentation 20%
  • Project 40%
Week Date Topics and Reading Due
1
01/03 Northwestern’s Monday / no class
01/05

Course introduction | Strategies

Presenter: Fabián E. Bustamante | Slides: [pdf]
Read on your own:
2
01/10

Internet Architecture

Presenter: Fabián E. Bustamante Slides: [pdf]
Form a group
01/12

Measurement tools

3
01/17

Additional probes and measurements

Project meeting with the instructor
01/19

Measurement tools

Project proposal in Canvas
4
01/24

Measurement platforms

01/26

Internet Infrastructure

5
01/31

Internet Infrastructure

02/02

Project midterm presentation

6
02/07

Topology and peering

02/09

Content distribution

7
02/14

Traffic

02/16

Applications

8
02/21

Applications

02/23

Security

9
02/28

Ads and privacy

03/02

Ads and privacy

10
03/07

Censorship

03/09 PC Meeting
FINALS 03/14 12-2PM Finals presentations (place TBD)

READING, WRITING AND PRESENTING PAPERS

READING AND ANSWERING QUESTIONS

We will be reading two or more papers per week. The papers will be first presented to the group by one or more students and then discussed in a round-table manner.

To ensure lively discussions, you will be responsible for reading the assigned papers before each class. I will post a question about each paper 24hr before class. Your answer need only be long enough to demonstrate that you understand the paper; a paragraph or two should be enough. I will check your answers to make sure they make sense and they will count for part of the paper discussion grade.

You may find the following documents useful:

WRITING REVIEWS

At one time or another, every researcher is asked to review papers submitted for publication at a conference or journal; a process known as peer review. We will work on this skill by running a mini-conference – WINE (We do INternet Experimentation) 2022.

All class members will be part of the “Programm Committee” for our mini-conference and we will consider all papers listed in our schedule as our submissions.

Each paper will receive three reviews. We will discuss all papers in a two-part PC meeting (around midterm and during final weeks) to decide what paper “should be accepted” for publication. Each paper discussion will be led by one of the reviewers (assigned by the PC chair).

You may find the following documents useful:

To enter your reviews go to WINE 2022 (Access is restricted to Northwestern).

PRESENTING

Most class meetings will be centered around a paper presentation and discussion. Each student will be responsible for presenting one of the papers in the schedule (so, if you haven’t yet, please email me three ranked options).

Giving a good presentation is hard work. Please make sure to allocate enough time to prepare for yours. There are some good pointers around that you may want to look at.

Take a look at this excellent presentation by Peyton Jones How to give a great research talk
S. Peyton Jones, J. Launchbury, J. Hughes, SIGPLAN Notices 28(11), Nov 1993.

PROJECTS

There will be one single project on which you will work throughout the quarter – this is a critical component of the course. Your goal is to propose and tackle a research problem that requires the use of Internet-scale experimentation.

Projects must be written up in a term paper (due during finals week) and teams will present their results at the end of the course in a systems class mini-conference. Projects ideas will be suggested by the instructor, but you are strongly encouraged to come up with your own ideas. Based on the topic of your project, you will be assigned a project leader to help you through the quarter (you will meet weekly with them).

This is the schedule of meetings and deliverables (this is mainly to ensure steady progress):

  • Form a group: First week.
  • Project meeting with instructor: Second week.
  • Project proposal posted in Canvas (you should read the CSP project startup or look at the Questions that any project proposal should answer — the Heilmeier “Catechism”):
    Third week
  • Midterm presentation and report. The presentation should be 4 slides long, including (1) Project name and team members, (2) Revised statement of project goals and list of new/interesting concepts to be investigated, (3) List of issues addressed and pending, and (4) Updated project milestones, highlighting accomplishments to date, and schedule for the rest of the quarter: 
    Fifth week
  • Final presentation: Last class
  • Final report: Monday of finals week.

The final report has to conform to the format used by the Workshop on Hot Topics in Networks. Reports should be no longer than 6 pages (you can use appendices or a webpage to document details). The following structure is suggested:

  • Abstract: What did you do, why is important and what are your high-level results?
  • Problem statement: What is the problem you tried to solve?
  • Prior work: How others have addressed the problem before and why that was not enough?
  • Research approach: What was your approach to solving the problem? What did you design, build? What was your experimental methodology?
  • Results: What were your results? How did you evaluate your work? What were your figures of merit?
  • Lessons learned and future work: If you knew what you know now, what would you do differently? What questions are left for future work?
  • Summary and conclusions.

RESOURCES

RIPE Atlas slides