Remember to check this regularly!

Administrative Information


Fabián E. Bustamante
2145 Sheridan Road, Room 345
+1 847 491-2745
Office Hours: TBD

Course Description

This a graduate level course on advanced concepts on distributed computing and operating systems. The course covers a wide array of research topics in systems, from historical perspectives to current topics in mobile, peer-to-peer and cloud computing.

Rather than trying to cover all relevant work, we each year focus on a few interesting topics. The topic for this year is "Internet systems experimentation and experimental platforms" - we will explore the challenges with large-scale system testing and investigate the strengths and weaknesses of existing and proposed experimental platforms.

The class consists of two major thrusts: reading and reviewing papers and doing a research project on your own. This quarter we will be discussing existing and proposed platforms for experimentation and measurement (e.g. PlanetLab, Emulab, SatelliteLab, Dimes) and their pros and cons (e.g. platform control, heterogeneity, dynamism), as well as some potentially useful building blocks for building new platforms (e.g. scalable consistency and consistency metrics, notification at scale, coordination).

For the research component of the course, you would have the chance to work with a few of these platforms and their datasets as you try to answer some key questions including: How resilient is the Internet in the face of natural disasters and political unrest? (see our blog) How are the Internet and its economy evolving? Can you "route" around censorship?

Location and Time

Class meetings: Mondays and Wednesdays 2:00-3:20PM (L170)

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 is located in the basement of Scott Hall. Additionally, I am available to discuss disability-related needs during office hours or by appointment.

Course Prerequisites

Communication Channels

We will use the course web site 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 Google Group EECS 495 W12 at Northwestern for class discussion. This particular channel is intended to foster communication among you, the students. If you don't have a subscription already, you can request one:



A set of research papers I will make available (see the schedule page for a full list).

Course Organization

The course is organized as a series of discussion sessions and a single term-long project.

Reading Papers

When reading papers it is normally useful to write down a summary of about a page. Your summary should include at least:

  1. Paper title and its author(s).
  2. Brief one-line summary.
  3. A paragraph of the most important ideas: perhaps a combination of their motivations, observations, interesting parts of the design, or clever parts of their implementation.
  4. A paragraph of the largest flaws; maybe an experiment was poorly designed or the main idea had a narrow scope or applicability. Being able to assess weaknesses as well as strengths is an important skill for this course and beyond.
  5. A last paragraph where you state the relevance of the ideas today, potential future research suggested by the article, etc.

You may find the following brochure useful: Efficient reading of papers in Science and Technology by Michael J. Hanson, 1990, revised 2000 Dylan McNamee.

You must submit you summaries before 10AM on the day the paper is scheduled for discussion. Please use the following subject line with your submission: "ISE Summary ,".


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 evaluate existing platforms as a researcher/user, experimentally evaluate their strenghts/weakness, and perhaps propose useful extensions or all-together new platforms to address their current limitations. If you decide to use these platforms to answer an specific research question your work (and your report) should include a component on the evaluation of the platform itself.

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):

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


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, 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:


Last modified: Fri Jan 13 06:19:09 CST 2012