Distributed systems consists of a collection of independent
computers that appears to its users as a single coherent system.
While their early development followed the emergence of high-speed
local area computer networks at the beginning of 1970s, the recent
availability of powerful and cheap microprocessors and pervasive
connectivity has brought the topic to everyone's attention.
In this course we will discuss some of the basic principles behind distributed systems and review some of the main paradigms used to organized them.
Throughout the quarter, you will also design, build and evaluate an interesting distributed system that addresses issues, solves problems and exploits techniques from classroom discussions and readings. Based on this project, you will write a high-quality paper with which you will go through a peer-review process similar to what you would experience if submitting it to one of the major systems conferences.
The course follows a mixed lecture-style/seminar model for class instruction, with the students and the instructor sharing some of the teaching load. Every new topic is started with an introduction of the basic problems/ideas/solutions, followed by student presentations of seminal work and current research in the topic. Although there are no homework assignments, you will be responsible for reading the material before coming to class (to ensure lively discussion) and for submitting a one-page summary of the papers covered. In addition, there will be only one exam - a take-home final given in the last week of class.
Tuesdays and Thursdays - 2:00-3:20OM, place TBD.
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 firstname.lastname@example.org. SSD is located in the basement of Scott Hall. Additionally, I am available to discuss disability-related needs during office hours or by appointment.
There will be a number of communication channels set up for this class:
Remember to check this regularly!
We will start each new section with an introduction of the basic problems/ideas/solutions (first lecture), followed by students presentations of seminal work and current research in the topic. To ensure lively discussions, you will be responsible for reading and preparing a short (typed) summary of one or two papers before each class. The summaries will be due by 11:59PM of the previous day so that the staff has time to read them and bring your comments into next class' discussion.
Each lecture will consist of a formal presentation, and is expected to go into considerable depth by focusing on some aspect of the material and treating it thoroughly. We'll be using slides that will be made available on the course site. A presentation will normally last between 30 and 40 minutes (presenters are required to meet with either me or the TA before class in order to discuss the slides). The lecture period will be followed by a broader discussion that myself or the TA will lead. During the discussion following each presentation, we'll try to understand the broader context and importance of each result. All students in the class are expected to participate.
When reading papers it is normally useful to write down a summary of about a page. Your summary should include at least:
You may find the following brochure useful: Efficient reading of papers in Science and Technology by Michael J. Hanson, 1990, revised 2000 Dylan McNamee.
Projects are a critical component of this course. Your goal is to design, build and evaluate interesting systems that address issues, solve problems and exploit techniques from classroom discussions and readings.
We will save the last part of our Thursdays' lectures to talk about your projects (brainstorming, reporting progress, discussing problems you have found, etc.).
You will write a high-quality paper on your project. The paper
has to conform to the format and submission rules used by the Workshop on Hot Topics
in Operating Systems. For tips on preparing the paper, refer
to Levin & Redell, An
evaluation of the ninth SOSP submissions -or- How (and how not) to
write a good systems paper.
The paper will be done in four steps:
Papers will be review by 2-3 people, including one or two of your classmates (assigned by the instructor) and someone from the staff.
There will be a take-home, final given in the last week of class.